Bug 1955876 - xfce4 screensaver doesn't offer switch user option without restart
Summary: xfce4 screensaver doesn't offer switch user option without restart
Alias: None
Product: Fedora
Classification: Fedora
Component: xfce4-screensaver
Version: 34
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Mukundan Ragavan
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2021-05-01 06:02 UTC by Eric L.
Modified: 2021-05-06 08:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Type: Bug

Attachments (Terms of Use)

Description Eric L. 2021-05-01 06:02:43 UTC
Description of problem:
after the upgrade to F34 I was impacted by https://bugzilla.redhat.com/show_bug.cgi?id=1944011 so I removed all the parallel screensavers/lockers and kept only xfce4-screensaver. The issue is now that the switch user button doesn't show unless I kill the auto-started xfce4-screensaver process and start it again (with Alt+F2 for example, but I can also start it from a terminal).

The severity is high because the laptop is used by multiple persons and it's not acceptable to have it locked by a single individual in times of homeschooling and homeworking (and the workaround isn't usable by the rest of the family).

Version-Release number of selected component (if applicable):
$ rpm -qa | grep -e saver -e locker

How reproducible:
Always, I rebooted a few times to make it work, but same result

Steps to Reproduce:
1. make sure xfce4-screensaver-preferences shows the "User Switching" option on
2. make sure xfce4-screensaver is autostarted
3. reboot
4. lock -> no switch user button
5. unlock
6. kill/stop xfce4-screensaver
7. Alt+F2 and start xfce4-screensaver
8. lock -> switch user button is available (and works)

Actual results:
See above

Expected results:
Obviously, the switch user button should be there from the beginning

Additional info:
The issue might already have been in F33 because I think, I was transparently using xscreensaver instead of xfce4-screensaver.
I couldn't find any relevant error message in dmesg, journalctl [--user] or in ~/.xsession-errors.

Comment 1 Mukundan Ragavan 2021-05-01 12:27:18 UTC
Thanks for the thorough bug report. I have filed this upstream and push a fix as soon as one is available.


Comment 2 Mukundan Ragavan 2021-05-03 22:10:25 UTC
Upstream issue - 


Comment 3 Tomasz Ostrowski 2021-05-06 08:12:47 UTC
The xfce4-screensaver package sets both autostart desktop file and dbus service for some reason:

$ rpm -ql xfce4-screensaver | egrep 'dbus|autostart'

But when started with dbus-services it lacks required environment variables, so it ignores user settings.

So a work-around for this problem would be to disable /usr/share/dbus-1/services/org.xfce.ScreenSaver.service file, as when started with it the process lacks required environment variables:

sudo mv /usr/share/dbus-1/services/org.xfce.ScreenSaver.service /usr/share/dbus-1/services/org.xfce.ScreenSaver.service.orig
# And to prevent future upgrade or reinstall of xfce4-screensaver package from restoring the file
sudo tee /usr/share/dbus-1/services/org.xfce.ScreenSaver.service < /dev/null

Maybe the package should install /etc/xdg/autostart/xfce4-screensaver.desktop only and remove /usr/share/dbus-1/services/org.xfce.ScreenSaver.service. I suppose there's no need for both.

Note You need to log in before you can comment on or make changes to this bug.