我有一台旧的 Thinkpad W510。pm-suspend 可以工作,但关闭盖子然后休眠则不行。
经过一番搜索,我找到了以下解决方案。
- 创建 /etc/acpi/events/lid (没有与盖子相关的事件,即使电源管理设置也将盖子关闭设置为挂起)
内容是:
event=button/lid
action=/etc/acpi/lid.sh %e
- 然后我创建 lid.sh 如下,
echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0 pm-suspend
它的意思是,当 lid/LID/state 打开时,则退出,否则,则暂停。
但是,现在的行为很奇怪。当我合上盖子时,它确实进入挂起状态。但是当我打开盖子时,它首先从挂起状态唤醒,然后再次进入挂起状态(我必须在打开后按下电源按钮才能将其从自动挂起状态唤醒)
我尝试了其他一些方法来编写上述 lid.sh,例如,
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
/usr/sbin/pm-suspend
fi
这是完全相同的行为。
有人可以告诉我为什么它的行为像“打开盖子”->“唤醒”->“立即再次暂停”吗?
谢谢。
答案1
我遇到了类似的问题。我通过编辑文件 /etc/systemd/logind.conf 解决了这个问题
有一条线#HandleLidSwitch=暂停您可以通过删除 # 符号来取消注释该行,并将值更改为关机、忽略或暂停取决于你想要什么。
这可能不会导致您遇到的副作用。它对我有用。
我创建了一个脚本来更快地改变值。 https://github.com/andreshazard/lidBehaviourScript