Eu defini o seguinte serviço para inicie um bloqueio de tela antes de suspender :
$ cat /etc/systemd/system/screenlock.service
[Unit]
Description=Lock X session using slock
Before=sleep.target
[Service]
User=my_user
Environment=DISPLAY=:0
ExecStart=/usr/bin/xautolock -locknow
[Install]
WantedBy=sleep.target
Ele é carregado ao inicializar:
$ systemctl status screenlock.service
● screenlock.service - Lock X session using slock
Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)
Active: inactive (dead)
e é executado em algum ponto entre o acionamento da suspensão para a RAM e a retomada do trabalho:
$ systemctl status screenlock.service
● screenlock.service - Lock X session using slock
Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)
Active: inactive (dead)
Sep 17 08:22:22 machine systemd[1]: Starting Lock X session using slock...
Sep 17 08:22:22 machine systemd[1]: Started Lock X session using slock.
Mas se ele é executado antes de suspender, por que vejo um piscar de olhos da área de trabalho antes que o bloqueio de tela seja ativado quando retomar? É Before
ou sleep.target
não definido como seria de esperar? O xautolock
ou slock
está com defeito?
(verifiquei que não há outro serviço interferindo desativando este, suspendendo, retomando e não obtendo nenhum bloqueio de tela.)