Arch Linux 的休眠设置
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate_(简体中文)
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate
https://wiki.archlinux.org/index.php/Power_management
https://wiki.archlinux.org/index.php/HP_Compaq_6510b
三种挂起方式
名称 挂起方式 电源状态
- 1. suspend 挂起,待机,暂停 (str: suspend to RAM)保存到内存 通电 低功耗
- 2. hibernate 休眠,冬眠 (std: suspend to disk)保存至硬盘swap 断电 关机
- 3. HybridSleep 混合睡眠 (strd:suspend to both)保存到内存和硬盘 通电 低功耗
睡眠模式,比如笔记本电脑:若电池还有电,就等同于挂起;若电池电量耗尽,则等同于休眠模式。
========================
ArchLiux的休眠功能需要用户设置后才能使用。
这里介绍使用systemd休眠。
需要swap分区或者swap文件,大小要求大于等于系统内存。
==== 1. 在bootloader 中增加resume内核参数
需要添加resume=/dev/sdxY (sdxY 是swap分区的名字) ,让系统在启动时读取swap分区中的内容。
$ lsblk
├─sdb6 ... /
└─sdb9 ... [SWAP]
当前使用了grub2作为bootloader,swap的分区是/dev/sda9。
== 1.1 编辑/etc/default/grub文件,在GRUB_CMDLINE_LINUX_DEFAULT中添加resume=/dev/sda9
若原本是: GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_pstate=enable”
则添加后: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable resume=/dev/sda9"
注:这里的 intel_pstate=enable 只针对intel处理器中SandyBridge(含IvyBridge)及更新的构架的CPU。
当前系统:
原本是: GRUB_CMDLINE_LINUX_DEFAULT="quiet"
添加后: GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/sda9"
== 1.2 更新 grub 配置:
备份 grub.cfg 这里有手动添加的启动项目,
menuentry 'windows2008r2' {
set root=(hd0,1)
chainloader +1
}
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
==== 2. 配置 initramfs的resume钩子
== 2.1 添加resume钩子 编辑 /etc/mkinitcpio.conf ,在HOOKS行中添加resume钩子:
若原本是: HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
则添加后: HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"
注意: 如果使用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)
== 2.2 重新生成 initramfs 镜像:mkinitcpio -p linux
$ sudo mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.0.4-arch1-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [resume]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.0.4-arch1-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [resume]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
$
参照:https://wiki.archlinux.org/index.php/Mkinitcpio
==> aic94xx-firmware:适用于AIC94xx驱动程序的Adaptec SAS 44300,48300,58300定序器固件
==> wd719x-firmware:Western Digital WD7193,WD7197和WD7296 SCSI卡的驱动程序
大多数人都没有SAS / SCSI磁盘控制器,因此请忽略这些警告,不要安装这些驱动程序。
这些对任何Arch Linux用户都是有用的,特别是那些没有安装这些固件模块的用户。如果您不使用使用这些固件的硬件,则可以忽略此警告消息。
安装: https://gist.github.com/imrvelj/c65cd5ca7f5505a65e59204f5a3f7a6d
git clone https://aur.archlinux.org/aic94xx-firmware.git
cd aic94xx-firmware
makepkg -sri
git clone https://aur.archlinux.org/wd719x-firmware.git
cd wd719x-firmware
makepkg -sri
再mkinitcpio -p linux一次。
=========================
==== 设置低电量自动休眠, 用于带有内置电池的设备。
修改/etc/UPower/UPower.conf相关配置.示例,在电量低至%5时自动休眠:
PercentageLow=15 #<=15%低电量
PercentageCritical=10 #<=10%警告电量
PercentageAction=5 #<=5%执行动作(即CriticalPowerAction)的电量
CriticalPowerAction=Hibernate #(在本示例中是电量<=5%)设备会自动休眠。
##CriticalPowerAction的取值有Poweroff、Hibernate和HybidSleep。
===================
==== 3. 设置盖上笔记本盖子或按下电源键休眠
== 3.1 编辑 /etc/systemd/logind.conf
盖上盖子休眠,添加:HandleLidSwitch=hibernate
按下电源键休眠添加:HandlePowerKey=hibernate
== 3.2 执行以下命令使其立即生效:
$ sudo systemctl restart systemd-logind
===================
https://github.com/levinit/itnotes/blob/master/linux/laptop笔记本相关.md
#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是忽略该动作,即不进行任何电源事件响应
Arch Linux 的休眠设置的更多相关文章
- Arch Linux 安装、配置、美化和优化
国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...
- 把Arch Linux安装到U盘上的具体教程
Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...
- Arch Linux中文乱码解决
Arch Linux中文乱码解决 1.安装中文字体 pacman -S wqy-zenhei ttf-fireflysung (flash乱码) ---乱码的原因就是缺少中文字体的支持,下载文泉驿 ...
- 如何在 Arch Linux 的终端里设定 WiFi 网络
如果你使用的是其他 Linux 发行版 而不是 Arch CLI,那么可能会不习惯在终端里设置 WiFi.尽管整个过程有点简单,不过我还是要讲一下.在这篇文章里,我将带领新手们通过一步步的设置向导,把 ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- Arch linux安装
安装archlinux可参考: http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html http://www.cnblogs.com/mad/p/32 ...
- Arch Linux 安装过程
在VM中装了Arch,由于过程较为曲折,现写博客一篇聊以慰藉. 1.新建虚拟机,将下载好的archlinux-2016.03.01-dual.iso挂到虚拟机设置的CD/DVD 2.进入Arch安装界 ...
- 在VMWare上安装Arch Linux
1.为什么选择Arch Linux Arch Linux 是通用 x86-64 GNU/Linux 发行版.Arch采用滚动升级模式,尽全力提供最新的稳定版软件.初始安装的Arch只是一个基本系统,随 ...
- Arch Linux 记录
2017.1.8 开始花了两天装 Arch Linux,因为是第一次安装 Arch Linux,所以过程中遇到许多问题,特记录如下. 安装过程及遇到的问题: 下载镜像,刻盘. 重启进入 LiveCD ...
随机推荐
- Pandas之分组
假如我们现在有这样一组数据:星巴克在全球的咖啡店信息,如下图所示.数据来源:starbucks_store_locations.我们想要统计中国每个城市的星巴克商店的数量,那我们应该怎么做呢? 在pa ...
- Greeting Card
问题 G: Greeting Card 时间限制: 1 Sec 内存限制: 128 MB 提交: 666 解决: 59 [提交] [状态] [命题人:admin] 题目描述 Quido plans ...
- JavaScript闭包函数&箭头函数调用与执行
一.标准的闭包函数 //一.标准的闭包函数 function A() { var i=0; ++i; console.log('i : ' + i); return function b() { re ...
- iSCSI网络协议.学习笔记
Internet SCSI(iSCSI)是一种网络协议,使用TCP/IP网络来传输SCSI协议.它是代替FC(Fibre Channel-based,光纤通道) SAN的很好选择.你可以在Linux下 ...
- StrokePlus常用脚本
1.按照时间创建文本文件并打开 文本文件并没有什么快捷方式,每次都要右键,找新建,找文本文档,临时写点什么还要保存,写名字,懒得写就打aa,bb的,挺烦的. 难点在于用lua没法知道当前鼠标所在的文件 ...
- Vue 结合 Axios 接口超时统一处理
引语:当网路慢的时候.又或者公司服务器不在内地的时候,接口数据请求不回来超时报错的情况相信大家肯定遇到过的,这里我把我公司项目请求超时的处理方法分享下,希望看过后有帮助. axios基本用法就不多说了 ...
- commons-lang3工具类学习(一)
一.ArchUtils java运行环境的系统信息工具类 getArch();// 获取电脑处理器体系结构 32 bit.64 bit.unknown getType();// 返回处理器类型 ...
- coursera-斯坦福-机器学习-吴恩达-笔记week1
1 Introduction 1.1 概念:一个程序被认为能从经验E中学习,解决任务 T,达到性能度量值P,当且仅当, 有了经验E后,经过P评判, 程序在处理 T 时的性能有所提升. 1.2 机器学习 ...
- Java 模拟面试题
1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...
- [Codeforces440D]Berland Federalization
Problem 给你一棵树,最少删掉哪些边,能使得余下的至少有1个大小刚好为k的残树. 1 ≤ k ≤ n ≤ 400 Solution 用f[i][j]表示以i为根有j个节点的最少删边数量 因为此题 ...