通过polkit启用后,13.10中的菜单仍然缺少hibernate状态。 如何启用?

我知道自12.04以来,我们需要添加一个策略套件规则来启用hibernate(请参阅问题如何启用hibernate?和官方文档 )。

我可以使用sudo pm-hibernatesudo s2disk成功地将我的笔记本电脑带入hibernate模式,因此规则已经到位且有效,但菜单中仍然缺少hibernate条目。

我可以通过查看指标会话包的来源(但不了解整个代码)来判断代码中仍然存在hibernate菜单条目,并且应该在系统能够hibernate时显示。 如果你对此感到愤怒,请冷静下来。 这不太可能是一个阴谋 ,而是更深层次的错误/回归,当您移动代码或替换它时可能会发生这种情况。

问题:在13.10中需要做些什么来正确告诉indicator-session系统可以hibernate?


可能重复: hibernate仍然不可用 – 没有活动,因为当时正在开发,因此超出了AskUbuntu的范围。

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

14.04及以后

Mitch在14.04和16.04的回答中指出,在修改任何内容之前,你应该检查10-vendor.d/com.ubuntu.desktop.pkla 。 还要检查是否已禁用安全启动,以及是否返回菜单选项。

重新启用菜单中的hibernate选项

要重新启用菜单中的hibernate选项,您的/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 ,您应该恢复您的hibernatefunction/菜单选项。 如果文件不存在,请创建该文件。

从错误报告调查

来自Jeffery To的post在Launchpad Bug Report上的引用#1232814 :

对于Saucy,指标会话已更新为使用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 

重新启动后,登录屏幕会话菜单应具有Hibernate选项。

[…]

感谢所有感谢和信任!

为什么冬眠会被禁用?

在启动板上存在一个错误报告,建议禁用挂起/hibernate,而不是跟踪哪些硬件“validation”哪种电源模式。 它声称是一种更具可扩展性的方法。

另一件需要提及的是,使用UEFI安全启动和hibernate似乎是可能的,但可能存在绕过前者的风险。 ( 1,2 )作为提醒,当您使用hibernate时,您将所有内存存储在磁盘中而不加密,这包括加密文件系统和容器的密码。

在16.04的某些时候我不得不禁用安全启动以便能够hibernate我的笔记本电脑。 在我的情况下,我使用uswsusp并使用s2disk测试返回下面的消息。 这可能会给你一个提示,你的问题,为什么你不能hibernate,虽然其他一切都已到位,与安全启动有关:

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

但是,请理解这不是一个抱怨的地方,请你好。

相关问题

  • 当我关闭笔记本电脑盖时,如何告诉Ubuntu什么都不做? (或关闭笔记本电脑盖时告诉Ubuntuhibernate)

如果您仍然在进行hibernate工作时遇到问题,请查看此错误报告中的评论#58 :

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

 sudo apt-get install hibernate 

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

 sudo -H gedit /etc/default/apport 

然后更改enabled=0

要在/etc/hibernate更改hibernate编辑文件的设置。

安装hibernate包似乎做出了正确的更改,并且在ubuntu gnome 13.10 x64中对我来说效果非常好

如果您已按照前面的步骤操作但仍然无效,我建议您将/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 

使其工作,然后按照上面提到的步骤启用hibernate选项。 这真的对我有用。

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

我想在这里添加一件事,即AFAICR,是未安装的交换分区。 如果未安装交换分区,则无论hibernate配置如何,都不会显示/启用hibernate选项。

如果交换分区不自动挂起,则hibernate会话将丢失。