无法休眠 Ubuntu Budgie 17.04

Sid*_*med 5 hibernate swap budgie

我试图从顶部面板休眠 ubuntu-budgie,但它不休眠,它只锁定计算机。

看到这一点,我尝试使用从终端休眠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 创建的方式)

Sid*_*med 10

@fossfreedom 给了我一个答案的链接,答案很好,但并没有完全解决我的问题。所以我会把我所做的让我的电脑休眠的东西放在 ubuntu-budgie 17.04 下

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

这些命令创建一个格式化的 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
Run Code Online (Sandbox Code Playgroud)

安装用户空间软件挂起 (uswsusp)

sudo apt install uswsusp
Run Code Online (Sandbox Code Playgroud)

验证交换文件分区

sudo findmnt -no SOURCE,UUID -T /swapfile
> /dev/sda1 11cc33ee-1234-abcd-1234-ddeeff112233
Run Code Online (Sandbox Code Playgroud)

配置uswsusp

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

须藤 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
Run Code Online (Sandbox Code Playgroud)

测试休眠

sudo s2disk
Run Code Online (Sandbox Code Playgroud)

将 s2disk 与 systemd Hibernate 一起使用

sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/
Run Code Online (Sandbox Code Playgroud)

编辑新文件:

sudo gedit /etc/systemd/system/systemd-hibernate.service
Run Code Online (Sandbox Code Playgroud)

将文件的最后一行(以 ExecStart=... 开头)替换为以下内容:

ExecStart=/usr/sbin/s2disk 
ExceStart=run-parts -a post /lib/systemd/system-sleep
Run Code Online (Sandbox Code Playgroud)

更新 systemd 守护进程并测试休眠:

sudo systemctl daemon-reload
sudo systemctl hibernate
Run Code Online (Sandbox Code Playgroud)

允许从顶部面板按钮休眠

打开文件:

sudo gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Run Code Online (Sandbox Code Playgroud)

并找到两个部分:

  • 【upower默认关闭休眠】
  • [在 logind 中默认禁用休眠]

并将两个值从no更改为yes在此处输入图片说明