¿Cómo accedo a la sesión de tmux después de dejarla?

19

Estoy usando tmux en EC2 AWS pero quiero ver qué sucede en una sesión que creé.

Uso Ctrl+ by luego d para salir de la sesión.

Usando ubuntu 16.04

Vitor Abella
fuente
2
¿Lo intentaste tmux attach?
Stephen
después de usar tmux o cuando lo usó por primera vez?
Vitor Abella
Normalmente luanch tmux, hace algunas cosas y luego se separa. Luego usa tmux attach para volver a esa sesión anterior.
Stephen

Respuestas:

23

Quiero ver qué sucede en una sesión que creé.

Hasta donde yo sé, puede ver su lista de sesiones de tmux usando

tmux list-sessions para ver qué sesiones se están ejecutando actualmente en tmux.

Para ver realmente qué se está ejecutando en esas sesiones, debe adjuntarlo a la sesión en particular, para ello tiene dos opciones (por experiencia).

  1. Si no está ejecutando actualmente una sesión de tmux (o no está actualmente en la sesión de tmux), adjunte ejecutando tmux attach -t n(donde -t representa la sesión de destino yn para ese número de sesión).

  2. Si está ejecutando dentro de otra sesión de tmux, recibirá un error al intentar conectarse a otra sesión, por lo que la forma más sencilla de ver qué se está ejecutando es usar el tmux list-windows -acomando y luego mover cualquier panel / ventana en la que se esté ejecutando la tarea.

Mover una ventana usando tmux move-window -s n1 -t n2( -s == ventana de origen , -t ventana de destino == donde la ventana de origen adjuntará a. N1 == número de la ventana que desea mover y n2 es el número de la ventana se está mudando a).

Formato Los números n1 y n2 están ordenados / formateados como sessionNumb:windowNumb. Entonces, la primera sesión en la primera ventana será 0: 1, y la segunda sesión en la primera ventana será 1: 1.

Nota. n2 tiene que ser una sesión disponible con una ventana aún no creada. Si mueve una ventana a una ventana ya creada, recibirá un error que dice "La ventana de destino no está vacía" y pasar a la sesión no creada dará el error "no se encuentra la sesión n".

Mover el panel a veces en una ventana puede tener muchos paneles y solo necesita mover un panel, esto es útil si solo necesita ese panel para moverse dentro de su ventana actual (ya que no puede mover una ventana dentro de otra ventana).

Utiliza una sintaxis casi similar al mover una ventana, pero lo hace tmux move-pane -s *n1* -t *n2*.

Donde n1 ahora se forma como sessionNumb:windowNumb.paneNumby también lo es n2 .

Ejemplos

Después tmux list-windows -atendrás algo como esto

0:1: Project- (4 panes) [177x48]
0:2: Mirror (3 panes) [177x48]
0:3: Chat! (1 panes) [177x48]
0:4: ssh* (1 panes) [177x48]
1:1: zsh (2 panes) [176x45]
1:2: zsh* (1 panes) [176x45]
1:3: zsh- (1 panes) [176x45]

Ahora, moviendo la ventana "Chat" de la primera sesión a mi segunda sesión, tendré que ejecutar tmux move-window -s 0:3 -t 1:4(recuerde que no puede mover la ventana a una ventana ya creada).

Mover un panel

Si solo necesita mover un panel, debe hacerlo tmux list-panes -ao si ya conoce la ventana de donde proviene, puede tmux list-panes -t 0:1 ver las explicaciones de formato anteriores .

Los resultados muestran que la ventana de sesión 0 1 (-s 0: 1) tiene estos paneles.

1: [177x34] [history 3/10000, 4119 bytes] %7 (active)
2: [88x13] [history 541/10000, 231972 bytes] %8
3: [88x13] [history 2/10000, 1541 bytes] %9

lo cual no es aceptable, pero si necesita ver más información para saber qué panel realmente necesita, puede hacerlo

tmux list-panes -F "#{pane_current_command}" -t 0:1

que mostrará los comandos actuales en ejecución en cada panel.

En mi caso

vim
zsh
python (sadly it's runnuning `ranger`)

Entonces, después de identificar qué panel desea (digamos el vim), debe moverlo.

tmux move-pane -s 0:1.1 -t 1:1.2para pasar a un panel específico en este caso 2

Si solo tiene un panel en la ventana de destino, no puede tmux move-pane -s 0:1.1 -t 1:1.hacerlo, y seguirá funcionando.

Espero que esto responda la pregunta.

ArchNoob
fuente
0

Siguiendo la respuesta anterior, puedes probar:

tmux lspara obtener el número de sesión. Y entonces

tmux attach-session -t <session_number>

ZakS
fuente