在Ubuntu 12.04及更高版本中,默认情况下在policykit中禁用了休眠模式。如何启用此功能?

评论

他们为什么首先禁用它?与丢失音频有关吗?

有关13.10的信息,请参见askubuntu.com/questions/361734/…

为了回答阿里的问题,它被禁用,因为许多人由于交换分区的问题而无法进入休眠状态。但是,在Ubuntu 14.10 Utopic Unicorn中,计划通过按钮和其他功能使休眠状态永久正常。

对于15.04,您可能需要此问题askubuntu.com/q/614662/178596

使用btrfs分区时,Hibernate可能无法工作。看到这里askubuntu.com/questions/768136/…

#1 楼

如果此答案在Ubuntu 13.10中不起作用,请参见此处以获取其他答案。


未通过Ubuntu认证的计算机在12.04上禁用了休眠。

为了启用休眠,您需要通过在终端中运行sudo pm-hibernate来测试其是否正常工作。系统将尝试休眠。如果您能够再次启动系统,则可以安全地添加覆盖。

要这样做,请开始编辑:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla


填写以下内容:

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


或在14.04及更高版本中:

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

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


保存

或运行killall unity-panel-service只是重置菜单。 >
然后某些用户将需要运行sudo update-grub才能在电源菜单中使用休眠选项。有些用户可能还必须至少注销然后再登录才能使其显示在(右上方)电源菜单中。

评论


此解决方案还可以在扩展名为“ Alternative Status Menu”的GNOME shell 3.4中使用。

–Robert Wohlfarth
2012-09-18 23:58

@ cuda.geek是的,不再打扰整个gui了,键入这个小命令更快(甚至使用别名也更快...):)

– Aditya M P
13年8月5日在7:58



真?这是更改这种简单设置的用户友好版本吗?每天都变得越来越丑陋...

–埃斯特万
13年8月15日在3:12

我认为这不是埃斯特万的观点。它不需要奥术魔术来启用休眠状态。想一想/ etc / default目录中的某些内容,您可以在其中将enable_hibernate =“ false”更改为enable_hibernate =“ true”。考虑使用系统->设置对话框,该对话框仅允许您打开并显示警告“这可能不起作用,您的计算机可能无法正常唤醒”。

–斯科特·马洛(Scott Marlowe)
13年15月15日下午5:50

为了使它在我的Ubuntu 14.01 ttyl上运行,我不得不使用Action值作为org.freedesktop.login1.hibernate [Ref:bugs.launchpad.net/ubuntu/+source/lxsession/+bug/1300798]

– Hamman Samuel
2014年7月30日13:24

#2 楼

首先,您需要测试您的机器是否支持休眠。使用以下命令对其进行测试:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate


Ubuntu 16.04及更高版本

要启用该界面,您需要运行sudo nano /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;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes


Ubuntu 14.04和15.04

要在界面中启用,您需要为Ubuntu 14.04和15.04运行sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf并填充:

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

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes


它有几个节,因为您可能有多个用户(因此,它不依赖于多用户或以upower作为管理员而不是login1)

ps:官方文档https://help.ubuntu.com/16.04/ubuntu-help/power-hibernate.html

评论


它在Ubuntu 15.04上对我有用,而最初接受的答案却不行。

– MikeB。
15年5月14日在11:24

@MikeB。之所以可行,是因为自Ubuntu 15.04起,核心Ubuntu系统开始使用systemd-替代旧的新贵。上面代码中具有“ logind”的最后一节是针对基于systemd的系统的。希望这对您的情况有所帮助。 :D

–x__x
2015年11月7日在20:42

在ubuntu 16.04上为我工作。唯一的问题是我使用sudo解决的权限被拒绝错误。

–山迪普
2016年6月5日在16:31



第一步sudo pm-hibernate导致找不到命令。我还尝试了sudo apt install sudo pm-hibernate,它也不可用。这是Ubuntu 16.04版本。

– L. D. James
16-09-29在18:19

您的答案应该出现在列表的顶部,即使它的票数更少,对于使用当今软件的访问者来说也更有意义。

–WinEunuuchs2Unix
16年11月22日在1:03

#3 楼

此外,对于那些由于各种原因想要禁用“暂停”按钮的人,请类似地进行操作...

选择任何文件名,但这是冗长/常规的:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla


填写以下内容:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no


Ctrl + O,Enter,Ctrl + X

无需重启,进入关机菜单后就应该消失。

评论


您的意思是:ResultActive = yes

–user204762
13-10-28在8:47



不,这应该是ResultActive = no。答案指定此选项禁用挂起。

– Michael Mior
2014年6月11日18:00

#4 楼

还有一件事:

要在XFCE的面板中添加休眠选项,则必须右键单击您的名称(右上角)并选择properties

之后,屏幕弹出:



请确保像我一样检查Hibernate。

#5 楼

首先,我确实建议您测试您的笔记本电脑是否支持休眠,因为默认情况下禁用休眠的原因是它有时在某些计算机上会产生致命的后果。通过

Ctrl + Alt + T测试计算机,然后通过sudo pm-hibernate

计算机应进入休眠状态。休眠后将机器唤醒,并观察其行为是否正常或是否正常运行。如果您在休眠后遇到任何异常情况,那么我建议您不要继续执行以下过程。但是,如果一切正常,请继续通过

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
激活休眠模式,编辑打开的文件并添加以下行:

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


之后,重新启动计算机,并在登录后在右上角的设置角看到休眠选项。

评论


为什么要回滚?

–user25656
13年10月13日在5:06

这是一个错误的回滚

– kelvinelove
13-10-13在5:14

#6 楼

如果使用/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla的响应无法正常工作,请不要忘记通过以下方式删除文件:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla


并尝试使用TuxOnIce。


首先确保您有足够的交换空间。它的大小应与RAM大小相同或更大。使用命令

free


规则交换>内存。如果不是这种情况,请扩大交换大小。然后通过

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice
安装TuxOnIce,然后尝试通过以下方式运行休眠测试:

sudo pm-hibernate


不要忘记保存您的工作,然后再做。

如果一切顺利,计算机将关闭。开机后,您的桌面将进入休眠前的状态。

评论


tuxonice也对我有用,而Ubuntu 14.04本机休眠由于某种原因而失败!

–Leszek
2014年5月24日14:55



#7 楼

使用脚本启用休眠功能
我已将以上答案翻译为bash脚本。这使在多台计算机上的安装变得不那么麻烦。
脚本enable-hibernate
 #!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo
 

脚本disable-suspend
<注意:不要忘记#!/bin/bash #http://askubuntu.com/a/154821/164341 cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla [Disable suspend by default] Identity=unix-user:* Action=org.freedesktop.upower.suspend ResultActive=no _EOF_ clear echo echo 'Suspend disabled.' echo 这两个脚本使它们可执行。

#8 楼

一个简单的命令,它与接受的答案完全相同,但非交互地起作用:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF


#9 楼

在12.04中,我成功启用了指标菜单中的休眠选项以使其休眠。但是,我仍然无法从休眠状态成功恢复。我确实按照以下步骤解决了此问题:

在12.04中启用Hibernate

要启用Hibernate,我遵循了Dima的回答。

之后使休眠,我可以休眠。但是问题是,我无法从休眠中成功恢复。每当我从休眠模式启动PC时,它的启动就像正常启动一样。因此,我必须执行这些操作才能从休眠状态恢复。

可以从休眠状态恢复的修复程序

有两种修复方法。

1。编辑/etc/initramfs-tools/conf.d/resume文件




首先获取交换分区的UUID。

 sudo blkid | grep swap


这将输出类似于以下内容的行:

/dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"


实际的行与这个。在"..."双引号之间复制UUID的值。


打开简历文件

gksudo gedit /etc/initramfs-tools/conf.d/resume


,然后在该文件中添加这样的行

RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432


不要忘记替换从步骤1中获得的实际UUID值。保存文件并退出gedit


然后在终端中执行此命令

sudo update-initramfs -u



现在您将可以从休眠状态恢复2。编辑/etc/default/grub文件。



打开终端并执行以下命令将其打开

gksudo gedit / etc / default / grub


将出现类似GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 的行。编辑该行以在单词RESUME=UUID=<your-uuid-value-here>之后插入splash

例如,在我的情况下,该行在编辑后如下所示

当然,您使用了从sudo blkid | grep swap命令获得的UUID值。


然后执行此命令

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 



这也使您能够成功从休眠状态恢复。


经过两个Ubuntu安装的测试,都可以运行

评论


将此作为单独的问题和答案提出。人们可能会搜索“无法从暂停中恢复”,却找不到出色的文章。

–迪马
2012年10月4日在8:44

在您提出建议后,我创建了这个自我解答的问题askubuntu.com/questions/196364/…

–安瓦尔
16年9月11日在8:19

#10 楼

我的笔记本上装有Ubuntu Gnome 17.04 amd64。我做了以下操作以启用休眠功能:

$ sudo apt-get install hibernate(源)

这也安装了libx86-1uswsusp vbetool 。我的路径中没有sudo systemctl hibernate可执行文件。

$ pm-hibernate

插入:(源)

[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;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes


已安装https://extensions.gnome.org/extension/755/hibernate-status-button/