Impedir Logoff da Sessão do Killing tmux

13

Percebi que um logoff (logoff) da minha sessão de usuário do X matará qualquer tmuxsessão iniciada, mesmo as sessões com as quais eu executei sudo tmuxe comandos semelhantes. Estou certo de que isso não aconteceu anteriormente, mas algumas alterações recentes afetaram esse comportamento.

Como mantenho essas tmux(ou screen) sessões, mesmo depois de terminar minha sessão X?

palswim
fonte
se você estiver interessado, unix.stackexchange.com/questions/490243/…
Tim
O que é "sessão de usuário X" da qual você "desconecta"? O nome do processo é ...?
Tim
Enquanto eu não acho que isso é particularmente útil, você poderia começar a sessão tmux fora X, ou seja, tty1 como descrito aqui: unix.stackexchange.com/a/167388/67833
Rolf

Respostas:

16

Esse "recurso" já existia systemdanteriormente, mas os systemddesenvolvedores decidiram efetuar uma alteração no padrão , para habilitar a configuração para o término dos processos filhos ao sair de uma sessão.

Você pode reverter essa configuração em seu logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Você também pode executar tmuxcom um systemd-runwrapper como o seguinte:

systemd-run --scope --user tmux

Para esses sistemas, você pode apenas querer alias o comando tmux(ou screen):

alias tmux="systemd-run --scope --user tmux"
palswim
fonte
Discussão adicional em um tópico do reddit .
Palswim
3
... e em muitos outros lugares. No bug do Debian a que se refere, expliquei como alguém poderia realmente systemd-logindfazer a coisa certa. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP
@JdeBP Obrigado por nos dizer que o envio de SIGHUP em vez de SIGTERM e SIGKILL permite que os daemons sobrevivam ao fechamento de uma sessão de registro do sistema. Também gostaria que você considerasse unix.stackexchange.com/questions/484344/… e unix.stackexchange.com/a/490435/674
Tim