Por que meu serviço Before = sleep.target é executado * depois de retomar *?

1

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.)

    
por l0b0 17.09.2014 / 09:37

0 respostas