Archlinux 启用休眠。亲测可用。参考archlinux wiki整理而来。休眠到交换分区

首先介绍一下三种挂起方式 。我是用的是第二种方式。目的是为了不用每次开机都重新打开很多软件再排布成我需要的样子。毕竟写项目经常就是开2个nvim编辑代码,2个chrome,ssh远程控制服务器,mycli处理mysql数据库等等。虽然休眠到硬盘可能会稍微影响到硬盘的寿命,但是一切都是可以接受的,硬盘是买来用的。以上。

  • suspend 挂起,待机,暂停 (str: suspend to RAM)保存到内存 通电 低功耗
  • hibernate 休眠,冬眠 (std: suspend to disk)保存至硬盘swap 断电 关机
  • HybridSleep 混合睡眠 (strd:suspend to both)保存到内存和硬盘 通电 低功耗

.

  1. 在bootloader 中增加resume内核参数,编辑/etc/default/grub文件,在GRUB_CMDLINE_LINUX_DEFAULT中添加resume=swap_drvice
    swap_drvice 用你的swap设备代替。我是这样的:
更改前:GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
更改后:GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet resume=/dev/sda6"
更新grub: $ sudo grub-mkconfig -o /boot/grub/grub.cfg
  1. 添加resume钩子 编辑 /etc/mkinitcpio.conf ,在HOOKS行中添加resume钩子:
注意: 如果使用lvm分区,需要将resume放在lvm后面
lvm分区: HOOKS=(base udev autodetect modconf block lvm2 resume filesystems keyboard fsck)
我的情况:
原本是: HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
添加后: HOOKS=(base udev resume autodetect modconf block filesystems keyboard fsck)

再重新生成mkinitcpio   
$ sudo mkinitcpio -p linux-zen
(我使用的内核是linux-zen,如果你们是普通内核就换成linux,否则换成自己的内核)
可以用 ls /etc/mkinitcpio.d/ 查询自己的能用内核

以下内容参考如下:
https://github.com/levinit/itnotes/blob/master/linux/laptop笔记本相关.md

编辑 /etc/systemd/logind.conf 根据自己的需求进行修改,取消注释。
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff #按下电源键
#HandleSuspendKey=suspend #按下挂起键HandleSleepKey
#HandleHibernateKey=hibernate #按下休眠键
#HandleLidSwitch=suspend #合上笔记本盖
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore #插上扩展坞或者连接外部显示器情况下合上笔记本盖子
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192

poweroff和halt均是关机(具体实现有区别)
supspend是挂起(暂停),设备通电,内容保存在内存中
hybernate是休眠,设备断电(同关机状态),内容保存在硬盘中
hybridSleep是混合睡眠,设备通电,内容保存在硬盘和内存中
lock是锁屏
kexec是从当前正在运行的内核直接引导到一个新内核(多用于升级了内核的情况下)
ignore是忽略该动作,即不进行任何电源事件响应

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值