5 Useful Tips for Better Tmux Terminal Sessions

tmux is a terminal multiplexer similar to GNU screen, which is used to create, access, and control multiple terminal sessions from a single console. It is useful for system administrators for running more than one command-line program at the same time.

One useful feature of tmux is that it can be detached from a screen and continue running in the background, then later reattached. In this regard, it allows SSH sessions to remain active even after disconnecting from the console.

Read Also: 10 Cool Command Line Tools for your Linux Terminal

In tmux, a session is a container for individual consoles being managed by tmux. Each session has one or more windows linked to it. And a window fills the entire screen and you may split it into several rectangular panes (either vertically or horizontally), each of which is a separate pseudo terminal.

In this article, we will explain some useful tips for better tmux sessions in Linux.

Configure Terminal to start tmux by default

To configure your terminal to automatically start tmux as default, add the following lines to your ~/.bash_profile shell startup file, just above your aliases section.

if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
    tmux attach -t default || tmux new -s default

Save the file and close it.

Then close and reopen the terminal to start using tmux by default, every time you open a terminal window.

Give Terminal Session Names

tmux gives a default name for sessions, however, sometimes, this name isn’t descriptive enough. You can give a session a name of your choice.

For example if you are working with multiple data centers, you can name sessions like “datacenter1, datacenter2 etc..”.

$ tmux new -s datacenter1
$ tmux new -s datacenter2

Switch between tmux Terminal Sessions

To easily switch between different tmux sessions, you need to enable completion of sessions names. You can use the tmux completion extension to enable it as shown:

$ cd bin
$ git clone https://github.com/srsudar/tmux-completion.git

Then source the file ~/bin/tmux-completion/tmux in your ~/.bashrc file, by appending the following line in it.

source  ~/bin/tmux-completion/tmux

Save the file and close it.

Then close and reopen your terminal window, next time you enter the following command and press the Tab key, it should show you the possible session names.

$ tmux attach -t
Show tmux Terminal Sessions
Show tmux Terminal Sessions

Use Tmuxinator Session Manager

A session manager programmatically creates tmux workspaces by running a series of commands based on a config. The most widely used tmux session manager is tmuxinator.

Tmuxinator is a utility used to create and manage tmux sessions easily. To use it effectively, you should have a working knowledge of tmux. Importantly, you should understand what windows and panes are in tmux.

Use Zoom to focus on a Single Process

Last but not least, after opening up every panes, you want to focus on a single process, you can zoom the process to fill the entire screen. Simply move to the pane you want to focus on and press Ctrl+b, z (use the same to zoom out).

When you’re finished with the zoom feature, press the same key combo to unzoom the pane.

Read Also: 20 Useful Terminal Emulators for Linux

That’s it! In this article, we have explained some useful tips for better tmux sessions in Linux. You can share more tips with us, or ask questions via the feedback form below.

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.


Leave a Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.