Tmux: detach otras sesiones que no son la tuya
Una de las fantáticas features de tmux es la sencillez con la que puedes conectar múltiples clientes a la misma sesión de forma simultánea. Si lo has hecho alguna vez, con terminales de diferentes tamaños, habrás visto algo tal que así:
Esto ocurre porque tmux muestra lo mismo a todos los clientes conectados a la sesión, así que rellena los espacios libres que puedan quedar. A mi me ocurre constantemente entre distintas máquinas conectadas a la misma sesión y no he encontrado de forma sencilla cómo detachear (¡sic!, ¡qué mal suena en castellano!) otras sesiones.
Así que buscando una respuesta en las páginas man de tmux la respuesta es sencilla (asumiendo C-b
como comando desencadenante de tmux): C-b D
nos daría a escoger la sesión a la que le queremos hacer detach:
Este comando es un shortcut de detach -t [target-client]
. Enjoy it!
Otra alternativa, si tienes tmux >= 1.7 puedes ejecutar tmux detach -a
para cargarte a todos los clientes directamente desde la linea de comandos, o si lo prefieres C-b :detach -a
.
Y la última, si solamente tienes una sesión y varios clientes, puedes hacer directamente tmux attach -d
para conectarte a esa sesión matando el resto de posibles clientes conectados. Esta última opción fue la que mejor funcionó en mi caso.
Así que, en resumen, he actualizado mi comando de attach a tmux -u a -d
(utf8, attach a la única sesión que hay y detach del resto de clients que pudieran estar activos).
Artículo original y pantallazos sacados de https://coderwall.com/p/vszahq.