33

I use tmux when working on my desktop, and then if I want to work outside on my laptop I ssh over to the desktop and attach to the same session. Then when I close my laptop and go back inside, the session visible on my desktop is shrunken to show only the rows/columns available on my smaller laptop screen. Without opening up my laptop again, is there some way to force the laptop to detach from the session? Or at least to resize tmux to use all the available space on my desktop screen?

45

By default<prefix> D gives you a list of connected clients, and which ever you select is disconnected.

You can also use choose-client from the command line as an augment to tmux, or at tmux's command line <prefix> :

where prefix is C-b by default

4
  • Wow, it's kind of fun being able to detach myself! <prefix> D works great. Jun 22 '13 at 2:54
  • The way you say that, and the phrasing of your question makes me wonder if you know about <prefix> d, the normal way of detaching? (before you close your laptop, you could just detach normally)
    – demure
    Jun 22 '13 at 3:00
  • 2
    Yes, I know <prefix> d, but I rarely do that because if I'm getting up for lunch or to stretch, I may not know whether I'm going to resume work from my office or the back porch. :-) Jun 22 '13 at 4:55
  • In case this might be helpful for byobu users, it seems that de default tmux prefix under byobu is ctrl-a.
    – bli
    Oct 31 '19 at 9:00
13

You can also do

tmux attach -t <tmux_session_name> -d

This will detach all other attached clients, and attached this new client.

1
  • 1
    If there is only one session, tmux a -d is fine.
    – Laurenz
    Mar 3 at 12:20
3

If are not already inside a tmux session, you can detach the "other" clients like so:

tmux detach-client

from tmux man page:

detach-client [-P] [-a] [-s target-session] [-t target-client]
               (alias: detach)
         Detach the current client if bound to a key, the client specified with -t, 
or all clients currently attached to the session specified by -s.  The
         -a option kills all but the client given with -t.  If -P is given, send 
SIGHUP to the parent process of the client, typically causing it to exit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.