New comment by kennylevinsen on void-packages repository https://github.com/void-linux/void-packages/issues/27132#issuecomment-744382307 Comment: > From the dbus trace, the difference seems to be that the logind backend calls ReleaseControl while the libseat backend does not. ReleaseControl is indeed not called on libseat shutdown, because disconnecting from the bus is supposed to have the same effect. In elogind, this is set up here: https://github.com/elogind/elogind/blob/80c3df891cbe3bcdd27ada05ee7ca938a2c051ca/src/login/logind-session.c#L1521, with on_bus_track closing the session. While we could just add the ReleaseControl call to libseat, not having working disconnect cleanup in elogind will lead to other problems, with e.g. a compositor crash still leaving you with a broken console. > How are you starting sway? It happens when starting with exec sway in .bash_profile, but now manually in the shell. Ran `LIBSEAT_BACKEND=logind sway -c sway_config -d 2>swaylog` from an empty TTY. The config is a mostly empty debug config, the env var is to force the logind backend instead of seatd. It is very peculiar if it doesn't happen when you run it manually. I have not tried to mess around with my shell init scripts.