14.04 及以后

14.04 及以后

我知道从 12.04 开始,我们需要添加一个 policykit 规则来启用休眠功能(参见问题如何启用休眠模式?官方文档)。

sudo pm-hibernate我可以使用或成功将笔记本电脑置于休眠模式sudo s2disk,因此规则已到位并有效,但菜单中仍然缺少休眠条目。

通过查看 indicator-session 包的源代码(但不理解整个代码),我可以看出代码中仍然有一个休眠菜单项,当系统能够休眠时应该会显示它。如果您对此感到愤怒,请冷静下来。这不太可能是一个阴谋,而是更深层次的错误/回归,这可能发生在你移动代码或替换代码时。

问题:在 13.10 中需要做什么才能正确告知indicator-session系统可以休眠?


可能重复:休眠功能仍不可用- 没有活动,因为 saucy 当时正在开发中,所以超出了 AskUbuntu 的范围。

相关错误报告:https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

答案1

14.04 及以后

Mitch 在针对 14.04 和 16.04 的回答中指出,10-vendor.d/com.ubuntu.desktop.pkla在修改任何内容之前,应先进行检查。还应检查是否已禁用安全启动,以及这是否会恢复菜单选项。

重新启用菜单中的休眠选项

要在菜单中重新启用休眠选项,您/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla应该在 saucy(13.10)中将其修改为如下所示:

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

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

然后重新启动或运行killall indicator-session-service您的会话,您的休眠功能/菜单选项应该会恢复。如果文件尚不存在,请创建它。

根据错误报告进行调查

引自 Jeffery To 在 Launchpad 上的帖子错误报告 #1232814

对于 Saucy,indicator-session 已更新为使用 logind (org.freedesktop.login1) 而不是 upower。

如果您检查 /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla,您会发现在 upower 和 logind 中,hibernate 默认被禁用。

因此,重新启用 Hibernate 选项的第一步是编辑 /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 如下内容:

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

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

重新启动后,登录屏幕会话菜单应该有一个休眠选项。

[...]

所有的感谢和荣誉都归功于 Jeffery!

为何禁用休眠功能?

Launchpad 上有一个错误报告,建议禁用挂起/休眠模式,而不是跟踪哪些硬件“认证”了哪些电源模式。据称这是一种更具可扩展性的方法。

另一件需要提及的事情是,使用 UEFI 安全启动和休眠似乎是可行的,但规避前者可能会有风险。(12) 提醒一下,当您使用休眠模式时,您会将 RAM 中的所有内容存储到磁盘而不进行加密,这包括加密文件系统和容器的密码。

在 16.04 的某个时候,我不得不禁用安全启动能够使我的笔记本电脑休眠。就我而言,我使用了 uswsusp,并使用 s2disk 进行测试,返回了以下消息。这可能提示您,您的问题(为什么您无法休眠,尽管其他一切都已就绪)与安全启动有关:

s2disk: Could not open the snapshot device. Reason: Operation not permitted 

然而,请理解这不是一个抱怨的地方,请保持友善。

相关问题

答案2

如果您在使休眠工作时仍然遇到问题,请检查此错误报告的评论 #58

我在 ubuntu gnome 13.10 上找到了一个解决方法:只需安装 hibernate:

sudo apt-get install hibernate

唯一的问题是,apport 在正常关机后启动时会发出三个错误。为此,您可以禁用 apport:

sudo -H gedit /etc/default/apport

然后改变enabled=0

要从休眠编辑文件中更改设置/etc/hibernate

安装 hibernate 包似乎做出了正确的改变,它在 ubuntu gnome 13.10 x64 中对我来说运行得很好

答案3

如果您已经按照前面的步骤操作但仍然没有效果,我建议您将操作更改/etc/pm/sleep.d/20_custom-ehci_hcd为:

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

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

要使其工作,请按照上述步骤启用休眠选项。这对我来说确实有效。

最后,您将有 2 个文件使用“ [Re-enable hibernate ... ]”编辑。试试这个。如果您使用的是 ubuntu 13.10,它肯定会起作用

答案4

我想在这里补充一点,据我所知,是未安装的交换分区。如果未安装交换分区,则无论休眠配置如何,都不会显示/启用休眠选项。

如果交换分区没有自动挂载,那么休眠会话将会丢失。

相关内容