为什么我的 Before=sleep.target 服务*在恢复后*运行?

l0b*_*0b0 5 suspend systemd xautolock

我定义了以下服务在挂起之前启动屏幕锁定器

\n\n
$ cat /etc/systemd/system/screenlock.service\n[Unit]\nDescription=Lock X session using slock\nBefore=sleep.target\n\n[Service]\nUser=my_user\nEnvironment=DISPLAY=:0\nExecStart=/usr/bin/xautolock -locknow\n\n[Install]\nWantedBy=sleep.target\n
Run Code Online (Sandbox Code Playgroud)\n\n

启动时加载:

\n\n
$ systemctl status screenlock.service \n\xe2\x97\x8f screenlock.service - Lock X session using slock\n   Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)\n   Active: inactive (dead)\n
Run Code Online (Sandbox Code Playgroud)\n\n

它在触发 RAM 挂起和恢复工作之间的某个时刻运行:

\n\n
$ systemctl status screenlock.service \n\xe2\x97\x8f screenlock.service - Lock X session using slock\n   Loaded: loaded (/etc/systemd/system/screenlock.service; enabled)\n   Active: inactive (dead)\n\nSep 17 08:22:22 machine systemd[1]: Starting Lock X session using slock...\nSep 17 08:22:22 machine systemd[1]: Started Lock X session using slock.\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,如果它在挂起之前运行,为什么我在恢复时会在屏幕锁打开之前看到桌面闪烁?是否Beforesleep.target定义为人们所期望的?是xautolock或有slock故障吗?

\n\n

(我已经通过禁用此服务、暂停、恢复以及不获取屏幕锁来验证没有其他服务干扰。)

\n