DEV Community

Marcin Wosinek
Marcin Wosinek

Posted on • Edited on

How to run nested tmux session

tmux is a program that provides convenient way for getting multiple terminal sessions into one window. If you are using it a lot, quickly you can find yourself asking for more - multilevel tmux. Example of nested tmux session:

There are 2 settings necessary for this set up to work as expected. Inside ~/.tmux.conf you need:

bind-key -n c-g send-prefix
bind-key -n c-t send-keys c-g
Enter fullscreen mode Exit fullscreen mode

for prefix key access to nested windows. The default prefix is ctrl+b, so here I'm setting ctrl+g to work as prefix on the second level of tmux, and ctrl+t to work on the third level.

Thanks to configuration like this, if you use ctrl+b & c to create a new window on the first level of tmux, you will use:

  • ctrl+g & c - to create window on the second level
  • ctrl+g & c - to create window on the first

The other setting is inside your .zshrc or .profile:

unset TMUX
Enter fullscreen mode Exit fullscreen mode

If we skip this, we will end up seeing:

$ tmux new -s test
sessions should be nested with care, unset $TMUX to force
Enter fullscreen mode Exit fullscreen mode

Summary

In this short guide we have seen how to set up our tmux to support nesting with minimal configuration & nice mapping for prefix key. Let me know in the comments if you are interested in more tmux or command line tips.

Top comments (1)

Collapse
 
mtovmassian profile image
Martin Tovmassian

Thank your for this solution with prefix and key binding! I used it in the first place.
An other solution is also the builtin mechanism where you have to hit <C-b> twice (see this reddit post)