作者:tx-cary
来自:http://arithboy.org/wiki/Laptop.html
摘要:笔记本上配置使用Archlinux,比如电源管理,CPU降温,热键设置及DPMS的使用等;
近日购得二手笔记本一台,在其上运行linux的一些设置记录如下:
型号为 ThinkPad T30
目录
1、网络环境的配置
首先添加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)
... 例如文件/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 安装 laptop-mode-tools 软件包.
编辑文件/etc/laptop-mode/laptop-mode.conf
默认设置已经能够满足需要了,只要把CONTROL_开头的打开即可,
里面包含了硬盘,cpu等多方面的设置,能极大延长电池的使用时间, 推荐使用.
3、设置笔记本的待机
安装acpid,机器待机时,背光仍然打开,主要是使用radeon的显卡可能会有这个问题.
详细的描述见1,使用radeontool解决该问题,脚本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 #添加这句
;;
...修改脚本以后,重起服务即可生效.
/etc/rc.d/acpid restart有个问题就是待机时usb口仍然供电,在windows下则无此现象.
4、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.kocpu降频的软件包有cpufreqd和cpufrequtils,后来发现laptop-mode-tools里面直接可以控制cpu频率和throttling.推荐使用这个.
需要在rc.conf中添加speedstep-ich和ondemand
5、监测硬盘,cpu,电池等
arch中监测支持smart硬盘温度软件有smartmontools和hddtemp,第一个监测的功能很多,我们使用第二个,
[arch@localhost proc]$ sudo hddtemp -n /dev/hda
51 监测cpu频率,温度,电池等.
这些信息都在/proc/acpi中,一般窗口管理器里面自带脚本/插件都可以监测,若没用的话,使用某个脚本语言,用正则表达式抓取数据也是很容易的.
conky可以将数据输出到桌面.
6、thinkpad笔记本的热键设置
主要使用ibm_acpi模块,其它品牌笔记本不适用.
添加ibm_acpi到rc.conf中的MODULES,在/etc/modprobe.conf
添加
options ibm_acpi hotkey=enable,0xffff experimental=1这样运行 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切换显示器使用
echo video_switch > /proc/acpi/ibm/videoecho 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
;;
... 修改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 我这里dpms一直无法使用,将驱动从"versa"换为"radeon"(软件包为 xf86-video-ati)后dpms正常,但是它与/proc/acpi/ibm/video冲突.具体就是不能使用上面Fn+F7来切换显示器.后发现使用laptop-mode-tools 可以控制dpms,驱动还是使用"vesa"较方便.
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/How_to_configure_acpid#Action_Script
评论
Found Authentic louis
Found Authentic louis vuitton wallet on MALLERIES - Authentic Louis Vuitton Cherry Cerises Zippered Wallet.louis vuitton outlet discount on sale, outlet louis vuitton purses, shoes, sunglasses are 75% off online! Enjoy our louis vuitton outlet new arrivals free shipping.Choose ideal Louis Vuitton accessory to match your look and figure and also the occasion. Authentic louis vuitton wallets 2011 On Sale At Our Online Store.