pld*_*rov 25 arch-linux suspend systemd screen-lock
关闭盖子时锁定屏幕和暂停的最直接方法是什么?我正在使用事件挂钩/etc/systemd/logind.conf并在关闭盖子后成功挂起。但是,当涉及到锁定部分时,我迷路了 - 我是否应该启用某些屏幕保护程序服务以及如何同时触发两个事件logind.conf?
jas*_*yan 20
Arch Wiki中有几个示例。
基本上,它涉及为您的屏幕锁创建一个服务文件,并确保它连接到suspend、hibernate或sleep目标。
如果你使用像slock这样的简单屏幕锁,/etc/systemd/system/lock.service看起来像这样:
[Unit]
Description=Lock the screen on resume from suspend
[Service]
User=jason
Environment=DISPLAY=:0
ExecStart=/usr/bin/slock
[Install]
WantedBy=suspend.targetRun Code Online (Sandbox Code Playgroud)
wiki 上的其他示例有更复杂的选项,包括关闭和启动其他服务等。
小智 5
虽然 jasonwryan 的回答是正确的,但它是不完整的。为了在挂起后安全锁定,而不是在非 root 进程可能阻止内核挂起的情况下,您必须添加一个Before=实例,强制systemd在挂起之前等待对slock的ExecStart调用启动。使用sleep.target涵盖暂停、休眠和混合睡眠。
[Unit]
Description=Lock
+Before=sleep.target
[Service]
User=mustapha
Environment=DISPLAY=:0
ExecStart=/usr/local/bin/slock
[Install]
-WantedBy=suspend.target
+WantedBy=sleep.target
Run Code Online (Sandbox Code Playgroud)