如何在休眠前锁定屏幕?

如何在休眠前锁定屏幕?

因此,当我将笔记本电脑休眠时,屏幕不会自动锁定。为了解决这个问题,我已将其更改/etc/acpi/powerbtn.sh为包含:

su - myUsername -c "gnome-screensaver-command -l"
sudo pm-hibernate
exit 0

从命令行运行此文件时,它会按预期工作(即锁定屏幕然后休眠)。不幸的是,按下电源按钮时,它仍然只是休眠而不锁定屏幕 - 我错过了什么?

编辑:我添加了一行whoami>>~/Desktop/test.txt来验证哪个用户正在执行/etc/acpi/powerbtn.sh脚本。按下电源按钮时,文件test.txt已创建,但为空。由此我得出结论,按下电源按钮时实际上会调用该脚本。我不明白的是输出怎么whoami会是空的……

答案1

我认为gnome-screensaver-command需要知道你正在使用的 DISPLAY 变量。由于(理论上)多个用户可以在一台计算机上登录(也以图形方式登录),因此需要知道要锁定谁的显示器。第一个是“:0”。尝试

su - myUsername -c "DISPLAY=:0 gnome-screensaver-command -l"

相关内容