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

Reply via email to