防止注销杀死 tmux 会话

pal*_*wim 18 gnu-screen tmux systemd session logout

我注意到从我的 X 用户会话注销(注销)会终止tmux我发起的任何会话,甚至是我使用sudo tmux类似命令运行的会话。我确信以前没有发生过这种情况,但最近的一些变化影响了这种行为。

即使在我结束 X 会话之后,我如何维护这些tmux(或screen)会话?

pal*_*wim 21

这种“功能”已经存在于systemd以前,但systemd开发商决定以实现预设的改变,以使在登录会话的出子进程终止的设置。

您可以在logind.conf( /etc/systemd/logind.conf) 中恢复此设置:

KillUserProcesses=no
Run Code Online (Sandbox Code Playgroud)

您还可以tmux使用systemd-run如下包装器运行:

systemd-run --scope --user tmux
Run Code Online (Sandbox Code Playgroud)

对于这些系统,您可能只想为tmux(or screen) 命令添加别名:

alias tmux="systemd-run --scope --user tmux"
Run Code Online (Sandbox Code Playgroud)

  • ......以及在许多其他地方。在所指的 Debian 错误中,我解释了如何让 `systemd-logind` 做正确的事情。https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221 (3认同)