xfce4-screensaver - FAQ


xfce4-screensaver with SmartCard login

Issue: When using sssd with smartcard login, xfce4-screensaver (or lightdm, mate, etc…) don't ask for the PIN Code, while some services (sudo, su, gdm..) do ask.

Resolution: the user will need to update sssd.conf accordingly:

# /etc/sssd/sssd.conf
[pam]
pam_p11_allowed_services = +xfce4-screensaver

For additional details see:


Why doesn't the screensaver/lock screen activate when I attempt to lock my computer?

You are likely running an unpatched xflock4, which does not know about xfce4-screensaver.
This has been resolved upstream, but will need to be manually added until the next Xfce Session release.

All you need to do is add xfce4-screensaver-command –lock to the available lock commands.

$ cat /usr/bin/xflock4

PATH=/bin:/usr/bin:/usr/local/bin
export PATH

# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
for lock_cmd in \
    "xfce4-screensaver-command --lock" \
    "xscreensaver-command -lock" \
    "light-locker-command --lock" \
    "gnome-screensaver-command --lock"
do
    $lock_cmd >/dev/null 2>&1 && exit
done

Why doesn't my monitor turn off automatically?

Display Power Management Signaling (DPMS) has been disabled by another application. This can be confirmed and resolved using the xset command. To check if DPMS is disabled, run the below command.

$ xset -q
DPMS (Energy Star):
  Standby: 1200    Suspend: 0    Off: 3600
  DPMS is Disabled

If DPMS is disabled, it can be turned back on with xset +dpms

$ xset +dpms
$ xset -q
DPMS (Energy Star):
  Standby: 1200    Suspend: 0    Off: 3600
  DPMS is Enabled
  Monitor is On

Why doesn't my screensaver activate automatically?

Possibility A

The screensaver daemon is not currently running. You can check this by looking at the running processes, or just run xfce4-screensaver to start it up. Only one instance will run at a time, and you will be notified if it is already running.

$ xfce4-screensaver
** (xfce4-screensaver:9788): WARNING **: 01:15:42.354: screensaver already running in this session

Possibility B

Another application has disabled the X11 screensaver. This can be determined by running xdg-screensaver status.

$ xdg-screensaver status
disabled

If this command outputs “disabled”, try running the following commands to enable the screensaver.

$ xset s blank # Sets the X11 screensaver mode to "blank"
$ xset s 300   # Sets the X11 screensaver timeout to 5 minutes
$ xdg-screensaver status
enabled

Where are all the screensavers?

Xfce Screensaver uses Xscreensaver-compatible screensavers. These can usually be installed separately from the main Xscreensaver package.

If you've already installed the screensavers and they still are not available, you may need to create desktop entries for them so they can be found by Xfce Screensaver. In the future, this process will be automated by Xfce Screensaver. Meanwhile, it is not hard to make your own.

Example

By looking at /usr/share/xscreensaver/config/abstractile.xml, all of the importing information can be found.

<?xml version="1.0" encoding="ISO-8859-1"?>

<screensaver name="abstractile" _label="Abstractile">

  <command arg="-root"/>
  ...

The compatible desktop entry, installed to /usr/share/applications/screensavers/abstractile.desktop, looks like this.

[Desktop Entry]
Type=Application
Name=Abstractile
Exec=/usr/lib/xscreensaver/abstractile -root
TryExec=/usr/lib/xscreensaver/abstractile
Categories=Screensaver;

In this example, you can see that the Name key is derived from the screensaver label, Exec and TryExec both use the screensaver binary path, and the Exec key also includes the command arguments.

Back To Top


Return to xfce4-screensaver Main Documentation Page