无法hibernateUbuntu Budgie 17.04

我试图从顶部面板hibernateubuntu-budgie,但它不会hibernate,它只会锁定计算机。

看到这一点,我尝试使用sudo systemctl hibernate hibernate从终端sudo systemctl hibernate ,但我得到了相同的结果。

我使用命令systemctl status hibernate.target ,我看到了这些错误:

systemd [1]:Hibernate的依赖失败。
systemd [1]:hibernate.target:作业hibernate.target/start失败,结果为’依赖’。

PS:这是ubuntu budgie的全新安装,我有足够的交换大小(4Gb RAM和4Gb交换)。

PS2:我使用的是交换文件,而不是交换分区(默认情况下,ubuntu的新版本是如何创建的)

@fossfreedom给了我一个答案的链接,答案很棒,但并没有完全解决我的问题。 因此,我将把我所做的工作放在ubuntu-budgie 17.04下让我的电脑hibernate

创建交换文件(如果已有交换文件,请转到下一步)

这些命令创建格式化的4GiB交换文件,安装并添加到/ etc / fstab:

 sudo fallocate -l 4g /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab 

安装用户空间软件暂停(uswsusp)

 sudo apt install uswsusp 

validation交换文件分区

 sudo findmnt -no SOURCE,UUID -T /swapfile > /dev/sda1 11cc33ee-1234-abcd-1234-ddeeff112233 

配置uswsusp

这将创建/etc/uswsusp.conf并使用这些详细信息重新创建initramfs:

sudo dpkg-reconfigure -pmedium uswsusp

  • Yes的’继续没有有效的交换空间?’ (向导尚未设置交换文件。)
  • 选择交换文件所在的分区 ,交叉引用上面的findmnt详细信息。 (注意: 不是交换文件本身)

创建文件/etc/initramfs-tools/conf.d/resume如果它不存在,并将swap_id放入其中,如下所示:

 sudo -s swaplabel /swapfile > UUID: 81bb07cd-d495-4733-be81-3447f9161f33 echo "RESUME=UUID=81bb07cd-d495-4733-be81-3447f9161f33" > /etc/initramfs-tools/conf.d/resume update-initramfs -u 

测试Hibernate

 sudo s2disk 

将s2disk与systemd Hibernate一起使用

 sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/ 

编辑新文件:

 sudo gedit /etc/systemd/system/systemd-hibernate.service 

用以下内容替换文件的最后一行(启动ExecStart = …):

 ExecStart=/usr/sbin/s2disk ExceStart=run-parts -a post /lib/systemd/system-sleep 

更新systemd守护进程并测试hibernate:

 sudo systemctl daemon-reload sudo systemctl hibernate 

允许从顶部面板按钮hibernate

打开文件:

 sudo gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla 

并找到两个部分:

  • [在upower中默认禁用hibernate]
  • [在logind中默认禁用hibernate]

并将值从no更改为yes在此处输入图像描述

尝试:

 swapoff /dev/drive/swap swapon -f /dev/drive/swap