1

I'm trying to activate the betterlockscreen every time I close my laptop using this systemd service file:

[Unit]
Description = Lock screen when going to sleep/suspend
Before=sleep.target
Before=suspend.target

[Service] User=%I Type=simple Environment=DISPLAY=:0 ExecStart=/usr/local/bin/betterlockscreen --lock TimeoutSec=infinity ExecStartPost=/usr/bin/sleep 1

[Install] WantedBy=sleep.target WantedBy=suspend.target

When I run systemctl status betterlockscreen@$USER I see

○ betterlockscreen@tom.service - Lock screen when going to sleep/suspend
     Loaded: loaded (/lib/systemd/system/betterlockscreen@.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Wed 2022-09-21 20:49:58 CEST; 3h 28min ago
   Main PID: 168557 (code=exited, status=0/SUCCESS)
        CPU: 763ms

Sep 21 20:33:18 tom-ThinkPad-X1-Carbon-Gen-9 systemd[1]: Starting Lock screen when going to sleep/suspend... Sep 21 20:33:18 tom-ThinkPad-X1-Carbon-Gen-9 betterlockscreen[168557]: [B] Betterlockscreen Sep 21 20:33:18 tom-ThinkPad-X1-Carbon-Gen-9 betterlockscreen[168557]: [*] Running prelock... Sep 21 20:33:18 tom-ThinkPad-X1-Carbon-Gen-9 betterlockscreen[168557]: [*] Locking screen... (FAILSAFE MODE) Sep 21 20:33:18 tom-ThinkPad-X1-Carbon-Gen-9 betterlockscreen[168557]: [*] Running postlock... Sep 21 20:49:58 tom-ThinkPad-X1-Carbon-Gen-9 systemd[1]: betterlockscreen@tom.service: Deactivated successfully. Sep 21 20:49:58 tom-ThinkPad-X1-Carbon-Gen-9 systemd[1]: Started Lock screen when going to sleep/suspend.

Executing /usr/local/bin/betterlockscreen --lock in the command line locks the screen as expected.

What am I doing wrong?

Tom Dörr
  • 191

1 Answers1

1

I had the same issue and I tried multiple ways to fix it but none seem to work.
After taking a look at this https://bbs.archlinux.org/viewtopic.php?id=279840\ I switched my display manager from sddm to ly and now it works perfectly.

Here is the betterlockscreen@$USER config i use:

[Unit]
Description=Lock screen when going to sleep/suspend
Before=sleep.target
Before=suspend.target

[Service] User=%I Type=simple Environment=DISPLAY=:0 ExecStart=/usr/bin/betterlockscreen --lock TimeoutSec=infinity ExecStartPost=/usr/bin/sleep 1

[Install] WantedBy=sleep.target WantedBy=suspend.target

Umair
  • 11