Systemd:锁定控制台

Systemd:锁定控制台

我有一台运行 Debian Jessie 的笔记本电脑,仅包含 Linux 控制台 - 没有安装 X 服务器。

最近dist-upgrade用 systemd 替换了 sysvinit。

现在我试图让 systemd 在计算机睡眠时锁定控制台(这之前是由/etc/pm/sleep.d. 中的脚本处理的)

我试过这个:

/etc/systemd/system/screenlock.service:

[Unit]
Description=Lock X session using slock
Before=sleep.target

[Service]
User=<username>
ExecStart=/usr/bin/vlock -ans

[Install]
WantedBy=sleep.target

进而:

systemctl enable screenlock.service

类似的解决方案在另一台装有 X 的计算机上适用于我,但在控制台中不起作用。

怎么可能?

答案1

使用 systemctl suspend 时,/usr/lib/systemd/system-sleep/ 中的脚本将在挂起|休眠前后执行,因此您可以添加一个脚本从那里启动 vlock。这里有很多细节ArchLinux Systemd 维基页面

答案2

我通过使用让它工作物理锁而不是 vlock 与/etc/systemd/system/screenlock.service这样的文件:

[Unit]
Description=Lock X session using slock
Before=sleep.target

[Service]
User=<username>
ExecStart=/usr/local/bin/physlock -d

[Install]
WantedBy=sleep.target

相关内容