Our News Team @ 11 with host Snot Flickerman


Yes, I can hear you, Clem Fandango!

  • 7 Posts
  • 759 Comments
Joined 3 years ago
cake
Cake day: October 24th, 2023

help-circle












  • I have multiple monitors from different manufacturers. The setup I have completely breaks screen blanking for energy saving. I’ve spent over two years on this issue now and I’m pretty sure it’s hardware related on the monitor side. When power saving is enabled, despite two years of research, the screens power back on almost immediately, never staying off for more than a second or two. I’m poor and can’t afford new ones, so my solution is to… use a blank screensaver instead to save my screens from burn-in.


  • 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