Come accedo alla sessione di tmux dopo averla lasciata?


18

Sto usando tmux su EC2 AWS ma voglio vedere cosa sta succedendo in una sessione che ho creato.

Uso Ctrl+ be poi d per uscire dalla sessione.

Usando ubuntu 16.04


2
Ci hai provato tmux attach?
Stephen,

dopo aver usato tmux o al primo utilizzo?
Vitor Abella,

Normalmente ti piace, fai un po 'di cose, poi ti stacchi. Quindi si utilizza tmux attach per tornare alla sessione precedente.
Stephen,

Risposte:


22

Voglio vedere cosa sta succedendo in una sessione che ho creato.

Per quanto ne so, è possibile visualizzare l'elenco delle sessioni di tmux utilizzando

tmux list-sessions per vedere quali sessioni sono attualmente in esecuzione su tmux.

Per vedere effettivamente cosa è in esecuzione in quelle sessioni devi collegarti a quella sessione particolare, per fare ciò hai due opzioni (per esperienza).

  1. Se non stai attualmente eseguendo una sessione tmux (o non sei attualmente in sessione tmux) ti allego eseguendo tmux attach -t n(dove -t sta per sessione target e n per quel numero di sessione).

  2. Se stai eseguendo un'altra sessione di tmux, visualizzerai un errore nel tentativo di connetterti a un'altra sessione, quindi il modo più semplice per vedere cosa c'è in esecuzione è usare il tmux list-windows -acomando, quindi spostare qualsiasi riquadro / finestra in cui hai in esecuzione l'attività.

Spostamento di una finestra utilizzando tmux move-window -s n1 -t n2( -s == finestra di origine , -t == finestra di destinazione a cui verrà collegata la finestra di origine. N1 == numero della finestra che si desidera spostare e n2 è il numero della finestra in cui ci si sta spostando).

Formato I numeri n1 e n2 sono ordinati / formattati come sessionNumb:windowNumb. Quindi la prima sessione nella prima finestra sarà 0: 1 e la seconda sessione nella prima finestra sarà 1: 1.

Nota. n2 deve essere una sessione disponibile con una finestra non ancora creata. Se si sposta una finestra in una finestra già creata, verrà visualizzato un messaggio di errore "La finestra di destinazione non è vuota" e il passaggio a una sessione non creata genererà l'errore "Impossibile trovare la sessione n".

Spostando il riquadro a volte in una finestra potresti avere molti riquadri e devi solo spostare un riquadro, questo è utile se hai solo bisogno di quel riquadro per spostarti all'interno della finestra corrente (poiché non puoi spostare una finestra all'interno di un'altra finestra).

Usi una sintassi quasi simile con lo spostamento di una finestra ma lo fai tmux move-pane -s *n1* -t *n2*.

Dove n1 ora è formattato come sessionNumb:windowNumb.paneNumbe così è n2 .

Esempi

Dopo tmux list-windows -aavrai qualcosa del genere

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]

Ora, spostando la finestra "Chat" dalla prima sessione alla mia seconda sessione dovrò eseguire tmux move-window -s 0:3 -t 1:4(ricordate che non è possibile spostare la finestra in una finestra già creata).

Spostamento di un riquadro

Se hai solo bisogno di spostare un riquadro, allora devi farlo tmux list-panes -ao se conosci già la finestra da cui proviene, puoi farlotmux list-panes -t 0:1 vedere le spiegazioni sul formato sopra .

I risultati mostrano la finestra 0 della sessione 0 (-s 0: 1) con questi riquadri.

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

che non è accettabile, ma se hai bisogno di vedere più informazioni in modo da poter sapere quale riquadro hai davvero bisogno, puoi farlo

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

che visualizzerà i comandi correnti in esecuzione in ciascun riquadro.

Nel mio caso

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

Quindi, dopo aver identificato il riquadro desiderato (ad esempio quello virtuale), è necessario spostarlo.

tmux move-pane -s 0:1.1 -t 1:1.2per passare a un riquadro specifico in questo caso 2

Se hai solo un riquadro nella finestra di destinazione, puoi farlo tmux move-pane -s 0:1.1 -t 1:1. presente un solo riquadro, non alcun riquadro di destinazione e continuerà a funzionare.

Spero che questo risponda alla domanda.


0

Seguendo la risposta sopra, puoi provare:

tmux lsper ottenere il numero di sessione. E poi

tmux attach-session -t <session_number>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.