因此,当我将笔记本电脑休眠时,屏幕不会自动锁定。为了解决这个问题,我已将其更改/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"