How to Install and Use a Terminal Multiplexer on Linux
Table of Contents
A terminal multiplexer is a powerful command-line utility that enables users to manage multiple terminal sessions within a single terminal window or remote session. Terminal multiplexers, such as tmux and GNU Screen, provide various functionalities, including the ability to split the terminal into multiple panes, switch between running programs or sessions, and detach from a session while leaving it running in the background. This allows users to resume their work later, even after disconnecting from the system. Terminal multiplexers are especially useful for system administrators, programmers, and other users who frequently work with multiple terminal-based applications or processes simultaneously, as they offer greater flexibility and control over terminal sessions. In this guide, we will show you how to install and use tmux for terminal multiplexing on your Linux system.
Steps
Step 1: Open Terminal
Open the terminal by pressing Ctrl + Alt + T on your keyboard or by searching for it in the applications menu.
Step 2: Install tmux
On Debian/Ubuntu-based systems:
sudo apt update && sudo apt install tmux
On Fedora/RPM-based systems:
sudo dnf update && sudo dnf install tmux
Step 3: Start New tmux Session
To start a new tmux session, simply run the tmux command:
tmux
This will create a new session and attach to it. By default, the session will have a single terminal window.
Step 4: Basic tmux Key Bindings
Tmux uses a special key combination, called the prefix, followed by a command key. The default prefix is Ctrl-b. Here are some basic key bindings to help you navigate tmux:
Ctrl-b c: Create a new window.
Ctrl-b n: Switch to the next window.
Ctrl-b p: Switch to the previous window.
Ctrl-b l: Switch to the last window.
Ctrl-b 0-9: Switch to a specific window by index number.
Step 5: Splitting the Terminal
Tmux allows you to split your terminal into panes, making it easy to work with multiple terminal sessions simultaneously. Use the following key bindings to create and navigate panes:
Ctrl-b %: Split the current pane vertically.
Ctrl-b “: Split the current pane horizontally.
Ctrl-b o: Switch to the next pane.
Ctrl-b ;: Switch to the last pane.
Ctrl-b x: Close the current pane.
Step 6: Detaching and Reattaching to Sessions
One of the most powerful features of tmux is the ability to detach from a session and reattach later. This is especially useful when working with remote servers or long-running processes.
To detach from the current session, use the following key binding:
Ctrl-b d: Detach from the current session.
To list all available tmux sessions, use the following command:
tmux ls
To reattach to a session, use the following command:
tmux attach -t target-session
Replace target-session with the session ID or name displayed in the tmux ls output.
Step 7: Customizing tmux
Tmux can be customized by creating a configuration file called .tmux.conf in your home directory. Use a text editor to create and edit the file:
nano ~/.tmux.conf
This example uses nano. You can use the text editor of your choice.
You can customize various settings, such as the prefix key, status bar, colors, and key bindings. For example, to change the default prefix key from Ctrl-b to Ctrl-a, add the following line to the configuration file:
set -g prefix C-a
Save the file and exit the text editor. For the changes to take effect, you need to restart your tmux sessions or run the following command in an existing session:
tmux source-file ~/.tmux.conf
Conclusion
In conclusion, tmux stands out as an indispensable tool for managing multiple terminal sessions, offering a wide range of features that cater to users who require efficient multitasking capabilities. By leveraging tmux’s ability to manage multiple terminal sessions within a single terminal window or remote session, users can easily switch between running programs, split their terminal into panes, and even detach and reattach to sessions with minimal disruption.