Impedisci la disconnessione dall'uccisione di tmux Session


13

Ho notato che una disconnessione (disconnessione) dalla mia sessione utente X ucciderà qualsiasi tmuxsessione che ho avviato, anche sessioni che avevo eseguito con sudo tmuxcomandi simili. Sono sicuro che in precedenza ciò non è avvenuto, ma alcuni recenti cambiamenti hanno prodotto questo comportamento.

Come mantengo queste tmux(o screen) sessioni, anche dopo aver terminato la mia sessione X?



Che cos'è la "sessione utente X" da cui "ti disconnetti"? Il nome del processo è ...?
Tim

Anche se non penso che questo sia particolarmente utile, potresti iniziare la sessione di tmux fuori da X, cioè su tty1 come descritto qui: unix.stackexchange.com/a/167388/67833
Rolf

Risposte:


16

Questa "funzionalità" esisteva in systemdprecedenza, ma gli systemdsviluppatori hanno deciso di effettuare una modifica del valore predefinito , per consentire l'impostazione per la terminazione dei processi figlio all'uscita da una sessione.

Puoi ripristinare questa impostazione nel tuo logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Puoi anche eseguire tmuxun systemd-runwrapper come il seguente:

systemd-run --scope --user tmux

Per questi sistemi, potresti semplicemente voler alias il comando tmux(o screen):

alias tmux="systemd-run --scope --user tmux"

Discussione aggiuntiva in un thread reddit .
palswim,

3
... e in molti altri posti. Nel bug Debian a cui si riferisce, ho spiegato come si potrebbe effettivamente systemd-logindfare la cosa giusta. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP

@JdeBP Grazie per averci detto che l'invio di SIGHUP invece di SIGTERM e SIGKILL consente ai demoni di sopravvivere alla chiusura di una sessione di logind di systemd. Apprezzerei anche se potessi anche prendere in considerazione unix.stackexchange.com/questions/484344/… e unix.stackexchange.com/a/490435/674
Tim
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.