笔记本
此 笔记本电脑主页 包含有助于配置笔记本电脑以获得最佳体验的文章(章节)的链接。设置 笔记本电脑 在许多方面与设置 台式机 相同。但是,有几个关键区别。 Arch Linux 提供了所有必要的工具和程序,以完全控制您的笔记本电脑。这些程序和实用程序在下面进行了重点介绍,并附有相应的技巧教程。
如果存在特定笔记本电脑型号的说明,则在供应商子页面的第一列中会交叉链接相应的文章。如果型号未在供应商表中列出,则可以参考供应商子类别 Category:Laptops 中类似型号的现有说明。
电源 management
对于任何希望充分利用电池容量的用户来说,电源管理都非常重要。以下工具和程序有助于延长电池寿命,并使您的笔记本电脑保持低温和安静。
电池状态
读取电池状态有多种方法。传统方法是通过 ACPI 接口,由某个守护进程定期轮询电池电量。在某些系统中,电池在每次(充)电量变化 1% 时会向 udev 发送事件,可以使用 udev 规则将此事件连接到某个操作。
可以通过以下方式直接从内核检查电池:
$ cat /sys/class/power_supply/BAT0/capacity
BAT0 也可能包含供应商名称。例如,Wacom 手写笔的 wacom_battery_0。
或者,您可以使用 upower 抽象实用程序
$ for BAT_PATH in $(upower -e | grep BAT); do upower -i "$BAT_PATH"; done
ACPI
可以使用来自终端的 ACPI 实用程序读取电池状态。ACPI 命令行实用程序通过 acpi 包提供。有关更多信息,请参阅 ACPI 模块。
- cbatticon 是一个位于系统托盘中的电池图标。
- batifyAUR 是一个 udevrule 文件,用于触发插拔和电池电量通知(支持多 x 会话)。
- batsignal 是一个轻量级的电池监控守护程序,它使用 libnotify 来警告低电量。
低电量时休眠
如果您的电池在每次(充)电量变化 1% 时都向 udev 发送事件,您可以使用此 udev 规则在电池电量危急时自动休眠系统,从而防止所有未保存的工作丢失。或者,如果 upower.service 已 启用,upower 也可以在电池电量达到可配置的危急水平时采取行动。
udev
udevadm monitor --property 在电池供电时进行测试,看看是否报告了任何事件。您应该等待至少 1% 的电量下降。如果没有报告事件,并且 /sys/class/power_supply/BAT0/alarm 不为零,那么当 BAT0/energy_now 低于报警值时,电池很可能会触发事件,并且只要百分比计算有效,udev 规则就会生效。某些笔记本电脑默认在 BIOS 中禁用此选项。/etc/udev/rules.d/99-lowbat.rules
# Suspend the system when battery level drops to 5% or lower
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="/usr/bin/systemctl hibernate"
- 在示例中,
[0-5]是一个类 shell 的模式匹配表达式,它匹配范围 0 到 5 中的一个字符。它不表示“当容量在 0 到 5 的范围内时”,并且使用类似[20-25]的内容将无法匹配 20 到 25 范围内的容量。有关 udev 规则可用的模式匹配,请参阅 此处。 - 请事先测试要运行的命令,以确保它能正常工作。例如,
/usr/bin/systemctl hibernate可能会返回错误:“调用休眠失败:休眠空间不足”
此规则将在条件满足时重复执行。因此,从电池电量危急时休眠恢复后,计算机将直接休眠。某些笔记本电脑在达到一定电池电量水平后无法启动,因此可以相应地调整规则。
如果您有不止一块电池,或者您正在使用由电池供电的外围设备,规则可能会被另一块正在放电的电池意外触发;这可以通过获取另一个属性/值对来添加到您的 udev 规则中,以专门匹配主电池,例如 model_name 来解决。例如,通过检查 /sys/class/power_supply/nameOfMainBattery/attributesAndOtherDirectories 或运行 udevadm monitor --property 并等待电池事件,可以获得此类新的属性/值对。
电池电量可能会跳到较低值而不是连续放电,因此使用了匹配所有容量 0 至 5 的 udev 字符串匹配模式。
要关闭系统而不是休眠,请使用 /usr/bin/systemctl poweroff。-i 标志可用于忽略关机抑制符,请参阅 systemctl(1) § OPTIONS。可以添加其他规则,根据电源状态和/或容量执行不同的操作。
如果您的系统没有或缺少 ACPI 事件,请频繁运行以下脚本,该脚本使用 acpi
#!/bin/sh
acpi -b | awk -F'[,:%]' '{print $2, $3}' | {
read -r status capacity
if [ "$status" = Discharging -a "$capacity" -lt 5 ]; then
logger "Critical battery threshold"
systemctl hibernate
fi
}
如果您有不止一块电池,或者您正在使用由电池供电的外围设备,您应该修改脚本的第二行,添加 grep 来监视正确的电池,如下所示:acpi -b | grep "Battery 0" | awk -F'[,:%]' '{print $2, $3}' | {。将 Battery 0 替换为 acpi -b 报告的您需要的电池。
Battery 0 被拔下时,Battery 1 会自动变为 Battery 0,依此类推。测试事件
测试 udev 规则的一种方法是让它们在运行时创建文件。例如
/etc/udev/rules.d/98-discharging.rules
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/username/discharging"
当笔记本电脑充电器被拔下时,这会在 /home/username/discharging 创建一个文件。您可以通过拔下笔记本电脑并查找此文件来测试规则是否生效。有关更高级的 udev 规则测试,请参阅 Udev#在加载前测试规则。
UPower
配置 UPower,例如
/etc/UPower/UPower.conf
UsePercentageForPolicy=true PercentageLow=20.0 PercentageCritical=10.0 PercentageAction=5.0 CriticalPowerAction=HybridSleep
待机和休眠
手动挂起操作系统,无论是挂起内存(待机)还是挂起磁盘(休眠),有时是优化电池寿命最有效的方法,具体取决于笔记本电脑的使用模式。
请参阅主文章 挂起和休眠。
硬盘停转问题
记录在 此处。
为防止您的笔记本电脑硬盘频繁停转,请设置更不具侵略性的电源管理,如 hdparm#电源管理配置 中所述。即使是默认值也可能过于激进。
唤醒触发器
唤醒源/事件/触发器可以将系统从任何硬件 节能 状态 中唤醒。要查找和配置这些,请参阅 唤醒触发器。
硬件支持
屏幕亮度
请参阅 背光。
触控板
要使您的触摸板正常工作,请参阅 libinput 页面。 Touchpad Synaptics 是旧的输入驱动程序,目前处于维护模式,不再更新。
触摸板完全未检测到
如果根本没有检测到触摸板设备,一个可能的解决方案是使用以下一个或多个内核参数
i8042.noloop i8042.nomux i8042.nopnp i8042.reset
Elantech
如果 Elantech 触摸板未被检测到,并且您的 日志 中出现以下行:
elan_i2c 5-0015: 5-0015 supply vcc not found, using dummy regulator
这与 psmouse 模块尝试使用次级总线连接触摸板设备而 elan_i2c 无法连接的问题有关。解决方法是强制其使用主总线。创建以下文件并重新加载 psmouse 模块或重启。
/etc/modprobe.d/psmouse.conf
options psmouse elantech_smbus=0
指纹识别器
请参阅 Fingerprint-gui、fprint 和 ThinkFinger(适用于 ThinkPad)。
摄像头
请参阅 摄像头设置。
硬盘防震保护
有许多不同品牌的笔记本电脑都具备防震功能。由于制造商迄今为止拒绝支持所需软件组件的开源开发,Linux 对防震功能的 I/O 支持因硬件实现而异。
目前,有两个名为 HDAPS 和 Hpfall 的项目支持此类保护。HDAPS 适用于 IBM/Lenovo Thinkpads,hpfall 适用于 HP/Compaq 笔记本电脑。
混合显卡
笔记本电脑制造商开发了涉及单个计算机中两个显卡的新技术,从而实现了高性能和节能用途。这些笔记本电脑通常默认使用 Intel 芯片进行显示,因此首先需要 Intel 显卡 驱动程序。然后,您可以 选择方法 来利用第二个显卡。
硬件视频加速
使用硬件解码和编码可以提高电池寿命。请参阅 视频加速。
音频静音 LED
在使用 Intel HD Audio 的笔记本电脑上,用户可能需要手动指定编解码器型号才能使音频静音 LED 工作。首先,检查您的笔记本电脑是否使用 Intel HD Audio;如果使用,以下命令将产生输出:
$ lsmod | grep snd_hda_intel
接下来,您需要找到您的音频编解码器型号:
$ grep Codec /proc/asound/card*/codec*
现在您需要在 可用型号名称列表 中找到您的编解码器。如果您找不到特定型号的编解码器,您可以通过试错法找到一个可用的。
为了告诉内核模块加载哪些特定于型号的选项,请指定 model= 内核模块参数。例如:
/etc/modprobe.d/mute-led.conf
options snd_hda_intel model=model_name
要测试此设置是否生效,必须重新加载内核模块。您可以通过重启来完成。
如果您需要测试大量编解码器,避免重启可能会更有效,方法是首先将系统置于没有进程使用内核模块的状态,然后使用新参数重新加载模块。这可以通过退出所有图形和控制台会话,并在使用显示管理器时停止显示管理器来完成。登录到控制台后,运行以下命令:
# modprobe -r snd_hda_intel # modprobe snd_hda_intel model=model_name
模块现在将使用 model_name 中指定的编解码器。
网络时间同步
对于笔记本电脑,使用 Chrony 作为 NTPd、OpenNTPD 或 systemd-timesyncd 的替代方案,通过网络同步您的时钟,这可能是一个好主意。Chrony 的设计目的是即使在没有永久网络连接的系统(如笔记本电脑)上也能正常工作,并且能够比标准 ntp 更快地同步时间。Chrony 在虚拟机系统上运行时具有几个优势,例如更大的频率校正范围,有助于快速校正时钟漂移,以及对时钟频率快速变化的更好响应。它还具有更小的内存占用空间,并且没有不必要的进程唤醒,从而提高了能效。
撰写笔记本电脑页面
如果您想创建或修改任何笔记本电脑页面,请参阅 帮助:笔记本电脑页面指南。
参见
常规
- CPU 频率缩放 是一项主要由笔记本电脑使用的技术,它允许操作系统根据当前的系统负载和/或电源方案动态调整 CPU 频率。
- 显示电源管理信号 描述了如何在设定的不活动时间间隔后自动关闭笔记本电脑屏幕(不仅仅是屏幕保护程序变黑,而是完全关闭)。
- 无线网络配置 提供了有关设置无线连接的信息。
- 键盘输入 描述了媒体键的配置。
- acpid 是一个灵活且可扩展的守护程序,用于传递 ACPI 事件。
特定笔记本电脑类型的页面
- 请参阅 Category:Laptops 及其子类别,以获取专门针对特定型号/供应商的页面。
- ThinkPad 的电池调整可以在 TLP 和 tp_smapi 文章中找到。
- 有关专为最新的 ROG 和 TUF 笔记本电脑设计的工具集,请参阅 ASUS Linux。
外部资源