Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1957658

Summary: xscreensaver clashes with xfce4-screensaver
Product: [Fedora] Fedora Reporter: René Genz <liebundartig>
Component: xfce4-sessionAssignee: Mukundan Ragavan <nonamedotc>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: apodtele, fahlmanc_ca, jwadodson, kevin, linuxgeek46, nonamedotc, pierreblavy, redhat
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: xfce4-session-4.16.0-3.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-24 16:51:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description René Genz 2021-05-06 09:09:37 UTC
Description of problem:
Simultaneous use of xscreensaver and xfce4-screensaver can result in a locked screen that does not accept password input, hence cannot be unlocked.

I thought it was a xscreensaver problem, see bug 1955993
I showed that Fedora 34 clean installations are not affected, because xscreensaver is not installed. But upgrades from Fedora 32 to Fedora 34 are affected, because xscreensaver and xfce4-screensaver are installed in parallel.

After installing the xscreensaver update, which ought to not start xscreensaver if xfce4-screensaver is installed, I noticed that xscreensaver still gets started. I found out that xfce4-session provides an xfce4-screensaver AND an xscreensaver autostart file. The latter starting xscreensaver directly:

$ ps aux | grep screen
user      360964  0.0  0.6 480252 25632 ?        Ssl  10:02   0:00 /usr/bin/xfce4-screensaver
user      361137  0.0  0.0  13484  3440 ?        S    10:02   0:00 xscreensaver -no-splash
user      361145  0.0  0.0   8364  3632 ?        S    10:02   0:00 xscreensaver-systemd
...
$ fgrep -r xscreen /etc/xdg/ | fgrep Exec
/etc/xdg/autostart/xscreensaver.desktop:Exec=xscreensaver -no-splash
/etc/xdg/autostart/xscreensaver.desktop:TryExec=xscreensaver
/etc/xdg/autostart/xscreensaver-autostart.desktop:Exec=/usr/libexec/xscreensaver-autostart
$ rpm -qf /etc/xdg/autostart/xscreensaver.desktop
xfce4-session-4.16.0-2.fc34.x86_64
[user@ittc-rg-2 ~]$ rpm -qf /etc/xdg/autostart/xscreensaver-autostart.desktop
xscreensaver-base-6.00-4.fc34.x86_64


Version-Release number of selected component (if applicable):
xfce4-session-4.16.0-2.fc34.x86_64
xscreensaver-base-6.00-4.fc34.x86_64

How reproducible:
100%

Steps to Reproduce:
1. install Fedora 32
2. upgrade to Fedora 34
3. set up xscreensaver and xfce4-screensaver idle timers

Actual results:
If xfce4-screensaver locks before xscreensaver and both are locked, you cannot unlock xfce4-screensaver. Password input is not accepted.

Expected results:
Do not start xscreensaver if xfce4-screensaver is installed. Fix problem for Fedora 32 to 34 upgrades.

Additional info:
One possible solution is to delete "/etc/xdg/autostart/xscreensaver.desktop":
https://src.fedoraproject.org/rpms/xfce4-session/blob/rawhide/f/xfce4-session.spec#_85
In the Xfce source the file is provided by:
./xscreensaver.desktop.in

Comment 1 Mukundan Ragavan 2021-05-07 00:40:46 UTC
Ah! Looks like I missed it when we moved to xfce4-screensaver. I think we should remove the xscreensaver file.

@kevin what do you think?

Comment 2 Kevin Fenzi 2021-05-07 02:26:25 UTC
+1 on that. 

The downside will be for people who want to use xscreensaver instead of xfscreensaver, but hopefully those folks can manually enable it.

Comment 3 Alexei Podtelezhnikov 2021-05-18 12:21:19 UTC
Any progress on this? The issued ERRATA do not fix the unlocking issue.

Comment 4 Mukundan Ragavan 2021-05-18 22:11:54 UTC
I will do this in the coming days. 

I was away for several days recently.

Comment 5 Pierre Blavy 2021-05-21 10:30:34 UTC
Workaround
press alt ctrl F2 
log in in terminal
killall kfce4-screensaver
press alt ctrl F1

Comment 6 Alexei Podtelezhnikov 2021-05-29 13:25:43 UTC
Should xfce4-screensaver installation trigger removal of xscreensaver-base or something?

Comment 7 Mukundan Ragavan 2021-05-29 13:27:03 UTC
*** Bug 1944011 has been marked as a duplicate of this bug. ***

Comment 8 Mukundan Ragavan 2021-05-29 13:28:39 UTC
(In reply to Alexei Podtelezhnikov from comment #6)
> Should xfce4-screensaver installation trigger removal of xscreensaver-base
> or something?

I am not sure we should do that. People can choose between the two screensavers.

I will drop the file listed in #1

Comment 9 redhat 2021-05-29 13:39:13 UTC
I was experiencing the same problem after upgrading, but did not have xcreensaver installed. It turns out my issue was that I was previously using light-locker. I was able to resolve the problem by uninstalling it.

Comment 10 LinuxGeek46@both.org 2021-05-29 14:22:04 UTC
This is good information but will there be a patch at some point in the future -- soon hopefully -- that automatically removes the xscreensaver? I can (and already have done) but many people cannot do this on their own and would not want to. 

Thanks!

Comment 11 Alexei Podtelezhnikov 2021-05-29 14:35:14 UTC
I would imagine there was a way to grab focus before locking and hold on to it... There is no point in locking if something else can grab the focus from you.

Comment 12 Mukundan Ragavan 2021-05-29 19:43:26 UTC
(In reply to LinuxGeek46 from comment #10)
> This is good information but will there be a patch at some point in the
> future -- soon hopefully -- that automatically removes the xscreensaver? I
> can (and already have done) but many people cannot do this on their own and
> would not want to. 
> 
> Thanks!

This will only be a problem in upgrades from older fedora version (older than F32 I think) - at least by default. We have carried xfce4-screensaver on xfce spin since F32 *I think*.

That said, we may be able to add conflicts with xscreensaver. I will discuss this with other maintainers.

Comment 13 Alexei Podtelezhnikov 2021-05-29 21:03:52 UTC
Such small user base for the xfce spin, just a few of us (but likely majority) upgrading. I even have screensaver and locking disabled on one of two computers. Yet, somehow you got tons of bug reports. This must be really annoying issue then, more then just "only a problem".

Comment 14 Mukundan Ragavan 2021-05-30 02:02:51 UTC
I will submit an update as mentioned above (as soon as I am able to).

Comment 15 LinuxGeek46@both.org 2021-05-31 12:18:03 UTC
I have removed xscreensaver from my systems. This does not resolve the problem. I am currently experimenting with the xfce4-screensaver enabled but disabling the lock.

I find that a restart of the display manager allows a new login but also kills running programs unless they are GNU screen sessions. I will try killing the lockscreen itself next time.

Comment 16 René Genz 2021-05-31 17:30:26 UTC
(In reply to LinuxGeek46 from comment #15)
> I have removed xscreensaver from my systems. This does not resolve the problem.

For me `dnf remove -y xscreensaver-base` followed by a reboot fixes the problem. xscreensaver is a meta-package (pulls in other packages). xscreensaver-base is the actual working bits. If xscreensaver-base was installed before xscreensaver and you remove xscreensaver, then xscreensaver-base persists.
Another workaround is given in comment 5, typo correction: `killall kfce4-screensaver` must be `killall xfce4-screensaver`.

Or you use a different screensaver, like `light-locker` in comment 9? `ps aux | grep screen` and `ps aux | grep lock` in the locked state might help to find the answer.

Comment 17 LinuxGeek46@both.org 2021-05-31 17:50:29 UTC
(In reply to René Genz from comment #16)
> (In reply to LinuxGeek46 from comment #15)
> > I have removed xscreensaver from my systems. This does not resolve the problem.
> 
> For me `dnf remove -y xscreensaver-base` followed by a reboot fixes the
> problem. xscreensaver is a meta-package (pulls in other packages).
> xscreensaver-base is the actual working bits. If xscreensaver-base was
> installed before xscreensaver and you remove xscreensaver, then
> xscreensaver-base persists.
> Another workaround is given in comment 5, typo correction: `killall
> kfce4-screensaver` must be `killall xfce4-screensaver`.
> 
> Or you use a different screensaver, like `light-locker` in comment 9? `ps
> aux | grep screen` and `ps aux | grep lock` in the locked state might help
> to find the answer.


I did do "dnf -y remove xscreensaver*" so that removed the base and other RPMS. But it all seems good after reboot. 

Thanks!

Comment 18 Alexei Podtelezhnikov 2021-06-04 13:39:58 UTC
Removing xscreensaver is not a fix but a workaround, I agree. If two programs cannot decide on who's in focus, who's in charge of lock, one of them or both are buggy. This bug has to be filed upstream. It really does not matter if a user installs them both or gets them though a system upgrade. The programs have to be fool-proof in this century; we are not in the 70s to write such sloppy code, it is 2021. Resolving these races is the user's concern in the slightest.

As a maintainer, please reproduce the bug (install xscreensaver-base for fun) and file it upstream.

Comment 19 Fedora Update System 2021-06-07 00:38:51 UTC
FEDORA-2021-d0fbc1d426 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-d0fbc1d426

Comment 20 Fedora Update System 2021-06-09 01:15:57 UTC
FEDORA-2021-d0fbc1d426 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-d0fbc1d426`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-d0fbc1d426

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 21 John Dodson 2021-06-13 06:24:17 UTC
Me too!

Comment 22 Fedora Update System 2021-06-24 16:51:23 UTC
FEDORA-2021-d0fbc1d426 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.