甲、前言

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

一、配置

二、吐槽

 

乙、正文

一、安装

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

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

 

二、硬件驱动

显卡

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

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

触摸板

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

键盘

指点杆(小红点)

参考: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 事件处理

概览
软件选择

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。)


性能策略

概览
解决方案

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 会自动断线和重连。待机问题不大,但休眠还是有不少问题,我遇到的有:

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

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

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

 

丙、后记

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

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

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