Systemd breaks Screen, tmux, nohup

On Debian, Systemd v230 kills background processes when a user logs out. This breaks applications like GNU Screen, tmux and nohup that people use to keep programs running after they log out, usually because they were logged in on a remote machine via SSH.

Systemd contributor Christian Rebischke suggests to use systemd-run instead of POSIX standard utilities like nohup and calls the bug report a hate report. A Hacker News comment summarizes that approach: This seems to be a common story. Systemd breaks one thing, but it's okay, they have their own built-in thing..

An email by Systemd author Lennart Poettering from shows that Systemd developers have been aware of this interaction for at least five years: In order not to break screen we currently do not set kill-user=1 or kill-session=1.

Systemd behaviour was changed after a D-Bus change broke GNOME logout:

For some days I am suffering an strange behavior: when I logout, lots of processes from the gnome session are kept running. This causes problems when other users try to login in their accounts.

Systemd developer Zbigniew Jędrzejewski-Szmek suggested that tmux should depend on Systemd. tmux developer Nicholas Marriott rejected the proposal:

My concern is that we have a little function, daemon(), that does a simple little procedure to make a daemon that has worked basically unchanged across multiple platforms for maybe, what, 30 years? Now to do the same thing we need to add 150 lines of new, Linux-only code AND a library dependency.

Marriot already rejected a similar proposal in 2011:

It seems obvious - if users leave stuff running in the background they should stay running, unless the admin has prevented it or kills it. Seems pretty standard? I don't follow why this is different for systemd.