1
29
2013
2

Archlinux on ThinkPad L430

甲、前言

出于特殊需求,花将近3000买了这个 ThinkPad L430。

一、配置

  • CPU:Intel Pentium B980 @ 2.40GHz  #Sandy Bridge 的,主频还可以
  • 显卡:HD 3000 核显 + Quadro NVS 5400M 独显  #奇葩的型号,好像是啥绘图卡,感觉和610M水准差不多
  • 内存:2GB  #跑Win7HB和Linux足矣
  • 硬盘:320GB HDD
  • 14吋屏幕、DVD刻录机、有摄像头、没指纹识别、预装Win7HB

二、吐槽

  • 指纹识别呢?我一直觉得 ThinkPad 这个很厉害,结果发现便宜货上没有……
  • 第一天就发现光驱是坏的,送回去修了,略郁闷。
  • Win7 预装了一坨联想的东西,还有啥QQ电脑管家,去死吧……

 

乙、正文

一、安装

没啥特别的,按照 Archwiki 走即可。无线有线都能用。

注意要是之前在 Windows 用 Fn+F5 关闭了无线,必须在 Windows 打开才能用。后面还会提到这个问题。

 

二、硬件驱动

显卡

还是用 bumblebee + bbswitch 处理 NVIDIA + Intel 的双显卡问题,资料自己看 wiki 吧。

至于双显示器,我测试了是没问题的。禁用N卡的情况下无法用 nvidia-xconfig 配置 TwinView,而Xfce自带那个又特别简陋。推荐使用 arandr 配置,挺好使的:

触摸板

很普通的型号,安装 xf86-input-synaptics 即可。

键盘

  • 音量调节、静音在 Xfce 下工作正常。
  • Fn+F3 大概是锁屏,我没用过,Xfce 貌似没锁屏的工具。
  • Fn+F4 是休眠键,Xfce 下无需配置即可使用。可在电源管理器中配置具体行为。
  • Fn+F5 是无线开关,可以用于软件禁用无线。相关的一个 bug 见上文。
  • Fn+F6/7 是屏幕亮度调节,Xfce 下无需配置即可正常使用。
  • Fn+F8 是显示器切换,Xfce 下使用会弹出一个简单的显示设置,正常。
  • 大写锁定没有屏显,不过自己配置一下应该也不难。
  • 剩下的Fn组合,我准备随便绑定些特殊功能

指点杆(小红点)

参考:http://crunchbang.org/forums/viewtopic.php?pid=284647#p284647

指点杆有点小问题,不配置的话用不了。

创建 /etc/modprobe.d/trackpoint-elantech.conf,内容:

options psmouse proto=bare

重新载入 psmouse 模块或重启即可。

无线网卡

开箱即用,Fn+F5 可以软件关闭 wifi。

但有个bug:Windows 下禁用 wifi 后, Linux 下无法唤醒,rfkill 显示已通过硬件开关禁用。目前没找到解决方案,所以轻易不要卸载预装的 Windows。

我在英文论坛发了个帖子,至今无回复,求挽尊……

以太网卡

型号是 Realtek RTL8111/8168B。内核里有兼容的 r8169 的驱动。但 wiki 建议用Realtek官方提供的 r8168 驱动,仓库里有。

摄像头

开箱即用,可以安装 cheese 自己试试,打开 cheese 后摄像头旁就会有个灯亮,表示正常工作。

 

三、电源管理

Linux 下电源管理工具繁多,功能多有重叠。而 Arch 刚全面切换 systemd,很多文档跟不上,只能摸索着走,让人头大。

ACPI 事件处理

概览
  • 所谓 ACPI 事件,就是使用电源键、开合笔记本盖、切换AC电源等和电源有关的事件。
  • systemd 能处理部分 ACPI 事件,包括按下开机键、使用睡眠/待机键、开合笔记本盖等。但不能处理电池、电源事件。
  • acpid 能处理各种 ACPI 事件,以前 sysvinit 时代几乎是必装的。
  • 主流桌面环境(Gnome/KDE/Xfce等)有自己的电源管理,能处理各种 ACPI 事件、监视电池状态等。
软件选择

systemd 的处理机制对于 tty 用户一般足用,反正命令行下貌似也不用考虑屏幕亮度。电池/电源切换时,使用其他工具改变性能策略即可,详见后文。

acpid 删除了貌似也没啥事儿,而且说是会和 systemd 啥的冲突,就别装了。

我是“普通用户”,没理由不选择桌面环境自带的 GUI 的电源管理器。据 Archwiki,GNOME、KDE 的电源管理会在运行时自动取代 systemd 的,不会
冲突。但我用的是 Xfce,需要考虑冲突问题。

解决 Xfce 电源管理和 systemd 的冲突

参考:ArchWiki

/etc/systemd/logind.conf 配置 systemd 的 ACPI 事件处理方式:

#HandlePowerKey=poweroff        #按下开机键或等价的组合键——关机
#HandleSuspendKey=suspend       #按下待机键或等价的组合键——待机
#HandleHibernateKey=hibernate   #按下休眠键或等价的组合键——休眠
#HandleLidSwitch=suspend        #合上笔记本盖——待机
#PowerKeyIgnoreInhibited=no     #最后四行:“放权”后是否仍处理该事件
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes

把四种事件的处理方式都设置为 ignore,这样 systemd 就不会处理相关事件了,也就不会与桌面环境自带的电源管理器冲突。

但我采取了另一种方法。Archwiki 上提到 GNOME、KDE 会通过发送 inhibited 指令暂时关闭 systemd 的处理机制,我就 man 了一把,发现了 systemd-inhibit 这个命令,可以让 systemd 在运行某个程序时不处理 ACPI 事件。

在 Xfce 启动项中创建新启动项,命令为

systemd-inhibit xfce4-power-manager --no-daemon

禁用自带“电源管理器”启动项即可。(简单起见,也可以在 .xinitrc 直接用 exec systemd-inhibit xfce4-session 启动 Xfce。)


性能策略

概览
  • 所谓“性能策略”,就是在切换电池/电源时,自动切换低功耗/高性能模式。具体调节内容包括:CPU频率、硬盘转速、屏幕亮度等等。处理的工具也有很多,且功能多有重叠。
  • 首先,内核自身就能完成一部分。最新内核的默认CPU性能策略是 ondmand,即根据CPU使用率动态降频。另外还有 laptop mode 的设置,可以减少系统的硬盘操作。
  • Arch 源里提供了 Laptop Mode Tools 这个工具。可以在开机或电源切换时自动完成CPU、硬盘、光驱、网卡等设备的性能策略的切换。是个大综合工具。
  • AUR 里的 TLP 和 Laptop Mode Tools 功能差不多,安装一个即可。
  • 桌面环境的电源管理也能处理一部分,包括空闲时降低屏幕亮度、关闭显示屏等。
解决方案

Laptop Mode Tools 配置好麻烦,而且还依赖 acpid,所以弃了改用 TLP。TLP 的配置文件(/etc/default/tlp)各项都挺好懂的,绝大多数配置用默认的即可。如果想设置无线设备节能策略,还需要安装 tlp-rdw,这样配置文件最后一部分就能起效了。具体参见 Archwiki

CPU性能策略让 TLP 切换即可,然后留一个 cpupower,方便手动调节。

显示器嘛,让桌面环境处理挺好的。唯一的瑕疵是Xfce没锁屏工具。

解决方案 —— 小心硬盘

硬盘有个大坑,就是传说中的 Load_Cycle_Count 问题。据说到了几十万硬盘就会挂。我观察了一下,果然默认设置下 Linux 下这玩意儿增长的很快。

物理特征是:过一段时间机器会变得好像一点声音都没有(其实是硬盘停转了),然后突然发出细微的“吱~”音,此时 Load_Cycle_Count 增长1下。

虽然我觉得没声音的那会儿感觉特棒,但为了硬盘寿命还是悠着点儿吧。解决方法是调节硬盘 APM 级别,这个也可以由 TLP 完成。经我的实验,我把 TLP 配置里的硬盘 APM 级别配置为:

DISK_APM_LEVEL_ON_AC="230"
DISK_APM_LEVEL_ON_BAT="115"

其中,数值 1~127 会触发硬盘自动停转,127 以上则不会(但貌似 Load_Cycle_Count 还是会增长)。电池供电时用 115 其实还是增长得比较快,但考虑到一般还是用 AC,所以不会有太大风险吧,算是节能与寿命的折中。

BTW,知道 Windows 下为何没这个 Load_Cycle_Count 的问题吗?因为 Windows 貌似会一直读硬盘,根本不会触发节能……
 

待机与休眠

待机/休眠应该算是开箱即用的了,Network Manager 会自动断线和重连。待机问题不大,但休眠还是有不少问题,我遇到的有:

  • 睡不过去,只能强关 —— 偶尔
  • 醒不过来,那就扔了副本直接启动吧 —— 偶尔
  • 醒过来了是黑屏,必须切 tty 再切回来才行 —— 每次都是
  • 醒来后 TLP 状态不对 —— 每次都是

算的上解决的只有最后一个。方法是,建立一个睡眠唤醒时执行的重置TLP的脚本,放到 /lib/systemd/system-sleep/tlp.sh ,内容为:

#!/bin/sh
case $1 in
  post)
    /usr/sbin/tlp start
    ;;
esac
exit 0

= = 唉,头两个问题摸不着规律,管不了。第三个不知从何下手。

 

丙、后记

诶,过完春节才想起来我还有个 Blog…… 本文补完。

现在发觉2G内存确实有点小,虽然一般看个网页用不完,但要同时打 Minecraft 同时看网页教程……

目前这个本本运行得还是不错滴。如果成功无故障运行三个月,我就去亚马逊给评一下。

Category: 计算机 | Tags: arch linux systemd XFCE 优化 笔记本 软件 电源管理 | Read Count: 8932
Avatar_small
荒野无灯 说:
2013年10月07日 17:51

我的HP ProBook 已经无故障运行超过4-5年了。

Avatar_small
EBT Result 说:
2022年9月02日 00:43

Government of the People’s Republic of Bangladesh, Directorate of Primary Education (DPE), is going to announce PSC Result 2022 in student wide on 30th December 2022 for all divisional Grade 5 exam result with Ebtedayee Result 2022 for annual final terminal examinations, The Primary School Certificate Examination Result 2022 will be announced for both of General and Madhrsah students in division wise to all education board known as Prathomik Somaponi Result 2022. EBT Result The DPE has successfully conducted the class 5th grade PSC and Ebtedayee Examination tests from 17th to 24th November 2022 under all education boards of Dhaka, Chittagong, Comilla, Rajshahi, Sylhet, Barisal, Jessore, Dinajpur and Madrasah Board, and the DPE Grade-5 exams are successfully conducted at all 7,194 centers across the country.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com