当前位置: 首页>>技术问答>>正文


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

ubuntuer 技术问答 , , , , 去评论

问题描述

我知道自12.04以来,我们需要添加一个策略套件规则来启用休眠(请参阅问题How to enable hibernation?Official Documentation)。

我可以使用sudo pm-hibernatesudo s2disk成功将笔记本电脑带入休眠模式,因此规则已就绪并且可以正常工作,但菜单中仍然缺少休眠条目。

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

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


可能重复:Hibernation still not available – 没有活动,因为当时正在开发,因此超出了AskUbuntu的范围。

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

最佳解决方法

14.04及以后

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

Re-enabling菜单中的休眠选项

对于re-enable菜单中的休眠选项,您的/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla应该修改为如下所示(#10.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 Bug Report #1232814上的帖子引用:

For Saucy, indicator-session was updated to use logind (org.freedesktop.login1) instead of upower.

If you check /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, you’ll see that hibernate is disabled by default in both upower and logind.

So the first step to re-enable the Hibernate option is to edit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla to something like:

[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 

After rebooting, the login screen session menu should have a Hibernate option.

[…]

感谢所有感谢和信任!

为什么冬眠会被禁用?

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

另一件需要提及的是,使用UEFI安全启动和休眠似乎是可能的,但可能存在绕过前者的风险。 (12)提醒一下,当您使用休眠模式时,无需加密即可将RAM中的所有内容存储到磁盘,其中包括加密文件系统和容器的密码。

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

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

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

相关问题

次佳解决方法

如果您仍然在进行休眠工作时遇到问题,请检查comment #58 on this bug report

I found a workaround on ubuntu gnome 13.10: just install hibernate:

sudo apt-get install hibernate 

The only problem is that apport will issue three errors when starting up after normal Power Off. For this you can disable apport:

sudo -H gedit /etc/default/apport 

Then change enabled=0.

To change settings from hibernate edit files in /etc/hibernate.

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1466.html,未经允许,请勿转载。

相关文章