挂起或休眠后,Ubuntu 16.04不会关闭


14

实际上,我的问题在本论坛(以及其他地方)上可能与问题相同;确实,问题是相同的,但是无论如何我都在问,因为我可以提供更多的信息,并且因为我尝试了一些在网络上找到的解决方案(可能会使情况更糟)。

我曾经使Ubuntu 15.10休眠(关闭盖子)。现在我已经将其更新为16.04(我认为这是一件好事,因为此版本是LTS,与15.10不同),我不能再使用休眠(也不能暂停!):如果我尝试使用它,Ubuntu不会这样做。关机,只是屏幕变黑,电源指示灯亮起,除了手动关机(长按电源按钮)外,我无法做其他任何事情。再次打开电源时,看到以下几行

在此处输入图片说明

然后Ubuntu启动。

这里我尝试了

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

只有第一个部分有效,并且只有一次:一部分是指在残酷关闭之后,会话恢复了。

然后我试图遵循这个建议。我不理解在命令后写的注释,因此我按原样输入了命令(认为如果在命令中有替代内容,则会出现诸如“此命令/文件夹不存在”之类的错误):

编辑

cat /proc/meminfo
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=8M
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo -b gedit /etc/fstab
free -m
swapon

mount | grep " / "
sudo blkid -g
sudo blkid
sudo filefrag -v /swapfile | grep "First block:"
sudo filefrag -v /swapfile
echo "resume=UUID=cdXX--X18 resume_offset=66050" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo -b gedit /boot/grub/menu.lst
sudo -b gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=cdXX--X18 resume_offset=66050"
sudo update-grub -y
sudo update-initramfs -u

也许这是一个可怕的主意,因为现在我明白了。

IMG:

最后,我找到了上面链接的问题,然后我去了这里,但是我不知道该怎么办。

编辑2目前,如果我输入

...$ sudo swapon -s

我什么也得不到

...$

也许是因为BIOS。在我的BIOS中,我转到电源管理,并且在挂起时应该有一个操作选项。通常我的是S1,但S3是东西。
dat tutbrus '16

在这里暗刺,但是您应该调查BIOS设置并进行遍历。拿出您的手册并仔细阅读。过去我遇到过无数问题,这些问题都需要使用BIOS开关作为解决方案。
乔纳森

1
撤消非常糟糕的主意。这是一个概念证明,如何使Ubuntu使用交换空间进行休眠。以sudo作为root用户,从中删除添加的最后一行,从中删除/etc/initramfs-tools/conf.d/resume添加的两个简历节etc/default/grub,运行最后两行以更新grub和initrd。删除/ swapfile。运行sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target。使用尝试任何这些目标sudo systemctl suspend。怎么了?
emk2203 '16

最后,我决定重新安装ubuntu 15.10。现在,休眠再次起作用。也许我会在另一个分区上安装16.04。当我这样做时,我将参考此问题和解答。
恩里科·玛丽亚·德·安吉利斯

Answers:


6

强制休眠以关闭机器电源:

在寻找了很长时间可以真正解决问题的答案(不是相关问题)之后,我在这里找到了一个提示,可以帮我完成工作:

pmconfig目录中创建一个文件:

sudo vim /etc/pm/config.d/hibernate_mode

这样设置变量HIBERNATE_MODE

HIBERNATE_MODE="shutdown"

完成此操作后,休眠将按预期方式在完成时关闭计算机电源。关于设置的解释HIBERNATE_MODEpm-hibernate手册中:

休眠时关闭系统电源的默认方法。如果未设置,则系统将使用内核默认值作为默认值。检查/ sys / power / disk以获取有效值。默认值将被[方括号]包围。

我在该文件中的默认值为platform。在上面设置变量以shutdown覆盖它,并得到我们想要发生的事情。

相关信息和有关使休眠正常工作的提示:

对于那些“相关问题”,每个人似乎都具有休眠,快速调试提示:

  1. 检查命令是否sudo pm-hibernate确实执行了某些操作。如果没有,这些其他技巧都不会有任何不同。如果不起作用,请确保1)交换分区的大小大于RAM的大小,以及2)在BIOS中禁用安全启动。

  2. 只有该命令生效后,您才可以随意将休眠集成到您的系统中。几个常见的:

    • 将hibernate添加到Ubuntu菜单: 似乎是我的最佳答案。官方文档的版本也略有不同。
      注意:将休眠添加到Ubuntu菜单后,您可能还需要将替代调用修复为sudo systemctl hibernate。显然,(至少对于Ubuntu 16.04而言)Ubuntu菜单选项调用sudo systemctl hibernate而不是sudo pm-hibernatesystemctl hibernate通过将以下内容添加到文件已为我修复/etc/systemd/sleep.conf

      [睡眠]
      HibernateMode =关机

      如果文件尚不存在,则可以创建它。更多信息在这里

    • 更改电源按钮的行为(默认情况下,它显示在交互式菜单中):要将其更改为直接休眠或关闭,您需要修改关联的gsettings条目。如果浮动您的船,还有很多其他答案会通过GUI方式进行。要查看可用选项,请使用gsettings range org.gnome.settings-daemon.plugins.power button-power


2

通过查看最后一个图像和EDIT 2,我可以了解Ubuntu在您的系统上找不到Swap分区。因此,我建议您创建一个等于或大于RAM大小的Swap分区,然后通过运行再次尝试

sudo pm-hibernate

您可以使用GParted创建交换分区,运行该分区以安装它

sudo apt-get install gparted

2

从15.10升级到16.04后,我遇到了同样的问题:

  • 关上盖子没做任何事情
  • 手动挂起系统托盘中的菜单项会导致半挂起状态,这是重置系统的唯一出路。

我解决了这些问题

  1. 将内核升级到4.4.8(从菜单挂起后对我有用)
  2. 将行添加HandleLidSwitchDocked=suspend到/etc/systemd/logind.conf中(使盖子开关再次起作用)。

我认为这两个问题都是应该修复的错误(https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1574120)。


这是否解决了仅暂停或休眠的问题?
恩里科·玛丽亚·德·安吉利斯

0

默认情况下,休眠功能已禁用。

尝试这个

sudo pm-hibernate

如果休眠测试有效,则要休眠时可以继续使用sudo pm-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;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

从此链接阅读有关休眠16.04的更多信息

去关机

sudo shutdown -h now

重新启动

sudo shutdown -r now

如我所写,sudo pm-hibernate在将表格15.10升级到16.04LTS之前可以很好地工作。因此,问题应与16.04LTS版本有关。另外,也许我在听不懂他们的指导之后做了一些非常错误的事情。您能帮我解决这些问题吗?
恩里科·玛丽亚·德·安吉利斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.