Sto usando Gnome Terminal e tmux e vorrei che tutte le sessioni di tmux fossero chiuse quando chiudo Gnome Terminal, è possibile? Ho controllato l'articolo Arch Wiki su tmux e ho trovato del codice pertinente, ma nessuno di loro ha fatto quello che volevo. In questo momento, se chiudo e apro il terminale Gnome, ottengo la sessione che avevo, esattamente come era prima di chiudere il terminale con tutti i riquadri e i programmi in esecuzione. Quello che voglio è che tutte le sessioni vengano interrotte quando chiudo Gnome Terminal.
Risposta accettata:
Opzione 1:usa .bash_logout
Nel tuo .bash_logout
puoi aggiungere tmux kill-server
. Questo non funzionerà se non ti trovi in una shell di accesso o se la shell viene terminata con SIGHUP.
Opzione 2:usa trappole bash.
Questa opzione è probabilmente più robusta. Inserisci il seguente codice nel tuo .bash_profile
(supponendo che usi bash).
function close_tmux
{
tmux kill-server
}
trap close_tmux EXIT
Link a risorse aggiuntive sulle trappole
Alcuni retroscena su trap
dichiarazioni
Un post sul blog con un sacco di trap
esempi
Un capitolo sulle trappole da una guida agli script di Bash
Una domanda di scambio di stack Unix e Linux sulle trappole