天天看點

筆記本上使用Archlinux[轉]

筆記本上使用Archlinux來自: http://arithboy.org/wiki/gnu/arch/Laptop.html

近日購得二手筆記本一台,在其上運作linux的一些設定記錄如下: 型号為 <nop>ThinkPad T30

tp 上功能鍵的使用

我的.xmodmaprc

keycode 227 = F30

keycode 234 = F19

keycode 233 = F20

keycode 77 = Num_Lock

remove Lock = Caps_Lock

remove Control = Control_L

remove Mod4 = Hyper_L

keycode 227 = Caps_Lock

keysym Control_L = Hyper_L

keysym Caps_Lock = Control_L

add Lock = Caps_Lock

add Control = Control_L

add Mod4 = Hyper_L以上把兩個翻頁鍵設為F19和F20,把Fn設為F30,使shift+scrlk正常工作.<br> 把caps lock鍵用于ctrl鍵,左ctrl鍵用于視窗管理器.Fn用于大小寫切換.<br> Fn做視窗管理器的modifier我沒成功,可能主機闆?已經截獲掉好多組合鍵了 Contents

網絡環境的配置 laptop-mode的配置 設定筆記本的待機 cpu自動降頻 監測硬碟,cpu,電池等 thinkpad筆記本的熱鍵設定 DPMS的使用

top 網絡環境的配置首先添加udev規則,解決兩個網卡的順序問題.<BR> 編輯/etc/udev/rules.d/10-network.rulesSUBSYSTEM=="net", SYSFS{address}=="00:02:8a:47:f4:a5", NAME="wlan0"

SUBSYSTEM=="net", SYSFS{address}=="00:09:6b:06:a5:b4", NAME="lan0"

筆記本上經常移動,需要多套網絡的配置.<BR> 編輯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的值會被更新.<BR> 當有多個配置時,檔案名以字典序排列,數字開頭則比較友善,數字最小的為預設網絡配置. top laptop-mode的配置

安裝 laptop-mode-tools 軟體包.

編輯檔案/etc/laptop-mode/laptop-mode.conf 預設設定已經能夠滿足需要了,隻要把CONTROL_開頭的打開即可, 裡面包含了硬碟,cpu等多方面的設定,能極大延長電池的使用時間, 推薦使用.

top 設定筆記本的待機

安裝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下則無此現象.

top 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

top 監測硬碟,cpu,電池等arch中監測支援smart硬碟溫度軟體有smartmontools和hddtemp,第一個監測的功能很多,我們使用第二個,[[email protected] proc]$ sudo hddtemp -n /dev/hda

51

監測cpu頻率,溫度,電池等. 這些資訊都在/proc/acpi中,一般視窗管理器裡面自帶腳本/插件都可以監測,若沒用的話,使用某個腳本語言,用正規表達式抓取資料也是很容易的. conky可以将資料輸出到桌面.

這裡有一個ion下檢測系統資訊的腳本

top thinkpad筆記本的熱鍵設定主要使用 ibm_acpi子產品,其它品牌筆記本不适用.<BR> 添加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等熱鍵. top 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正常,使用versa時,使用mplayer播放某些rmvb時,cpu占用率很高,但是畫面和聲音不同步. mplayer提示"Your system is too SLOW to play this! "使用"radeon"再增加cache的值,可以解決.

xorg.conf部配置設定置,參考34

Section "Device"

Identifier "Card0"

Driver "radeon"

Option "AGPMode" "4"

Option "EnablePageFlip" "on"

Option "Ahod" "EXA"

Option "AGPFastWrite" "yes"

Option "ColorTiling" "on"

Option "RenderA" "on"

#Option "OverlayOnCRTC1" "on"

#Option "OverlayOnCRTC2" "on"

# enable (partial) PowerPlay features

Option "DynamicClocks" "on"

# use bios hot keys on thinkpad (aka fn+f7)

Option "BIOSHotkeys" "on"

# enable radeon specific xinerama

#Option "MergedFB" "true"

#Option "CRT2Position" "RightOf"

#Option "CRT2Hsync" "50-75"

#Option "CRT2VRefresh" "30-82"

#Option "MetaModes" "1024x768-1024x768"

#Option "MergedNonRectangular" "true"

#BusID "PCI:1:0:0"

EndSectionmplayer -cache 16000 abc.rmvb radeontool的PKGBUILDpkgname=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<br />

2. http://www.thinkwiki.org/wiki/How_to_configure_acpid#Action_Script<br />

3. http://dri.freedesktop.org/wiki/ATIRadeon<br />

4. http://thinkwiki.org/wiki/Additional_options_for_the_radeon_driver

轉載于:https://blog.51cto.com/axlrose/1294423