Запобігання відходу від вбивства tmux сесії


13

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

Як я можу підтримувати ці tmux(або screen) сеанси навіть після того, як я закінчую свій X сеанс?


якщо вас цікавить, unix.stackexchange.com/questions/490243/…
Тім

Що таке "X сеанс користувача", з якого ви "відходите"? Його процес називається ...?
Тім

Хоча я не думаю, що це особливо зручно, ви можете почати сесію tmux поза X, тобто на tty1, як описано тут: unix.stackexchange.com/a/167388/67833
Rolf

Відповіді:


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 дозволяє демонам пережити закриття сеансу системного входу. Буду також вдячний, якщо ви можете також розглянути unix.stackexchange.com/questions/484344/… та unix.stackexchange.com/a/490435/674
Тім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.