Adjuntar a diferentes ventanas en sesión

117

Tengo una sesión tmux bastante simple ejecutándose con dos ventanas abiertas; uno de ellos para la piratería local y uno de ellos para el trabajo.

Lo que me gustaría hacer es simplemente conectarme a la ventana de pirateo mientras dejo la ventana de trabajo abierta en otra terminal. Sin embargo, tan pronto como me conecto a tmux, todos los comandos se envían a ambas ventanas, por lo que si cambio a otra ventana, lo mismo ocurre en el otro terminal y viceversa.

¿Hay alguna forma de conectarme a cada ventana por separado?

Naftuli Kay
fuente

Respuestas:

153

La razón por la que ambos clientes cambian de ventana al mismo tiempo es porque ambos están conectados a la misma sesión (la "ventana actual" es un atributo de la sesión, no el cliente). Lo que puede hacer es vincular una o más ventanas en varias sesiones diferentes. Como cada sesión tiene su propia "ventana actual", puede cambiar las ventanas de forma independiente en cada sesión.

La forma más fácil de usar esta función es usar la función "sesiones agrupadas" del new-sessioncomando:

$ tmux new-session -t 'original session name or number'

Para ver las sesiones disponibles actualmente:

$ tmux list-sessions

Cada sesión en un grupo compartirá automáticamente el mismo conjunto de ventanas: abrir / vincular (o cerrar / desvincular) una ventana en una sesión del grupo automáticamente hace que la misma ventana se vincule (o desvincula) en todas las demás sesiones del grupo.

Cuando haya terminado con su sesión "extra", puede matarla con kill-session. Las ventanas en sí no se eliminarán a menos que su sesión fuera la única a la que estaban vinculadas. Alternativamente, puede desconectarse de su sesión "extra" como de costumbre (Prefijo do detach-client); si mantiene su sesión "extra" (simplemente separándola), es posible que desee darle un nombre descriptivo (Prefijo $, o rename-session) para que pueda identificarla fácilmente y volver a conectarse a ella más tarde (también puede dar la sesión "original" también tiene un nombre).


Si no desea compartir automáticamente un conjunto dinámico de ventanas, puede usar link-window(y unlink-window) para traer ventanas individuales dentro (y fuera) de su propia sesión "personal"; esto ofrece acceso no automático y de nivel inferior a la misma funcionalidad central en la que se basan las "sesiones agrupadas" (ventanas vinculadas en varias sesiones).

Chris Johnsen
fuente
12
Gread respuesta. ¿Sabes cómo evitar que 2 sesiones abiertas sincronicen sus tamaños? Si estoy creando una nueva sesión y la ventana es más pequeña, se desperdicia una gran cantidad de espacio en la pantalla en la original.
Defhlt
32
He encontrado la respuesta a mi P:setw -g aggressive-resize on
defhlt
1
Esto se admite como modo "pícaro" en wemux .
azulado