xscreensaver under Wayland

TechnoJunky

Well-Known Member
Joined
Dec 3, 2018
Messages
496
Reaction score
396
Credits
347
Given up on having a screensaver under Wayland? You don't have to. I accidently stubled upon a solution, or work around. You need to have xscreensaver installed and you need to create 2 files. Unfortunately you can't use the GUI configuration tool, you'll either need to use a VM for that or edit the text file manually.

The first file you need to create is an autostart file, located ~/.config/autostart, call it xscreensaver.desktop. In it, place the following text
Code:
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=xscreensaver -nosplash
GenericName[en_US]=
GenericName=
Icon=system-run
MimeType=
Name[en_US]=XscreenSaverStartup
Name=XscreenSaverStartup
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Next, either copy this file from a VM or create it. ~/.xscreensaver and place the below text in it.
Code:
# XScreenSaver Preferences File
# Written by xscreensaver-demo 5.45 on Sun Jan  8 12:28:22 2023.
# https://www.jwz.org/xscreensaver/

timeout:    0:15:00
cycle:        0:03:00
lock:        False
lockTimeout:    0:03:00
passwdTimeout:    0:00:30
visualID:    default
installColormap:    True
verbose:    False
timestamp:    True
splash:        True
splashDuration:    0:00:05
demoCommand:    xscreensaver-demo
prefsCommand:    xscreensaver-demo -prefs
nice:        10
memoryLimit:    0
fade:        False
unfade:        False
fadeSeconds:    0:00:03
fadeTicks:    20
captureStderr:    True
ignoreUninstalledPrograms:False
font:        *-medium-r-*-140-*-m-*
dpmsEnabled:    False
dpmsQuickOff:    False
dpmsStandby:    0:30:00
dpmsSuspend:    0:30:00
dpmsOff:    0:30:00
grabDesktopImages:  False
grabVideoFrames:    False
chooseRandomImages: False
imageDirectory:    

mode:        one
selected:    176

textMode:    url
textLiteral:    XScreenSaver
textFile:    
textProgram:    fortune
textURL:    http://fridge.ubuntu.com/node/feed

programs:                                      \
                maze -root                    \n\
  GL:                 superquadrics -root                \n\
                attraction -root                \n\
-                blitspin -root                    \n\
                greynetic -root                    \n\
                helix -root                    \n\
                hopalong -root                    \n\
                imsmap -root                    \n\
                noseguy -root                    \n\
-                pyro -root                    \n\
                qix -root                    \n\
-                rocks -root                    \n\
                rorschach -root                    \n\
-                decayscreen -root                \n\
-                flame -root                    \n\
                halo -root                    \n\
-                slidescreen -root                \n\
-                pedal -root                    \n\
                bouboule -root                    \n\
                braid -root                    \n\
-                coral -root                    \n\
-                deco -root                    \n\
-                drift -root                    \n\
-                fadeplot -root                    \n\
                galaxy -root                    \n\
                goop -root                    \n\
                grav -root                    \n\
                ifs -root                    \n\
-                unicode -root                    \n\
- GL:                 jigsaw -root                    \n\
                julia -root                    \n\
-                kaleidescope -root                \n\
  GL:                 moebius -root                    \n\
                moire -root                    \n\
  GL:                 morph3d -root                    \n\
                mountain -root                    \n\
                munch -root                    \n\
                penrose -root                    \n\
  GL:                 pipes -root                    \n\
                rd-bomb -root                    \n\
  GL:                 rubik -root                    \n\
-                sierpinski -root                \n\
-                slip -root                    \n\
  GL:                 sproingies -root                \n\
-                starfish -root                    \n\
                strange -root                    \n\
                swirl -root                    \n\
                triangle -root                    \n\
                xjack -root                    \n\
                xlyap -root                    \n\
  GL:                 atlantis -root                    \n\
                bsod -root                    \n\
  GL:                 bubble3d -root                    \n\
  GL:                 cage -root                    \n\
-                crystal -root                    \n\
                cynosure -root                    \n\
                discrete -root                    \n\
-                distort -root -reflect                \n\
                epicycle -root                    \n\
                flow -root                    \n\
  GL:                 glplanet -root                    \n\
                interference -root                \n\
                kumppa -root                    \n\
  GL:                 lament -root                    \n\
                moire2 -root                    \n\
  GL:                 sonar -root                    \n\
  GL:                 stairs -root                    \n\
                truchet -root                    \n\
-                vidwhacker -root                \n\
                blaster -root                    \n\
                bumps -root                    \n\
-                ccurve -root                    \n\
                compass -root                    \n\
                deluxe -root                    \n\
                demon -root                    \n\
  GL:                 extrusion -root                    \n\
-                loop -root                    \n\
                penetrate -root                    \n\
                petri -root                    \n\
-                phosphor -root                    \n\
  GL:                 pulsar -root                    \n\
                ripples -root                    \n\
                shadebobs -root                    \n\
  GL:                 sierpinski3d -root                \n\
-                spotlight -root                    \n\
                squiral -root                    \n\
                wander -root                    \n\
-                webcollage -root                \n\
-                xflame -root                    \n\
                xmatrix -root                    \n\
- GL:                 gflux -root                    \n\
-                nerverot -root                    \n\
                xrayswarm -root                    \n\
                xspirograph -root                \n\
  GL:                 circuit -root                    \n\
  GL:                 dangerball -root                \n\
  GL:                 engine -root                    \n\
- GL:                 flipscreen3d -root                \n\
  GL:                 gltext -root                    \n\
  GL:                 menger -root                    \n\
  GL:                 molecule -root                    \n\
-                rotzoomer -root                    \n\
                speedmine -root                    \n\
- GL:                 starwars -root                    \n\
  GL:                 stonerview -root                \n\
                vermiculate -root                \n\
                whirlwindwarp -root                \n\
-                zoom -root                    \n\
                anemone -root                    \n\
-                apollonian -root                \n\
  GL:                 boxed -root                    \n\
  GL:                 cubenetic -root                    \n\
  GL:                 endgame -root                    \n\
-                euler2d -root                    \n\
                fluidballs -root                \n\
  GL:                 flurry -root                    \n\
- GL:                 glblur -root                    \n\
  GL:                 glsnake -root                    \n\
                halftone -root                    \n\
  GL:                 juggler3d -root                    \n\
  GL:                 lavalite -root                    \n\
-                polyominoes -root                \n\
  GL:                 queens -root                    \n\
  GL:                 sballs -root                    \n\
  GL:                 spheremonics -root                \n\
-                thornbird -root                    \n\
                twang -root                    \n\
- GL:                 antspotlight -root                \n\
                apple2 -root                    \n\
  GL:                 atunnel -root                    \n\
-                barcode -root                    \n\
  GL:                 blinkbox -root                    \n\
  GL:                 blocktube -root                    \n\
  GL:                 bouncingcow -root                \n\
-                cloudlife -root                    \n\
  GL:                 cubestorm -root                    \n\
                eruption -root                    \n\
  GL:                 flipflop -root                    \n\
  GL:                 flyingtoasters -root                \n\
-                fontglide -root                    \n\
  GL:                 gleidescope -root                \n\
  GL:                 glknots -root                    \n\
  GL:                 glmatrix -root                    \n\
- GL:                 glslideshow -root                \n\
  GL:                 hypertorus -root                \n\
  GL:                 jigglypuff -root                \n\
                metaballs -root                    \n\
  GL:                 mirrorblob -root                \n\
                piecewise -root                    \n\
  GL:                 polytopes -root                    \n\
                pong -root                    \n\
                popsquares -root                \n\
  GL:                 surfaces -root                    \n\
                xanalogtv -root                    \n\
                abstractile -root                \n\
-                anemotaxis -root                \n\
  GL:                 antinspect -root                \n\
                fireworkx -root                    \n\
-                fuzzyflakes -root                \n\
                interaggregate -root                \n\
                intermomentary -root                \n\
-                memscroller -root                \n\
  GL:                 noof -root                    \n\
                pacman -root                    \n\
  GL:                 pinion -root                    \n\
  GL:                 polyhedra -root                    \n\
- GL:                 providence -root                \n\
                substrate -root                    \n\
                wormhole -root                    \n\
  GL:                 antmaze -root                    \n\
- GL:                 boing -root                    \n\
                boxfit -root                    \n\
- GL:                 carousel -root                    \n\
                celtic -root                    \n\
  GL:                 crackberg -root                    \n\
  GL:                 cube21 -root                    \n\
                fiberlamp -root                    \n\
- GL:                 fliptext -root                    \n\
  GL:                 glhanoi -root                    \n\
  GL:                 tangram -root                    \n\
  GL:                 timetunnel -root -no-logo            \n\
  GL:                 glschool -root                    \n\
  GL:                 topblock -root                    \n\
  GL:                 cubicgrid -root                    \n\
                cwaves -root                    \n\
  GL:                 gears -root                    \n\
  GL:                 glcells -root                    \n\
  GL:                 lockward -root                    \n\
                m6502 -root                    \n\
  GL:                 moebiusgears -root                \n\
- GL:                 voronoi -root                    \n\
  GL:                 hypnowheel -root                \n\
  GL:                 klein -root                    \n\
-                lcdscrub -root                    \n\
- GL:                 photopile -root                    \n\
- GL:                 skytentacles -root                \n\
  GL:                 rubikblocks -root                \n\
  GL:                 companioncube -root                \n\
  GL:                 hilbert -root                    \n\
  GL:                 tronbit -root                    \n\
  GL:                 geodesic -root                    \n\
                hexadrop -root                    \n\
  GL:                 kaleidocycle -root                \n\
- GL:                 quasicrystal -root                \n\
  GL:                 unknownpleasures -root                \n\
                binaryring -root                \n\
  GL:                 cityflow -root                    \n\
  GL:                 geodesicgears -root                \n\
  GL:                 projectiveplane -root                \n\
  GL:                 romanboy -root                    \n\
-                tessellimage -root                \n\
  GL:                 winduprobot -root                \n\
- GL:                 splitflap -root                    \n\
-                testx11 -root                    \n\
  GL:                 electricsheep -root 1                \n\
- GL:                 cubestack -root                    \n\
- GL:                 cubetwist -root                    \n\
- GL:                 discoball -root                    \n\
- GL:                 dymaxionmap -root                \n\
- GL:                 energystream -root                \n\
- GL:                 hexstrut -root                    \n\
- GL:                 hydrostat -root                    \n\
- GL:                 raverhoop -root                    \n\
- GL:                 splodesic -root                    \n\
- GL:                 unicrud -root                    \n\
- GL:                 esper -root                    \n\
- GL:                 vigilance -root                    \n\
- GL:                 crumbler -root                    \n\
                filmleader -root                \n\
                glitchpeg -root                    \n\
- GL:                 handsy -root                    \n\
- GL:                 maze3d -root                    \n\
- GL:                 peepers -root                    \n\
- GL:                 razzledazzle -root                \n\
                vfeedback -root                    \n\
                scooter -root                    \n\
- GL:                 deepstars -root                    \n\
- GL:                 gravitywell -root                \n\
- GL:                 beats -root                    \n\
- GL:                 covid19 -root                    \n\
- GL:                 etruscanvenus -root                \n\
- GL:                 gibson -root                    \n\
- GL:                 headroom -root                    \n\
- GL:                 sphereeversion -root                \n\


pointerPollTime:    0:00:05
pointerHysteresis:  10
windowCreationTimeout:0:00:30
initialDelay:    0:00:00
GetViewPortIsFullOfLies:False
procInterrupts:    True
xinputExtensionDev: False
overlayStderr:    True
authWarningSlack:   20

Looking at this file in Kate or any text editor with line numbers, you 'll see that on line 38 it shows 'selected: 176'. This is the secreensaver I am using. If look futher down at line 46, you'll see 'programs'. This is basically a header for all the screensavers. The screen saver on line 47 is the first one. If you take 47 and add 176 (my screensaver, you get 223. If you look at line 223 you'll see 'fiberlamp', this is my screensaver.

This isn't a perfect solution. I have my timeout set for 15 minutes and what I've found is even though I'm using the computer, the screensaver runs every 15 minutes and have to move the mouse to clear it, yes even though I'm actively using the mouse and keyboard.
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Linux.org Hosting Donations
Consider making a donation

Staff online

Members online


Top