On Fri, Jan 8, 2021 at 10:00 PM Jamie Zawinski wrote: > > > In xscreensaver (or maybe lightdm). > > Why is xscreensaver started in the lightdm session anyway? > > Is xscreensaver really usable as a per user service or should it be per > > session? > > Why is the lightdm xscreensaver instance interfering with the xscreensaver > > instance of the logged in user? > > Questions that only the xscreensaver maintainer can answer. > > > > If he thinks there is a genuine systemd issue, then I'd appreciate if it > > was reassigned back with more details. > > XScreenSaver author here. I know nothing about lightdm, and didn't write the > code attempting to integrate the two. However: > > 1) XScreenSaver should be running as the logged-in user, and terminate when > they log out. Typically this happens when the X server dies and the $DISPLAY > socket is closed, but SIGTERM works just as well. > > 2) It is also reasonable to configure things so that XScreenSaver is running > when no one is logged in (so that there is a screensaver atop the login > screen). If it is launched as root, it will setuid to "nobody" at startup, > etc. But in this case, when a user logs in, it must be killed and re-started > as that user.
It was not intentional from my side to have it run in the login window by default. We used to just ship a systemd unit file that a user could install if he wanted. Recently, in 5.44+dfsg1-2, we added the debian/*.user.service file, it was part of a debhlper clean-up from my package upload sponsor and I didn't foresee the implications. "lightdm" is a system user (UID < 1000), is possible to have systemd have it start only for "normal" users? Many users will expect xscreensaver to start automatically in all their sessions after installing the xscreensaver package. For a multi-user host the administrator expectations are different, since there might be various login managers and user desktop environments, and xscreensaver should only run in some of them. Not sure how to find the one-size-fits-all. Tormod