您的当前位置:首页正文

deepin如何休眠

来源:华拓网

一般来说,如果你有一个可以正常使用的swap分区,只需要在终端执行
systemctl hibernate
就可以休眠了。

  1. 创建一个swap文件
fallocate -l 256m /swap
mkswap /swap

“256”是指以MB为单位的大小(其后的'm')。将其设置为RAM的至少一半大小(这个是debian wiki给定的数据,我建议设置为至少设置为内存相同大小)。“/swap”是交换文件的路径。它可以位于任何分区(例如root或home)。

  1. 进行swap文件相关设置
  • 挂载swap文件
    将此行添加到/etc/fstab文件中:
    /swap swap swap defaults 0 0

  • 减少使用swap文件
    终端执行sudo sysctl -w vm.swappiness = 1
    并在/etc/sysctl.d中创建一个名为local.conf的文件,为了使vm.swappiness保持不变,文件内容如下:
    vm.swappiness = 1

  • 激活swap文件:
    终端执行 sudo swapon /swap
  1. 安装和配置相关软件
    使用uswsusp这个软件,这是linux内核使用swap文件代替swap分区来进行挂起(休眠)的方法,并且还支持压缩和加密等功能。
  • 安装uswsusp:
    终端执行 aptitude install uswsusp

  • 配置uswsusp:
    终端执行 sudo dpkg-reconfigure -pmedium uswsusp,然后会出现如下提示框

    深度截图_选择区域_20180605160224.png
    从这个问题开始全部选择确定,直到出现:
选择swap文件

此处选择你要使用的swap文件,注:我这里是/var/swapfile这个文件

选择是否对休眠写入swap的数据加密

根据需要选择就好(需要知晓的是,开启加密功能之后休眠的启动所消耗的时间会增加)。如果选择加密的话,它会提示你设定一个密码

  • 对uswsusp进行进一步配置
    一般配置文件/etc/uswsusp.conf内容如下所示:
#/etc/uswsusp.conf(8) -- Configuration file for s2disk / s2both

resume device= /swap   

compress = y

early writeout= y

image size= 238941634

RSA key file = /etc/uswsusp.key

shutdown method = platform

resume offset = 8288

# encrypt = y 如果你选择了对数据加密,则会有这一行

“resume offset = 8288”是交换文件实际存放的地方(应该是硬盘的物理地址)。你可以终端执行swap-offset /swap获得这个值
“resume device”必须是分区而不是交换文件。一般这行的值会在上一步完成后变成你的swap文件的路径,需要改成你的swap文件所在的分区,如/dev/sda1

编辑/etc/uswsusp.conf文件后:
终端执行 sudo update-initramfs -u

  1. 默认启动的配置
    为了让系统启动时,默认从swap文件加载数据。将/etc/default/grub文件中的相关设置进行修改:
    GRUB_CMDLINE_LINUX_DEFAULT ="resume = /dev/sda1 quiet"
    其中“/dev/sda1”是交换文件所在的分区。
    终端执行sudo update-grub

测试休眠:
sudo s2disk

注:配置成功之后,如果修改了uswsusp的设置要执行 sudo update-initramfs -usudo update-grub

如果deepin能集成这个功能就再好不过了,配置还是略显繁琐滴