Better alternative to XScreenSaver for gnome?

I've recently settled on ZorinOS 16.2 Core, but I also took Lite for a test drive and while I did enjoy the look & feel and the experience overall (Lite is definitely more customizable out of the box), I still prefer Core for a number of reasons.

That being said, one drawback I found in Core (minor of course but important in my case) is with the screensaver app included by default, or lack thereof, and while I did install xscreensaver as was recommended by a number of users in this forum, the version for Core has very few modifiable preferences. The most important setting missing that is included with the XFCE version is the ability to inhibit the screensaver for full screen applications.

Can anyone suggest a more modern looking, prettier (fits in well with Core's appealing desktop environment), more modifiable screensaver app (preferably another one of the most popular and widely used apps) similar to the xscreensaver version in Lite that doesn't require installing anything additional like Caffeine? Thanks in advance! :slight_smile:

I use Zorin OS Lite exclusively so I could be wrong on this. But I thought I understood that Gnome-Screensavers Presentation Mode supplies this feature.

There are many diverse media player apps. But screensaver apps? Not so much. Your choices come down to XFCE, Gnome or KDE. A KDE screensaver app may not fit your bill right off, as it uses QT instead of GTK.

And the other two - you have already described trying out both in this thread.

1 Like

I'm not familiar with that mode, but I also couldn't find any screensaver of any kind, gnome or otherwise, included with Core by default. Is "Gnome-Screensavers" an add-on app that can be installed over and above the default Core OS? Or is it actually installed by default and I'm just not seeing it and that "Presentation Mode" setting?

I'm open to any suggestions you might have that are at least in the vicinity of what I'm looking for, GTK or otherwise!

This might be a stupid question, but is there any way to install and make the Lite version of xscreensaver with all the additional modifiable preferences work in Core?

Uhhh... I am not sure if it is included by default in Core. I would think it would be but...
Try:

sudo apt install -y gnome-screensaver

And if it installs, you should be able to launch Screensaver from the app menu. From there, you can browse the settings.
If it says it is already installed, we need to try locating it.

I recommend GTK because your request was quite specific: A QT application will not easy look like the rest of the UI theme. It may not be "prettier".

Yes, it should be entirely possible since the functionality remains the same across both editions. The only major difference would be that Gnome Screensaver would rely on GDM and would have CSD's (Client Side Decorations) whereas Xscreensaver would relay on LightDM (Display Manager) and a window manager.
I have not actively done this, however... So I may be less useful for making a step-by-step guide on it. But it is probably simpler than we may think. Install it. Run it. Open settings and configure.

1 Like

Ok thanks, I'll give that a try and let you know!

If the suggestion above to try Gnome-Screensaver doesn't work out for any reason, perhaps anyone that has successfully tried this could provide a step by step guide to install and make the Lite version of xscreensaver work in Core?

I don't think installing gnome-screensaver will work:

Since Zorin 15, the Gnome desktop uses 'lockscreens' - basically static wallpapers which you select from the provided backgrounds that come in Zorin and can only be altered via Tweaks which previously could be altered in either Zorin Appearance settings or Background choices but could have been case in Zorin 12 ... thanks Gnome project (for nothing!):

1 Like

In Gnome, the screensaver is now part of Gnome Shell, not a separate package. I am not aware of a presentation mode, but you can disable it in Settings > Power by setting the screen blank option to 'never'.

As for xscreensaver, you can disable it from its settings dialog. Just choose "disable screensaver" and it won't activate.

So by the sounds of the last two posts, either I won't be able to install gnome-screensaver in Core at all anymore and/or it won't work even if I can. I'm still going to try anyway but just in case that fails, I'm still asking anyone out there if they're aware of a way to make the default ZorinOS Lite screensaver successfully install and function the same way in ZorinOS Core as well?

FYI - disabling screen blank or xscreensaver in Core are not options, I already know how to do that and it makes no sense to do that if my intended purpose is to have the screensaver always enabled while simultaneously having it only not activating during full screen applications, similar to the behaviour in Lite or Windows.

1 Like

I had no idea that Gnome Shell absorbed and integrated even more. I cannot say I am surprised it is less modular now, more like disappointed.

To install xscreensaver:

sudo apt install -y xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra

Once installed, perform the step @Topaz suggested here:

You must disable the Gnome Shell screensaver in order to use your alternate xscreensaver.
Add xscreensaver to your Startup Apps and include the -nosplash parameter.

Launch Xscreensaver from the app menu to configure.
Additional information can be found here:

Thanks for that info Aravisian, especially the link to the official xscreensaver developer's page, there's a lot of helpful info there, most importantly:

Blockquote
How do I prevent XScreenSaver from blanking the screen when I'm watching movies on my computer?

Blockquote
NOTE: some distros, notably Debian, distribute a version of XScreenSaver that is years out of date. This is bad and they should feel bad. You should use distros that give you the option of keeping your software up to date, and that understand that "stable" and "ancient" are not the same thing.

Blockquote
If you are using Debian, you should be able to find a more recent version of XScreenSaver in their so-called "unstable" packages. Scroll down, find the .deb package of version 6.06 for your architecture, and install that.

If I run the install command you provided, will it grab the outdated 5.42 package from the Software app that I'm already using and if so, how can I force the terminal to look at and install the most up to date xscreensaver, data and extra packages that debian considers "unstable"? Or do I have to download the .deb files from the debian package site instead?

Version 5.45 is the package debian currently considers "stable", but I'd still prefer the 6.06 package mentioned above, if possible of course :slight_smile:

You can find the latest version here;
https://packages.debian.org/sid/amd64/xscreensaver/download

If you just want to grab all the relevant packages:
http://http.kali.org/pool/main/x/xscreensaver/xscreensaver-gl_6.02+dfsg1-2+b1_amd64.deb

http://http.kali.org/pool/main/x/xscreensaver/xscreensaver_6.02+dfsg1-2+b1_amd64.deb

http://http.kali.org/pool/main/x/xscreensaver/xscreensaver-screensaver-webcollage_6.02+dfsg1-2+b1_amd64.deb

http://http.kali.org/pool/main/x/xscreensaver/xscreensaver-screensaver-bsod_6.02+dfsg1-2+b1_amd64.deb

http://http.kali.org/pool/main/x/xscreensaver/xscreensaver-data-extra_6.02+dfsg1-2+b1_amd64.deb

http://http.kali.org/pool/main/x/xscreensaver/xscreensaver-data_6.02+dfsg1-2+b1_amd64.deb

Save all of the above in their own folder, then open a terminal in that directory or cd into it and run:

sudo dpkg -i *.deb

If you just downloaded them into Downloads and have no other downloaded .deb packages in there, you can cd into Downloads

cd ~/Downloads

Then run sudo dpkg -i *.deb

Sorry I forgot to ask this initially in my previous post but do I need to completely remove, perhaps even purge, the previous version before installing the new packages, or can I just leave the old packages there and upgrade to the new version? And what does the dpkg command do differently then the apt install command?

It is good practice to do so when you can. So, I would.

Not much - you can use either you prefer.
Apt will just call on DPKG if you use Apt.

I downloaded all the .deb packages to the Downloads folder, opened a terminal from the Downloads folder and ran the command you provided. Unfortunately, every package failed to install. Here are all the error messages I received:

dpkg: dependency problems prevent configuration of xscreensaver:
 xscreensaver depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.9.

dpkg: error processing package xscreensaver (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of xscreensaver-data:
 xscreensaver-data depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.9.
 xscreensaver-data depends on libgdk-pixbuf-2.0-0 (>= 2.22.0); however:
  Package libgdk-pixbuf-2.0-0 is not installed.

dpkg: error processing package xscreensaver-data (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of xscreensaver-data-extra:
 xscreensaver-data-extra depends on libjpeg-turbo-progs; however:
  Package libjpeg-turbo-progs is not installed.
 xscreensaver-data-extra depends on xscreensaver-data; however:
  Package xscreensaver-data is not configured yet.
 xscreensaver-data-extra depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.9.
 xscreensaver-data-extra depends on libgdk-pixbuf-2.0-0 (>= 2.22.0); however:
  Package libgdk-pixbuf-2.0-0 is not installed.

dpkg: error processing package xscreensaver-data-extra (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of xscreensaver-gl:
 xscreensaver-gl depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.9.
 xscreensaver-gl depends on libgdk-pixbuf-2.0-0 (>= 2.22.0); however:
  Package libgdk-pixbuf-2.0-0 is not installed.

dpkg: error processing package xscreensaver-gl (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of xscreensaver-gl-extra:
 xscreensaver-gl-extra depends on xscreensaver-gl; however:
  Package xscreensaver-gl is not configured yet.
 xscreensaver-gl-extra depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.9.
 xscreensaver-gl-extra depends on libgdk-pixbuf-2.0-0 (>= 2.22.0); however:
  Package libgdk-pixbuf-2.0-0 is not installed.
 xscreensaver-gl-extra depends on libgle3 (>= 3.1.0); however:
  Package libgle3 is not installed.

dpkg: error processing package xscreensaver-gl-extra (--install):
 dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
Processing triggers for man-db (2.9.1-1) ...
Errors were encountered while processing:
 xscreensaver
 xscreensaver-data
 xscreensaver-data-extra
 xscreensaver-gl
 xscreensaver-gl-extra

sigh... Dev nonsense.
I can fix this and repackage them for you.

So let me understand this... The Developer for xscreensaver complained thus:

And then he set the Required Dependencies higher than Debian over-all, preventing Debian by his own actions from using the later version in the first place. He Caused the Problem.
HE should feel bad.

Please keep an eye out for the repackaged .deb's within 12 hours or so...

2 Likes

And, I was wrong.
The dependencies delve more deeply than just a couple of highly placed dependents: Interactions with X11 and SystemD both would inhibit how this performs.

Some background: It is not unusual that a developer will needlessly place a higher dependency by copy and paste. Keeping up with the Jones' kind of stuff.
However, in this case, the XScreensaver developer did correctly place the dependencies due to how the latest X11 and SystemD versions will interact with it.
I must point out that this is utterly irrelevant to Debians Stable packages - and Debian does not need to feel bad about it as they are using the stable Systemd and stable X11 windowing system. They match.
But the Latest version of Xscreensaver is configured to perform on Ubuntu 22.04 and above.

I just want to make sure I'm understanding you correctly! Are you saying the latest version of xscreensaver won't work with Zorin Core because it's based off a previous version of (debian) Ubuntu (pre 22.04) which uses a previous, stable, version of Systemd and X11 windowing system?

If I've got that right, does this mean the recent version can't be fixed and repackaged? And if so, what are my other options with xscreensaver if any, aside from downloading packages from a previous version?

You have it all understood correctly.

It would require a lot of checking, cross-referencing and fixing and it may require patching other vital system dependencies.
I am not the developer or maintainer of Xscreensaver - I do not mind making some minor changes, then re-wrapping it as a .deb you can install. But I would mind trying to fork the project.
If you navigate to the developers change log, you will see the the changes which relate to systemd.

Ok I understand, I appreciate all your help and for even taking the time to investigate the possibility of making changes in the first place, if only minor changes were all they required!

I guess at this point, I'll either have to go with a previous debian stable version of xscreensaver if there even is one after 5.42 that works with Zorin Core's versions of Systemd and X11 windowing system. Or, I'll have to switch back to Zorin Lite, which I know is a bit of a drastic move just to have a better functioning screensaver app, but that functionality is important to me personally so I'll have to give it some serious thought! The only issue I have with the XFCE screensaver app is the lack of screensaver theme options available with the Lite OS by default. Is there any easy way (terminal or .deb download) to install an additional package (or multiple packages) containing more theme options, perhaps one including some or all of the screensavers available for xscreensaver?

I have no idea... I have never looked into Xscreensaver themes. It's a really good question... After-all, you can download skins and themes for Unix-Like desktops, VLC, WindowBlinds, and so on.
I tried looking into this and I did not get very far. I found some stuff on Arch Linux Wiki that was suggestive without really being informative.
So... Why not ask the developer directly?

https://www.jwz.org/xscreensaver/man2.html

1 Like