Since the number of commands that start such a process is limited to screen/tmux/nohup, these could just be shimmed to do whatever's needed to let them keep running past logout.
Course it would make more sense to have a proper API that such programs can use themselves. I have tried to develop such a shim: #!/bin/sh cmd="$(basename "$0")" # hardcoded path so this shim can be in eg ~/bin/screen and run the real program systemd-run -q --scope --user /usr/bin/$cmd "$@" Difficulties with this as it stands: * loginctl enable-linger needs to be run before the login session in which that shim is used, I think? * I could not get loginctl enable-linger as user to work when logging into the server as over ssh: Could not enable linger: The name org.freedesktop.PolicyKit1 was not provided by any .service files Running it as root to enable lingering for a user worked. -- see shy jo, adding ! Systemd.killUserProcesses to his propellor config
signature.asc
Description: PGP signature