
The 6.00 refactor of the X11 XScreenSaver daemon has so far proven to be very stable and secure! The bugs fixed in this release are relatively minor. However:
- If you are using 6.00, I strongly recommend upgrading to 6.01.
- If you are using 5.xx, I strongly, strongly recommend upgrading to 6.01.
Sadly, due to recent catastrophic decision-making on the part of certain Linux distros, I was forced to add the following section to the XScreenSaver manual:
THE WAYLAND PROBLEM
Wayland is a completely different window system that is intended to replace X11. After 13+ years of trying, some Linux distros have finally begun enabling it by default. Most deployments of it also include XWayland, which is a compatibility layer that allows some X11 programs to continue to work within a Wayland environment.
Unfortunately, XScreenSaver is not one of those programs.
If your system is running XWayland, XScreenSaver will malfunction in two ways:
- It will be unable to detect user activity in non-X11 programs. This means that while a native Wayland program is selected, XScreenSaver will think that you are idle, and may blank the screen prematurely.
- It will be unable to lock the screen. This is because X11 grabs don't work properly under XWayland, so there is no way for XScreenSaver to prevent the user from switching away from the screen locker to another application.
If you are aware of some way for XScreenSaver to reliably detect user activity under Wayland, do let me know. Maybe there is some dbus/systemd signal that I have missed?
Now that the XScreenSaver 6.x daemon has been sandboxed and massively reduced in size, it might be plausible for someone to rewrite xscreensaver.c to speak Wayland instead of X11, to run inside the Wayland compositor, and then to launch the X11 programs xscreensaver-auth and xscreensaver-gfx as needed. But that someone will not be me.
The best way to deal with Wayland is not to support it at all.
Fantastic. It's super smooth now. I assume the change in password-entry glyphs from asterisks to rectangles from beta 2 to 6.00 was intentional?
I noticed the other day that KDE recently re-introduced user switching and new sessions from a locked screen (using their screen locker). The test you have for that (kdmctl reserve) doesn't seem to be a thing anymore, and I haven't had time to look for what they're doing instead just yet. I think it's going to involve using sddm-greeter, but I haven't figured out how to make it go just yet.
If by rectangles you mean ● then yes. (I guess your fonts are not great?)
People don't say thank you for good software enough, so: thank you! This is a distinctly nicely-thought-out redesign and works perfectly as far as I can tell, despite my using the sort of crazy tangled PAM-abusive configuration which could break almost anything.
(Suffice to say that thanks to my PAM modules, some custom, everything doing authentication on my system ultimately links to libcurl, all of libcurl's deps, libperl (!) and talks over USB and HTTP to a remote system when authenticating. I keep on meaning to rewrite the libperl bit to use lua or something else less huge instead... but then I'd have to rewrite all the related scripting too.)
xscreensaver is now not the biggest program on my system that uses PAM! :) mind you, thanks to QEMU and PostgreSQL, that wasn't even close to true in 5.x either. What the hell is QEMU doing using PAM?! ... oh, VNC SASL auth. Sheesh.
ha ha ha I jinxed myself, 6.01 won't unlock on my system due to the new duplicate events detection being overactive if you type at about 1000wpm (like hardware security keys that mimic keyboards do). details in email.
This is entirely my fault. If I hadn't said a word in this thread, nothing would have gone wrong and the bug would retroactively have unexisted. (This is a genuine scientific fact courtesy of the First Law of Murphodynamics.)
I got 6.0.1 installed on gentoo and it works fine. I don't know who the maintainer is, but i'll send a message that it works fine on my dual monitor setup.
P.S. coral with a load of 99.7% uses as much CPU as windows idling in qemu. Nice.