注意:在尝试此操作之前,请在终端中尝试 pm-hibernate 命令。如果成功了,就可以继续进行下一步。
我通过以下方式解决了这个问题...
1. 使用 cinnamon-settings / Power 设置事件为休眠。这将设置 dconf 值 /org/gnome/settings-daemon/plugins/power/lid-close-ac-action 和 /org/gnome/settings-daemon/plugins/power/lid-close-battery-action 为所需的值。
2. 编辑 /etc/acpi/events/lm_lid 文件(使用命令 gksudo gedit /etc/acpi/events/lm_lid),并填入以下内容:
event=button/lid.*
action=/etc/acpi/lid.sh
编辑
/etc/acpi/lid.sh
(
gksudo gedit /etc/acpi/lid.sh
)。如果它是空的,请填写。
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
su - gabriel -c 'gsettings get org.cinnamon.settings-daemon.plugins.power lid-close-ac-action' | grep hibernate
if [ $? = 0 ]
then
pm-hibernate
fi
fi
否则,寻找正确的位置将代码放在上面
用你的用户名替换
gabriel
。在调用
gsettings get
之前,你必须执行
su
操作,因为这个脚本是以root身份运行的,以root身份运行
gsettings get
会返回root用户的首选项,而不是你的用户。
你可以直接调用
pm-hibernate
,但是在
cinnamon-settings
中更改选项将不再起作用。我没有关心我的笔记本是连接交流电还是电池供电,因为这是无关紧要的:无论如何,我都希望有相同的行为。也许有人想在那里添加一个
if
语句?