|
|
转自http://arithboy.org/wiki/Laptop.html那里的排版可能会好些~
近日购得二手笔记本一台,在其上运行linux的一些设置记录如下:
型号为 ThinkPad T30
网络环境的配置
近日购得二手笔记本一台,在其上运行linux的一些设置记录如下:
型号为 ThinkPad T30
laptop-mode的配置
设置笔记本的待机
cpu自动降频
监测硬盘,cpu,电池等
thinkpad笔记本的热键设置
DPMS的使用
[size=+2] 网络环境的配置
首先添加udev规则,解决两个网卡的顺序问题.
编辑/etc/udev/rules.d/10-network.rules
- SUBSYSTEM=="net", SYSFS{address}=="00:02:8a:47:f4:a5", NAME="wlan0"
- SUBSYSTEM=="net", SYSFS{address}=="00:09:6b:06:a5:b4", NAME="lan0"
复制代码
笔记本上经常移动,需要多套网络的配置.
编辑rc.conf
- ...
- HOSTNAME="localhost"
- lo="lo 127.0.0.1"
- INTERFACES=(lo)
- NET_PROFILES=(menu)
- ...
复制代码
将NET_PROFILES=(menu)打开,在/etc/network-profiles/中添加配置文件.
例如文件/etc/network-profiles/20-home
- DESCRIPTION="home"
- INTERFACE=lan0
- HOSTNAME=localhost
- IFOPTS="219.242.113.92 netmask 255.255.255.0 broadcast 219.242.113.255 hw ether 00132051A785"
- GATEWAY=219.242.113.1
- DNS1=202.112.144.30
复制代码
使用sudo /etc/rc.d/network restart则可更改网络设置,/etc/resolv.conf的值会被更新.
当有多个配置时,文件名以字典序排列,数字开头则比较方便,数字最小的为默认网络配置.
[size=+2] laptop-mode的配置
安装 laptop-mode-tools 软件包.
编辑文件/etc/laptop-mode/laptop-mode.conf
默认设置已经能够满足需要了,只要把CONTROL_开头的打开即可,
里面包含了硬盘,cpu等多方面的设置,能极大延长电池的使用时间, 推荐使用.
[size=+2] 设置笔记本的待机
安装acpid,机器待机时,背光仍然打开,主要是使用radeon的显卡可能会有这个问题.
详细的描述见[1],使用radeontool(PKGBUILD附后)解决该问题,脚本[2]如下:
- #!/bin/sh
- # if launched through a lid event and lid is open, do nothing
- echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0
- # remove USB 1.1 driver
- rmmod uhci_hcd
-
- # sync filesystem and clock
- sync
- /sbin/hwclock --systohc
- # switch to console
- FGCONSOLE=`fgconsole`
- chvt 6
- /usr/sbin/radeontool light off
- # go to sleep
- sleep 5 && echo -n "mem" > /sys/power/state
- # readjust the clock (it might be off a bit after suspend)
- /sbin/hwclock --adjust
- /sbin/hwclock --hctosys
- # reload USB 1.1 driver
- modprobe uhci_hcd
- # turn on the backlight and switch back to X
- radeontool light on
- chvt $FGCONSOLE
复制代码
将脚本保存在/etc/acpi/actions/sleep.sh,并chmod +x sleep.sh
修改/etc/acpi/handler.sh
按下sleep按键时(我这里是Fn+F4)执行sleep.sh,进入待机
- ...
- button/sleep)
- case "$2" in
- SLPB) #echo -n mem >/sys/power/state ;;
- /etc/acpi/actions/sleep.sh;;#注释掉上句,添加这句
- ...
复制代码
合上屏幕时,待机
- ...
- button/lid)
- #echo "LID switched!">/dev/tty5
- /etc/acpi/actions/sleep.sh #添加这句
- ;;
- ...
复制代码
修改脚本以后,重起服务即可生效.
有个问题就是待机时usb口仍然供电,在windows下则无此现象.
[size=+2] cpu自动降频
查找所需要的模块
- modprobe -l |grep cpufreq
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_powersave.ko
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_stats.ko
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_userspace.ko
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_ondemand.ko
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/cpufreq_conservative.ko
- /lib/modules/2.6.17-ARCH/kernel/drivers/cpufreq/freq_table.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/longrun.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k7.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k6.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-lib.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-ich.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/p4-clockmod.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/gx-suspmod.ko
- /lib/modules/2.6.17-ARCH/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko
复制代码
我的cpu是P4M1.6GHZ,选择speedstep-ich.ko,同时需要cpufreq governors:
我这里显示有5个可以选择 userspace, powersave, ondemand, conservative, perform
ance.
cpu降频的软件包有cpufreqd和cpufrequtils,后来发现laptop-mode-tools里面直接可以控制cpu频率和throttling.推荐使用这个.
需要在rc.conf中添加speedstep-ich和ondemand
[size=+2] 监测硬盘,cpu,电池等
arch中监测支持smart硬盘温度软件有smartmontools和hddtemp,第一个监测的功能很多,我们使用第二个,
- [arch@localhost proc]$ sudo hddtemp -n /dev/hda
- 51
复制代码
监测cpu频率,温度,电池等.
这些信息都在/proc/acpi中,一般窗口管理器里面自带脚本/插件都可以监测,若没用的话,使用某个脚本语言,用正则表达式抓取数据也是很容易的.
conky可以将数据输出到桌面.
[size=+2] thinkpad笔记本的热键设置
主要使用ibm_acpi模块,其它品牌笔记本不适用.
添加ibm_acpi到rc.conf中的MODULES,在/etc/modprobe.conf
添加
- options ibm_acpi hotkey=enable,0xffff experimental=1
复制代码
指定加载模块时的参数,hotkey=enable,0xffff指明使用尽可能多的快捷键,experimental=1打开一些在测试中的功能,如控制cpu风扇等,启用hotkey功能后,Fn+F4组合键将不产生sleep的acpi的事件,而是ibm/hotkey事件.
这样运行 acpi_listen后,可以监测Fn+F1-F12中那些组合产生acpi的事件,我这里是
F3,F4,F7,F8,F12.我将F3设置为开关屏幕,F4为待机,F7为切换显示器,F8为关闭bay(用来热拔插光驱或第2块电池),F12设置为关机.
我们使用radeontool来切换,它没有监测lcd状态的功能,可以使用脚本来简单判断lcd的状态.
/etc/acpi/actions/lcd_switch.sh
- #!/bin/sh
- flag=/tmp/thinkpad_lcd_off
- if [ -e $flag ]; then
- /usr/sbin/radeontool light on
- rm -f $flag
- else
- /usr/sbin/radeontool light off
- > $flag
- fi
复制代码
注意要chmod +x lcd_switch.sh
切换显示器使用
- echo video_switch > /proc/acpi/ibm/video
复制代码
关闭bay使用
- echo eject > /proc/acpi/ibm/bay
复制代码
修改handler.sh
- ...
- ibm/hotkey)
- case "$2" in
- HKEY)
- case "$4" in
- 00001003) #echo "f3" >/dev/tty5
- /etc/acpi/actions/lcd_switch.sh
- ;;
- 00001004) #echo "f4" >/dev/tty5
- /etc/acpi/actions/sleep.sh
- ;;
- 00001007) #echo "f7" >/dev/tty5
- echo video_switch > /proc/acpi/ibm/video
- ;;
- 00001008) #echo "f8" >/dev/tty5
- echo eject > /proc/acpi/ibm/bay
- ;;
- 0000100c) #echo "f12" >/dev/tty5
- /sbin/halt
- ;;
- esac
- ;;
- *) logger "ibm_acpi undefined:$2";;
- esac
- ;;
- ...
复制代码
使用tpb可以在屏幕上显示音量等信息,还可以设置thinkpad等热键.
[size=+2] DPMS的使用
修改xorg.conf在Section "Monitor" 中添加 Option "DPMS",在 Section "ServerLayout" 中添加
-
- Option "StandbyTime" "20" # Turn off screen in 20 minutes
- Option "SuspendTime" "30" # Full hibernation in 30 minutes
- Option "OffTime" "40" # Turn off DPMS monitor
复制代码
使用xset dpms force standby可以立即查看效果.
我这里dpms一直无法使用,将驱动从"versa"换为"radeon"(软件包为 xf86-video-ati)后dpms正常,但是它与/proc/acpi/ibm/video冲突.具体就是不能使用上面Fn+F7来切换显示器.后发现使用laptop-mode-tools 可以控制dpms,驱动还是使用"vesa"较方便.
#radeontool
radeontool的PKGBUILD
- pkgname=radeontool
- pkgver=1.5
- pkgrel=2
- pkgdesc=
- url="http://fdd.com/software/radeon/"
- license=GPL
- depends=('pciutils')
- makedepends=()
- backup=()
- source=( http://fdd.com/software/radeon/$pkgname-$pkgver.tar.gz)
- md5sums=(8065eebe5a2b163e43b40461bfe49a56)
- build() {
- cd $startdir/src/$pkgname-$pkgver
- make || return 1
- mkdir -p $startdir/pkg/usr/sbin
- cp $pkgname $startdir/pkg/usr/sbin
- }
复制代码
[1] http://www.thinkwiki.org/wiki/How_to_configure_acpid
[2] http://www.thinkwiki.org/wiki/Ho ... acpid#Action_Script |
|