I'm trying out XFCE on Arch Linux, and for some reason the Lock Screen option in the session menu doesn't do anything. Neither does running xflock4 at the command line (it exits 0 with no output).

xfce4-session is running.

Do I need to install a screensaver package or something?

9 Answers 9

Do I need to install a screensaver package or something?

Yes, according to the wiki, you need to choose and install a locker. xflock4 will then activate it.

  • 1
    Actually, gnome-screensaver is installed, and it was working under Gnome. Do I need to activate it somehow?
    – cjm
    Commented Nov 19, 2013 at 20:25
  • 3
    Ok, the problem seems to be that gnome-screensaver-command exists, but gnome-screensaver is not running. xflock4 runs gnome-screensaver-command --lock, which does nothing but exits 0, so xflock4 thinks it's done.
    – cjm
    Commented Nov 19, 2013 at 20:42
  • 4
    slock is even simpler and now comes with a feature: colour!
    – jasonwryan
    Commented Nov 19, 2013 at 21:02
  • 2
    @jasonwryan: Ugh, just a gimmicky trend. Colour display is no more useful than having over 640k of RAM... Commented Apr 22, 2015 at 8:26
  • 1
    Need to run xfce4-screensaver & after installing it too. I was wondering why it didn't work after install.
    – simonzack
    Commented Feb 23, 2020 at 7:12

First install light-locker.

$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command -l"

or if you don't have the variable yet:

$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command -l" --create -t string

Old stuff:

Looks like xflock4 does support external config now. What I did is:

$ xfconf-query -c xfce4-session -p /general/LockCommand -s "dm-tool lock"

Now that command is used for locking. I guess gnome-screen-saver broke on upgrade.

This is for XFCE. If you don't have that property already, you add it by:

$ xfconf-query -c xfce4-session -p /general/LockCommand -s "dm-tool lock" --create -t string

VERY IMPORTANT: you need a screensaver running to securely lock your screen. light-locker is one choice. At the end make sure switching consoles with ctrl+alt+F1 or some other F# does not let you circumvent the lock screen. See:

  • Thanks! I'm a migrating from XFCE4 to BSPWM, now i3lock works great!
    – ignabe
    Commented Apr 29, 2019 at 0:42

Edit /usr/bin/xflock4 and append light-locker-command -l or dm-tool lock to the list.

for lock_cmd in \
"xscreensaver-command -lock" \
"gnome-screensaver-command --lock" \
"light-locker-command -l"\
"dm-tool lock"
  • 1
    This also works for Linux Mint 19, if anyone is looking for that.
    – Kev
    Commented Jul 20, 2018 at 10:04
  • i was trying to use slock, built from source. slock is used as a fallback locker by default, but if you build from source you need to add /usr/local/bin to the path up top.
    – Fred
    Commented Jan 13, 2020 at 12:58
  • Thanks, just adding a shortcut to dm-tool lock to Keyboard does the job
    – omars
    Commented Jun 14, 2023 at 13:09

Case_of's answer was close for me, but dm-tool was already listed in my /usr/local/bin/xflock4. But it tried xscreensaver-command and gnome-screensaver-command first. I moved those to the second for loop, and moved dm-tool up as the only option at first (removing the first for loop):

dm-tool lock >/dev/null 4>&1 && exit

# else run another access locking utility, if installed
for lock_cmd in \
  "xscreensaver-command -lock" \
  "gnome-screensaver-command --lock"
  "xlock -mode blank" \
    set -- $lock_cmd
    if command -v -- $1 >/dev/null 2>&1; then
        $lock_cmd >/dev/null 2>&1 &
    # turn off display backlight:
    xset dpms force off

I also mapped it to Win+L, to be like Windows.


I had this problem and resolved it when I turned on Lock Screen in Settings>Screensaver>Lock Screen

Lock Screen settings

  • u save me thx @almaceleste
    – negstek
    Commented Dec 29, 2022 at 10:51

/usr/bin/xscreensaver was not running. Fixed by opening xfce4-settings-manager, opening screen saver section, it asked to run xscreensaver daemon, clicked yes and the locking works now.


You can also use loginctl to lock the system. in order to lock the screen you can simply do :

loginctl lock-session

You can selectively lock a specific session by providing a session id

loginctl lock-session sid

you can check the documentation for more information


I just (January 2018) tried to get screen locking working under XFCE. I'm a little surprised it didn't work by default. I initially tried to install light-locker and xscreensaver but neither worked.

What worked for me was to install the xlockmore package which provided /usr/bin/xlock which seems to work great. With that command now installed, I was able to configure the xfce session to use it:

xfconf-query -c xfce4-session -p /general/LockCommand -s "xlock"

or if you don't have the variable yet:

xfconf-query -c xfce4-session -p /general/LockCommand -s "xlock" --create -t string

My /usr/bin/xflock4 script already pays attention to that LockCommand setting so there was no need to edit the script once I had the setting applied.

Xlock has a ton of different modes and settings which, by default, it randomizes through. I settled on:

xlock -mode goop -erasedelay 0

To test them use:

xlock -mode ... -nolock

Really weird, but

xscreensaver-command --lock

worked after enabled on the Screensaver preferences (GUI of Xscreensaver) the option "Lock screen after", and edit keyboard lock shortcut to the command above

obs: Ubuntu 20.04.2 LTS with xfce4 4.14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .