Активация экрана блокировки с помощью systemd не работает
Я пытаюсь активироватьbetterlockscreen
каждый раз, когда я закрываю свой ноутбук, используя этот служебный файл systemd:
[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
Когда я бегуsystemctl status betterlockscreen@$USER
Я понимаю
○ 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.
Выполнение/usr/local/bin/betterlockscreen --lock
в командной строке блокирует экран, как и ожидалось.
Что я делаю не так?
1 ответ
У меня была та же проблема, и я попробовал несколько способов ее решения, но ни один из них не помог.
Посмотрев на это https://bbs.archlinux.org/viewtopic.php?id=279840\, я переключил свой диспетчер дисплея с sddm на ly , и теперь он работает отлично.
Здесьbetterlockscreen@$USER
конфигурация, которую я использую:
[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