Evitar que el cierre de sesión mate la sesión de tmux

13

He notado que un cierre de sesión (cierre de sesión) de mi sesión de usuario X matará cualquier tmuxsesión que haya iniciado, incluso las sesiones que había ejecutado con sudo tmuxcomandos similares. Estoy seguro de que esto no sucedió anteriormente, pero algunos cambios recientes han afectado este comportamiento.

¿Cómo mantengo estas tmux(o screen) sesiones, incluso después de finalizar mi sesión X?

palswim
fuente
¿Qué es la "sesión de usuario X" de la que "cierra sesión"? Su nombre de proceso es ...?
Tim
Si bien no creo que esto sea particularmente útil, podría comenzar la sesión de tmux fuera de X, es decir, en tty1 como se describe aquí: unix.stackexchange.com/a/167388/67833
Rolf

Respuestas:

16

Esta "característica" ya existía systemdanteriormente, pero los systemddesarrolladores decidieron efectuar un cambio en el valor predeterminado , para permitir la configuración de la finalización de procesos secundarios al cerrar sesión en una sesión.

Puede revertir esta configuración en su logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

También puede ejecutar tmuxcon un systemd-runcontenedor como el siguiente:

systemd-run --scope --user tmux

Para estos sistemas, es posible que solo desee alias el comando tmux(o screen):

alias tmux="systemd-run --scope --user tmux"
palswim
fuente
Discusión adicional en un hilo de reddit .
palswim
3
... y en muchos otros lugares. En el error de Debian al que se refiere, expliqué cómo uno realmente podría hacer systemd-logindlo correcto. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP
@JdeBP Gracias por decirnos que enviar SIGHUP en lugar de SIGTERM y SIGKILL permite que los demonios sobrevivan al cierre de una sesión de inicio de sesión de systemd. También agradecería si también pudiera considerar unix.stackexchange.com/questions/484344/… y unix.stackexchange.com/a/490435/674
Tim