Percebi que um logoff (log out) da minha sessão de usuário X matará qualquer tmux
sessão que eu tenha iniciado, mesmo sessões com as quais executei sudo tmux
e comandos semelhantes. Tenho certeza de que isso não acontecia anteriormente, mas algumas mudanças recentes afetaram esse comportamento.
Como mantenho essas tmux
(ou screen
) sessões, mesmo depois de encerrar minha sessão X?
Esse "recurso" já existia
systemd
anteriormente, mas ossystemd
desenvolvedores decidiram efetuar uma alteração no padrão , para habilitar a configuração de encerramento de processos filho ao sair de uma sessão.Você pode reverter essa configuração em seu
logind.conf
(/etc/systemd/logind.conf
):Você também pode executar
tmux
com umsystemd-run
wrapper como o seguinte:Para esses sistemas, você pode apenas usar o alias do comando
tmux
(ou ):screen
O bit que falta pode ser encontrado em SU :
Primeiro: Mantenha a
$USER
instância SystemD do 's em execução após o logoff:Segundo: Reinicie. (De acordo com
man loginctl
isso, torna-se efetivo apenas na próxima inicialização.)Terceiro: Inicie
tmux
sob controle da$USER
instância SystemD do :É isso.
Não há necessidade de mudar
/etc/systemd/logind.conf
para isso.Observação:
root
.tmux
diretamente (não viasystemd-run
), ele será morto.Eu instalo isso
chmod +x "$HOME/bin/tmux"
para evitar edições.bashrc
que podem desaparecer se seu perfil for redefinido.Update:
/usr/bin/systemd-run --scope --user -- /bin/true
é necessário para testar quesystemd-run
é utilizável nossh
contexto enquanto o X11 está ativo em paralelo. Aqui, para executar permanentetmux
, você aparentemente precisa executá-lo a partir da sessão X11, nãossh
.Atualização 2: a reinicialização é necessária e o estado de permanência pode ser encontrado com