重新装回Gentoo
这次没有纠结于选择哪个桌面环境上,我一点也不嫌弃GNOME的臃肿,于是装了个gnome-light。USE Flag把以前用过的拿过来修改了一下,顺便提一句,在我不用Gentoo的这段时间听说hal被干掉了,所以我也追风把hal标记给去掉了。
启动的时候使用grub2,本来打了915resolution补丁来使grub宽屏显示,但是打的补丁和grub-1.98似乎不是特别搭配,导致启动grub前后各有5秒停滞时间,加上grub启动过后仍然会有一个分辨率只有640x480的屏幕,我干脆就不用915resolution补丁了。使用grub2,配上ext4分区,就可以不使用initramfs了,关键在两点,一是内核中ACHI选项要编译进内核,二是kernel行参数中不要使用UUID。
说一下一些Thinkpad相关的配置:
一是声卡驱动。Thinkpad T410的声卡应该是CONEXANT的,但是选择这个驱动后内核还是不认我的声卡。最后只好选择了通用驱动。
二是hdaps,所谓的硬盘防震保护系统。portage里面相关的三个包,一个是hdaps模块,一个是GNOME的Applet,还有一个是OpenGL绘制的小程序,用来展示你的笔记本目前的水平状态。
三是Thinkpad相关的快捷键。目前键盘上展示的快捷键基本上都能用,除了Fn+F6的“摄像头、耳机”、Fn+F8的“触摸板、小红点切换”还有麦克风静音三个按钮不能工作。根据Thinkwiki的这里说,Fn+F8可以通过thinkpad-acpi或者tps使之工作,其他两个目前还没办法。不过我连Fn+F8都没搞定,只是自己写了个脚本,用来切换触摸板的开关(用小红点的时候肯定很讨厌触摸板开着):
#!/bin/bash status=`synclient -l | grep TouchpadOff | awk '{print $3}'` if [ $status -eq 0 ] then synclient TouchpadOff=1 notify-send "Touchpad is disabled!" elif [ $status -eq 1 ] then synclient TouchpadOff=0 notify-send "Touchpad is enabled" fi
把它保存为脚本,加上x权限,通过GNOME的键盘快捷键来控制,比如Win+Space。
另外我给蓝牙设置了一个快捷键。笔记本上那个蓝色的ThinkVantage按钮没用到,就把它绑定了一个ACPI事件,设置为给蓝牙控制开关。事件代码如下:
event=ibm/hotkey HKEY 00000080 00001018 action=/home/caspar/.local/bin/bluetooth.sh
上述代码保存为ACPI事件文件,如/etc/acpi/events/bluetooth。快捷键对应的KEY CODE可以到Thinkwiki上面去找,也可以看内核的:Documentation/laptop/thinkpad-acpi.txt文档。至于用于控制的bluetooth.sh脚本,则如下(代码来源仍旧是ThinkWiki,看这里):
#!/bin/bash NAME="tpacpi_bluetooth_sw" find_by_name() { NAME="$1" test -z "${NAME}" && return 1 SYSFS_NAME=$(find -P /sys -name name -path "*/rfkill/*" -exec grep -l "${NAME}" \{\} + | head -n 1) if [[ ! -z "${SYSFS_NAME}" && -r "${SYSFS_NAME/%name/state}" ]]; then RESULT=${SYSFS_NAME%%/name} echo $RESULT return 0 fi return 1 } SYSFS="$(find_by_name "${NAME}")" if [[ ! -z "${SYSFS}" && -r "${SYSFS}/state" ]]; then case "$(cat "${SYSFS}/state")" in 0) echo 1 > "${SYSFS}/state" ;; 1) echo 0 > "${SYSFS}/state" ;; esac fi
重启ACPI服务就可以看到蓝牙可以被ThinkVantage按钮控制了。
目前还不能工作的设备有:指纹识别器,从lshw中看到似乎还有HECI控制器(Intel似乎不想管这个咚咚了?)、温度检测设备(Thermal Subsystem)和一个Ricoh的外围设备。
最后向使用Thinkpad的同学严重推荐ThinkWiki。
P.S. 设置充电阈值:据说如果电池不怎么经常使用的话,充电不充满有利于延长电池寿命(Win7下的配套软件是这么说的),所以可以设置一个充电阈值,把下面命令放到/etc/conf.d/local.start去:
echo 95 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

以前有个T60,但是悲剧了,,说起来都是泪啊
原来在T60上折腾的指纹,不知道还管用不
http://forum.byr.edu.cn/pc/pccon.php?id=1117&nid=64869&order=&tid=0
T410不能用Thinkfinger,Thinkwiki上说可能可以使用fprint,但是经过验证是不行的。fprint的网站上说好像就T410的指纹识别器不支持。