22

I usually connect to remote linux servers from a specific windows server (W1). On the Windows side, I use putty and on the linux side, I start tmux.

Occasionally, I have to use a different windows server (W2) and connect to the same tmux sessions.

Problem: If I had set a size for the putty windows on W1, then I can not exceed this size on W2. When I maximise the putty window, the extra space is unusable, filled with ~ characters.

Is there a way to "force" resize on W2, even if that means W1 will show only partial output ? Or a way to make W1 get disconnected from tmux session ?

43

With tmux list-client, you can list all clients connected to tmux sessions. For instance:

$ tmux list-client
/dev/pts/6: 0 [25x80 xterm] (utf8)
/dev/pts/8: 0 [25x80 xterm] (utf8)

From this point, you can choose to detach a specified client, or all clients of a specified session. Say I want to detach everyone connected to session 0:

$ tmux detach-client -s 0

Then, you can attach the session so the size will be yours.

Actually, all that can be done with tmux attach -d (the -d option force all other clients to detach).

|improve this answer|||||
  • 2
    Cool !! "-d" is exactly what I wanted !! – Prem Jul 28 '15 at 11:54
  • 2
    Thanks, in my case it was tmux detach-client -t /dev/pts/X I was looking for. – bufh Nov 10 '16 at 12:08
  • 1
    a shortcut to the verbose 'list-client' is: tmux ls – matias elgart Nov 18 '16 at 13:01
  • 3
    matias, actually "tmux ls" is a shortcut for "list-sessions" – Matt Aug 8 '17 at 13:23
7

if you are already in tmux then you can detach all other connections using :detach-client -a. It leaves your current session only. Consequently you won't have extra space is unusable, filled with ~ characters.

|improve this answer|||||
  • 1
    +1 ! This way, we do not have to exit and connect again ! – Prem Oct 18 '18 at 14:52
2

It is not necessary to detach the other sessions. Use

<c-b>:resize-window -A

to grow the window to the largest connected session.

Other useful parameters to resize-window (resizew) are:

  • -a: resize to the smallest session.
  • -U, -D, -L and -R: adjust up, down, left or right, respectively. Can be followed by a number, determining how much to grow (-D and -R) or shrink (-U and -L).
  • -x <width> and/or -y <height> set width and height to the given values.
|improve this answer|||||

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.