通过polkit启用后,13.10中的菜单仍然缺少hibernate状态。 如何启用?
我知道自12.04以来,我们需要添加一个策略套件规则来启用hibernate(请参阅问题如何启用hibernate?和官方文档 )。
我可以使用sudo pm-hibernate
或sudo 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会话将丢失。