Ubuntu 在盖子关闭时不会进入休眠状态

Ubuntu 在盖子关闭时不会进入休眠状态

我的笔记本电脑使用的是 Ubuntu 12.04。我尝试配置在盖子关闭时休眠。但是,没有用。我按照以下步骤解决了这个问题:

  • 我启用/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • 系统设置-电源
  • 我使用了 dconf 编辑器。

当我关闭盖子时,休眠​​模式反而暂停。我尝试运行sudo pm-hibernate,运行正常。

有什么建议吗?

答案1

笔记:在尝试此操作之前,先在 shell 中尝试 pm-hibernate。如果有效,请继续。

我通过以下方式修复了它......

  • 使用 cinnamon-settings / Power 将事件设置为 Hibernate。这会将 dconf 值设置/org/gnome/settings-daemon/plugins/power/lid-close-ac-action/org/gnome/settings-daemon/plugins/power/lid-close-battery-action您想要的值

  • 编辑/etc/acpi/events/lm_lid( gksudo gedit /etc/acpi/events/lm_lid) 并填充

event=button/lid.*
action=/etc/acpi/lid.sh
  • 编辑/etc/acpi/lid.shgksudo 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为您的用户名。您必须su在调用之前执行此操作,gsettings get因为此脚本以 root 身份运行,而gsettings get以 root 身份运行将返回 root 的首选项,而不是您的用户。

您可以直接拨打电话pm-hibernate,但随后更改选项cinnamon-settings将不再起作用。我不在乎检查我的笔记本电脑是使用交流电还是电池,因为这无关紧要:无论如何我都希望始终保持相同的行为。也许有人想if在那里添加一个?

答案2

以下是修复该问题的方法。

在您的文件中:

/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

确保其中有两个设置

[Enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes

原因如下。在此文件中:

/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

它将两个选项设置为“否”

您创建的文件应在 /var/lib 中的文件之后执行,因此它应优先于 /var/lib 中的文件(经过测试,确实如此)。您可以阅读相关信息这里在“评估顺序”部分下。当您的“upower”选项设置为“是”时,您可以从 Ubuntu 的电源设置中选择休眠。但是,您仍然无法休眠,因为 10-vendor.d 文件将 login1.hibernate 设置为“否”,而这也必须是“是”

相关内容