Ubuntu 17.10 无法使用 systemd-hybrid-sleep 禁用挂起功能

Ubuntu 17.10 无法使用 systemd-hybrid-sleep 禁用挂起功能

我正在尝试禁用在 HP EliteBook 笔记本电脑上运行的 Ubuntu 17 上的挂起功能。

我试过了:

sudo systemctl disable systemd-hybrid-sleep

来自 systemctl status systemd-hybrid-sleep.service 的输出

● systemd-hybrid-sleep.service - Hybrid Suspend+Hibernate
   Loaded: loaded (/lib/systemd/system/systemd-hybrid-sleep.service; static; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd-suspend.service(8)

但是当我合上盖子时,计算机仍然处于挂起状态,我无法唤醒笔记本电脑。有人知道解决办法吗?

答案1

这里有两点错误。首先,当您禁用 systemd-hybrid-sleep 时,您只会禁用 systemd 对事件的处理。KDE/Gnome 电源管理仍然处于活动状态。其次,您根本没有触及正常睡眠,只是触及了混合模式。

首先,确保“系统设置 -> 电源”中的暂停功能已关闭

要真正禁用挂起,请通过 polkit。KDE 和 GNOME 都使用它来跟踪挂起/休眠的授权。没有该授权,睡眠选项甚至不可用。我知道这一点,因为 GNOME 使用此机制来硬禁用休眠。

目录“/etc/polkit-1/localauthority/”包含用于自定义设置的子目录。这些目录按字母数字顺序搜索 .pkla 文件。每个目录中的所有文件都会在移动到下一个目录之前进行处理。文件也按字母数字顺序处理。如果发生冲突,则最后读取的设置生效。

来自相关答案“如何在 14.04 中禁用挂起功能?

创建一个名为的新文件, /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla 其内容如下:

[Disable suspend (upower)]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
ResultInactive=no
ResultAny=no

[Disable suspend (logind)]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend
ResultActive=no
ResultInactive=no
ResultAny=no

[Disable suspend when others are logged in (logind)]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive=no
ResultInactive=no
ResultAny=no

然后重新启动。

这指示 polkit 拒绝暂停请求。此后甚至不应该有暂停选项。

相关内容