Allega a diverse finestre in sessione


117

Ho una sessione tmux piuttosto semplice in esecuzione con due finestre aperte; uno di loro per l'hacking locale e uno per lavoro.

Quello che mi piacerebbe fare è semplicemente collegarmi alla finestra di hacking lasciando aperta la finestra di lavoro in un altro terminale. Tuttavia, non appena mi collego a tmux, tutti i comandi vengono inviati a entrambe le finestre, quindi se passo a un'altra finestra, la stessa cosa accade nell'altro terminale e viceversa.

C'è un modo per connettermi semplicemente a ciascuna finestra separatamente?

Risposte:


153

Il motivo per cui entrambi i client cambiano Windows contemporaneamente è perché entrambi sono connessi alla stessa sessione (la "finestra corrente" è un attributo della sessione, non del client). Quello che puoi fare è collegare una o più finestre in più sessioni diverse. Poiché ogni sessione ha una propria "finestra corrente", è quindi possibile cambiare finestra in modo indipendente in ciascuna sessione.

Il modo più semplice per utilizzare questa funzione è utilizzare la funzione "sessioni raggruppate" del new-sessioncomando:

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

Per vedere le sessioni attualmente disponibili:

$ tmux list-sessions

Ogni sessione in un gruppo condividerà automaticamente lo stesso set di finestre: l'apertura / collegamento (o chiusura / scollegamento) di una finestra in una sessione del gruppo provoca automaticamente il collegamento (o lo scollegamento) della stessa finestra in tutte le altre sessioni del gruppo.

Quando hai finito con la tua sessione "extra", puoi ucciderla kill-session. Le finestre stesse non verranno eliminate a meno che la sessione non sia l'unica a cui erano collegate. In alternativa, è possibile disconnettersi dalla sessione "extra" come di consueto (prefisso do detach-client); se mantieni la tua sessione "extra" (semplicemente staccandoti da essa), potresti voler dargli un nome descrittivo (Prefisso $, o rename-session) in modo da identificarlo facilmente e riconnetterti in un secondo momento (potresti anche voler dare la sessione "originale" anche un nome).


Se non si desidera condividere automaticamente un set dinamico di finestre, è possibile utilizzare link-window(e unlink-window) per portare le singole finestre nella (e fuori) sessione della propria sessione "personale"; ciò offre un accesso non automatico e di livello inferiore alla stessa funzionalità principale su cui si basano le "sessioni raggruppate" (finestre collegate in più sessioni).


12
Risposta Gread. Sai come impedire a 2 sessioni aperte di sincronizzare le loro dimensioni? Se sto creando una nuova sessione e la finestra è più piccola, viene sprecato molto spazio sullo schermo in quello originale.
defhlt

32
Ho trovato la risposta al mio Q:setw -g aggressive-resize on
defhlt

1
Questo è supportato come modalità "canaglia" in wemux .
bluastra
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.