Set a systemd timer to start mpv in fullscreen with whatever you want as the screensaver in a loop
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Just installed xscreensaver and it works more or less. i don't think it can screenlock but haven't tested everything. Just popped up a terminal and ran xscreensaver-settings and it asked if I wanted to run the server. Picked a few savers off the list changed the times and waited. Only working on one desktop but that doesn't bother me. A little buggy, hard to get it to stop with a mouse wiggle or keypress. Have to switch desktops and kill the pid. Better than it was a year ago though. Might work better in kde than in hyprland?
Using Arch, wayland, xorg-wayland
I'm on Kubuntu 24.04 and I got xscreensaver working in Wayland.
You have to log into an X11 session first and set up xscreensaver how you want it. Once it's set up and working, log out of the X11 session and log back into the Wayland session.
Go to the System Settings and look for Autostart. Make an autostart entry for xscreensaver here. Then check the xscreensaver.desktop file that created and make sure it looks like this:
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=xscreensaver --no-splash
GenericName[en_US]=
GenericName=
Icon=xscreensaver
MimeType=
Name[en_US]=XScreenSaver
Name=XScreenSaver
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=
X-Ubuntu-Gettext-Domain=xscreensaver
As long as this is set to autostart, you will have a working xscreensaver in Kubuntu, if nothing else. I cannot confirm it working on any other systems and you absolutely do need both X11 and Wayland as sign in options for this to work. If you want to change settings you will have to switch back to X11 or I use scripts to edit the .xscreensaver configuration file.
For example I wrote two small python scripts for changing the length of time before the screen saver activates, and use cron to run them in the morning and evening. This is the one for the morning:
import os
import sys
import fileinput
# Read in the file
with open('.xscreensaver', 'r') as file:
filedata = file.read()
# Replace the target string
filedata = filedata.replace('timeout: 0:05:00', 'timeout: 1:00:00')
# Write the file out again
with open('.xscreensaver', 'w') as file:
file.write(filedata)
The morning script changes the timeout to five minutes, and the evening script changes is to an hour, making it a simple find and replace a string for both since we're just rotating numbers.
and this is what it would look like in your crontab:
0 7 * * * python3 /home/yourusername/screensavermorning.py
Full screensaver functionality is tough on Wayland, if not impossible right now. They apparently don’t know how to have fun over there.
That said, it’s worth noting that you can install dosbox, fire up win3.11 on it, and then run your nostalgic screensavers full screen from there. Afterdark and whatnot. Dosbox keeps the computer alive so the screen saver runs forever and the computer doesn’t lock - so it’s not really full functionality. But if you’re just looking for some fun - that works great. (I do love my flying toasters)
If there are any plans I don't know but what I can tell you is that there's currently no way to circumvent these "restrictions" - because there are none.
Although from a user perspective it feels like something got taken away from Wayland perspective it's the other way arou d: screensavers want rights that Wayland simply doesn't provide to any user space application.
A screensaver needs to track user interaction globally (for the timeout), overlay over existing apps, manipulate viewport properties, manage the session and similar things, depending on the details.
Depending on what you want there might be ways to hack something together though.
Then there's of course the disclaimer that although I'm not ab LLM my training data (aka experience) might be out of date :D
It sounds like something the session lock protocol can be used for
What do you mean? Screen savers have been possible for many, many years...
Until they fix being able to use screensavers -XScreenSaver at the very least- on Wayland, we’ll never have the “Year of Linux on the desktop".
My solution was to set up xscreensaver how I wanted it in X11 and then start it via CLI as a background app on system startup for wayland.
You can't manage screensaver settings from wayland, but you can force it into working.

I'm on Kubuntu 24.04