1
with wayland, i have really missed xscreensaver. I have kde locker running a plugin for screensaver right now. While it works, i miss xscreensaver. I have been trying to figure out how to get a locker that works and have xscreensaver run to. Xscreensaver works 90% in wayland now. just no locking. I have tried a few things like the application launcher plugin for plasma. But xscreensaver wont run that way. I could run xscreensaver without locker since noone touches my pc at home. Just prefer the warm and fuzzy.
Any Ideas? I know this is very low priority, but i miss it. I still have fondness of After Dark screensavers (yes i am that old).
I miss them, too. Especially that one module with all the computer crashes ![]()
A blast from the past. I can’t remember the last time I used a screensaver. Back in the fax machine das, maybe? ![]()
Have you looked into xwayland-satellite? Not something I know much about, but basically it allows a rootless XWayland session (i.e. run at the desktop level, I think…)
just set the toasters as your desktop or terminal background
DoctorX 6
i made some progress with the application plugin… however when i try to run xscreensaver-command -activate, i get no permission for DISPLAY=:0 …. if i could solve that, i could use plasma locker with xscreensaver.
DoctorX 7
I really suck at coding. I cant code myself out of a paper bag. i created the following script. It replicates xscreensaver-command -activate in the most basic level. You can use this script in the application plugin for plasma lock screen. It requires you to have xscreensaver installed. With this, i basically have randomized hacks that change every 10 mins by default.
Feel free to use this. If you improve on it, please share.
File: ./xwayland-xscreensaver.bash
#!/bin/bash
# Configuration
HACK_DIR="/usr/lib/xscreensaver"
INTERVAL=600 # 10 minutes
# Add any hacks you want to skip here, separated by a pipe |
BLACKLIST=" "
# 1. Build the filtered list
HACKS=($(find "$HACK_DIR" -maxdepth 1 -executable -type f -not -name "xscreensaver*" | grep -vE "$BLACKLIST"))
if [ ${#HACKS[@]} -eq 0 ]; then
echo "No valid hacks found (check your blacklist or directory)."
exit 1
fi
# Cleanup: Kill the entire process group when the script stops
trap 'kill -TERM -$$ 2>/dev/null' EXIT
while true; do
# 2. Pick a random hack
RANDOM_HACK=${HACKS[$RANDOM % ${#HACKS[@]}]}
# 3. Launch in a new session so we can kill children reliably
setsid xwayland-run -- "$RANDOM_HACK" --root &
RUN_PID=$!
# 4. Timer loop (allows for instant-exit if process dies)
for ((i=0; i<$INTERVAL; i++)); do
if ! kill -0 $RUN_PID 2>/dev/null; then
break
fi
sleep 1
done
# 5. The "Nuke" - Kill the group (wrapper + Xwayland + hack)
kill -TERM -$RUN_PID 2>/dev/null
wait $RUN_PID 2>/dev/null
# Tiny breather to clear the VRAM buffer
sleep 0.5
done
Edit: Apparently this doesnt have graphics accel. Not sure how to get around that.
Please excuse my ignorance, but I couldn’t quite follow. Could you tell us what exactly you did and what is the outcome? So far, I understood you
- are on KDE Plasma Wayland
- installed
xscreensaver
but then it gets foggy. Apparently, there is some “application launcher plugin for plasma”? What is that? How did you get Plasma to automatically run xscreensaver after a certain amount of idle-time?
And that script of yours, it seems to
- repeatedly pick a random executable “hack” from
/usr/lib/xscreensaver - run it in its own session under
xwayland-run - lets it run for a fixed interval
- then forcefully stop the whole process group and start again
But how did you get it to act as a screensaver? And how would it stop when you wiggle the mouse? I guess that has something to do with that “application launcher plugin for plasma” that I didn’t get in the first place ![]()
DoctorX 9
Please excuse my ignorance, but I couldn’t quite follow. Could you tell us what exactly you did and what is the outcome? So far, I understood you
are on KDE Plasma Wayland
installed
xscreensaverbut then it gets foggy. Apparently, there is some “application launcher plugin for plasma”? What is that? How did you get Plasma to automatically run
xscreensaverafter a certain amount of idle-time?
i used the plasma locker. There is a plugin called Application that you add from the kde store that allows you to run scripts in the desktop or in this case, when the screen locks. The timer is the plasma locker.
And that script of yours, it seems to
repeatedly pick a random executable “hack” from
/usr/lib/xscreensaverrun it in its own session under
xwayland-runlets it run for a fixed interval
then forcefully stop the whole process group and start again
But how did you get it to act as a screensaver? And how would it stop when you wiggle the mouse? I guess that has something to do with that “application launcher plugin for plasma” that I didn’t get in the first place
Again, the application plugin in plasma locker. When you wiggle the mouse, the locker prompts you for the password. Basically, each hack can be ran standalone. What this script does is just randomly run a hack and after a time that you specify at the top of the script, it kills the entire fork tree and starts a new one.
That help?
Perfectly! I kinda missed the plasma locker part
Thanks for the clarification, I’ll check that out as soon as I find the time, 'cause I’d really love to have that BSOD module as screensaver again ![]()
DoctorX 11
if you want just the one… you could just run xwaylan-run – /usr/lib/xscreensaver/bsod –root in the application plugin. you dont need the script… however i am a sucker for all of them. now to only figure out why i dont have gpu accel doing this.




















