Запрет выхода из сеанса Killing tmux


13

Я заметил, что выход (выход) из моего сеанса пользователя X уничтожит любой tmuxсеанс, который я инициировал, даже сеансы, с которыми я работал, sudo tmuxи подобные команды. Я уверен, что этого раньше не было, но некоторые недавние изменения повлияли на это поведение.

Как мне поддерживать эти tmux(или screen) сеансы, даже после того, как я закончу свой сеанс X?


если вы заинтересованы, unix.stackexchange.com/questions/490243/…
Тим

Что такое «сеанс пользователя X», с которого вы «выходите из системы»? Его имя процесса ...?
Тим

Хотя я не думаю, что это особенно удобно, вы можете начать сеанс tmux вне X, то есть на tty1, как описано здесь: unix.stackexchange.com/a/167388/67833
Рольф

Ответы:


16

Это «особенность» существовала в systemdранее, но эти systemdразработчиках решили произвести изменения в значениях по умолчанию , чтобы включить параметр для прекращения дочерних процессов при выходе из сеанса.

Вы можете восстановить эту настройку в вашем logind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

Вы также можете запустить tmuxс systemd-runоберткой, как показано ниже:

systemd-run --scope --user tmux

Для этих систем вы можете просто использовать псевдоним команды tmux(или screen):

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

Дополнительное обсуждение в ветке reddit .
Palswim

3
... и во многих других местах. В сообщении об ошибке Debian я объяснил, как на самом деле можно сделать systemd-logindправильные вещи. bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP

@JdeBP Спасибо за сообщение, что отправка SIGHUP вместо SIGTERM и SIGKILL позволяет демонам пережить закрытие сеанса systemd logind. Я также был бы признателен, если бы вы также рассмотрели unix.stackexchange.com/questions/484344/… и unix.stackexchange.com/a/490435/674
Тим
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.