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?