无法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