我正在尝试禁用在 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 拒绝暂停请求。此后甚至不应该有暂停选项。