在Ubuntu 12.04及更高版本中,默认情况下policykit中禁用了休眠模式。如何启用此功能?
btrfs
使用分区时,Hibernate可能无法工作。看到这里askubuntu.com/questions/768136/…–
在Ubuntu 12.04及更高版本中,默认情况下policykit中禁用了休眠模式。如何启用此功能?
btrfs
使用分区时,Hibernate可能无法工作。看到这里askubuntu.com/questions/768136/…–
Answers:
如果此答案在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
按保存Ctrl- O然后enter再按下退出纳米Ctrl- X。
重新启动,休眠又回来了!
或运行killall unity-panel-service
以重置菜单。
然后,某些用户将需要运行sudo update-grub
以使休眠选项在电源菜单中可用。一些用户可能还必须至少注销然后登录才能使其显示在(右上)电源菜单中。
首先,您需要测试计算机是否支持休眠。使用以下命令对其进行测试:
sudo pm-hibernate
# or for newer Ubuntus like 17.04
sudo systemctl hibernate
要在界面中启用,您需要运行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
要在界面中启用,您需要sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf
为Ubuntu 14.04和15.04 运行并填写:
[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/stable/ubuntu-help/power-hibernate.html
sudo
。
sudo pm-hibernate
得到command not found
。我也尝试过sudo apt install sudo pm-hibernate
,但也无法使用。这是Ubuntu 16.04版本。
此外,对于那些由于各种原因想要禁用“暂停”按钮的用户,请类似地进行...
选择任何文件名,但这是冗长/常规的:
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=no
。答案指定此选项禁用挂起。
首先,我确实建议您测试笔记本电脑是否支持休眠方式,因为默认情况下禁用休眠方式的原因是它有时在某些计算机上会产生致命的后果。通过以下方式测试您的机器
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
之后,重新启动计算机,并在登录后在右上角的设置角看到一个休眠选项。
如果使用的响应/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
规则交换>内存。如果不是这种情况,请扩大交换大小。然后通过安装TuxOnIce
sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice
然后,您可以尝试通过以下方式运行休眠测试:
sudo pm-hibernate
不要忘记在保存之前保存您的工作。
如果一切正常,您的计算机将关闭。开机后,您的桌面将进入休眠状态。
我已将以上答案翻译为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
注意:请不要忘记使chmod +x
两个脚本都可执行。
在12.04中,我成功启用了指标菜单中的休眠选项以使其休眠。但是,我仍然无法从休眠状态成功恢复。我确实按照以下步骤解决了此问题:
为了启用Hibernate,我遵循了Dima的回答。
启用休眠后,我便可以休眠。但是问题是,我无法从休眠中成功恢复。每当我从休眠状态启动PC时,它的启动就像正常启动一样。因此,我必须执行这些操作才能从休眠状态恢复。
有两种方法可以解决此问题。
/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
您现在可以从休眠状态恢复
/etc/default/grub
文件。打开一个终端并执行以下命令将其打开
gksudo gedit / etc / default / grub
会出现类似这样的行 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
。编辑该行以RESUME=UUID=<your-uuid-value-here>
在单词后面插入splash
。
例如,在我的情况下,编辑后该行如下所示
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432"
确保使用了从sudo blkid | grep swap
命令获取的UUID值。
然后执行此命令
sudo update-grub
这也使您能够成功从休眠中恢复。
经过两个Ubuntu安装的测试,都可以
我的笔记本上装有Ubuntu Gnome 17.04 amd64。我执行以下操作以启用休眠方式:
$ sudo apt-get install hibernate
(来源)
这个也装了 libx86-1
uswsusp
vbetool
然后,我可以成功休眠sudo systemctl hibernate
。pm-hibernate
我的路径中没有可执行文件。
$ 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.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/