标題: 筆記本上使用Archlinux
http://www.linuxsir.org/bbs/thread266584.html
轉自 http://arithboy.org/wiki/Laptop.html那裡的排版可能會好些~
近日購得二手筆記本一台,在其上運作linux的一些設定記錄如下:
型号為 ThinkPad T30
網絡環境的配置
近日購得二手筆記本一台,在其上運作linux的一些設定記錄如下:
型号為 ThinkPad T30
laptop-mode的配置
設定筆記本的待機
cpu自動降頻
監測硬碟,cpu,電池等
thinkpad筆記本的熱鍵設定
DPMS的使用
網絡環境的配置
首先添加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的值會被更新.
當有多個配置時,檔案名以字典序排列,數字開頭則比較友善,數字最小的為預設網絡配置.
laptop-mode的配置
安裝 laptop-mode-tools 軟體包.
編輯檔案/etc/laptop-mode/laptop-mode.conf
預設設定已經能夠滿足需要了,隻要把CONTROL_開頭的打開即可,
裡面包含了硬碟,cpu等多方面的設定,能極大延長電池的使用時間, 推薦使用.
設定筆記本的待機
安裝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 #添加這句
;;
...修改腳本以後,重起服務即可生效.
代碼:/etc/rc.d/acpid restart有個問題就是待機時usb口仍然供電,在windows下則無此現象.
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
監測硬碟,cpu,電池等
arch中監測支援smart硬碟溫度軟體有smartmontools和hddtemp,第一個監測的功能很多,我們使用第二個,
代碼:[[email protected] proc]$ sudo hddtemp -n /dev/hda
51
監測cpu頻率,溫度,電池等.
這些資訊都在/proc/acpi中,一般視窗管理器裡面自帶腳本/插件都可以監測,若沒用的話,使用某個腳本語言,用正規表達式抓取資料也是很容易的.
conky可以将資料輸出到桌面.
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等熱鍵.
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/How_to...#Action_Script
__________________
[Archlinux]=the stability and simplicity of Slackware and the speed of Gentoo
Welcome to my WiKi
http://arithboy.org/wiki/
轉載于:https://blog.51cto.com/axlrose/1292660