LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 06-08-02, 17:27 第 1 帖
threedot 帅哥
 
threedot 的头像
 
 
注册会员  
  注册日期: Sep 2005
  我的住址: 北京
  帖子: 330
  精华: 6
 

标题: 笔记本上使用Archlinux


转自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,第一个监测的功能很多,我们使用第二个,
代码:
[arch@localhost 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/
  threedot 当前离线   回复时引用此帖
旧 06-08-02, 17:36 第 2 帖
d4rkl0rd
 
d4rkl0rd 的头像
 
 
注册会员  
  注册日期: Feb 2006
  帖子: 146
  精华: 0
 

哇。太好了。我正在T23上用ARCH。。受益。呵呵
  d4rkl0rd 当前离线   回复时引用此帖
旧 06-08-02, 17:42 第 3 帖
sssslang
 
sssslang 的头像
 
 
注册会员  
  注册日期: Sep 2004
  帖子: 484
  精华: 4
 

相当好的教程,早点看到就好了 ^_^







__________________
来发贴之前,我颤抖地敲下了pacman -Syu……
Arch 升级要看人品,所以── Do people want thick road.

Dothan 1.7G + 768M + ATI Radeon Mobility M6 LY + 40G
Archlinux + Fvwm +urxvt + Emacs
  sssslang 当前离线   回复时引用此帖
旧 06-08-02, 20:32 第 4 帖
cocozsdo
 
 
 
注册会员  
  注册日期: Apr 2004
  帖子: 39
  精华: 0
 

可惜俺的杂牌机快捷键不能用。
  cocozsdo 当前离线   回复时引用此帖
旧 06-08-02, 20:56 第 5 帖
threedot 帅哥
 
threedot 的头像
 
 
注册会员  
  注册日期: Sep 2005
  我的住址: 北京
  帖子: 330
  精华: 6
 

引用:
作者: cocozsdo
可惜俺的杂牌机快捷键不能用。
xmodmap能认出来的话,使用窗口管理器来响应,然后运行程序,也不错~
  threedot 当前离线   回复时引用此帖
旧 06-08-02, 22:16 第 6 帖
tx-cary 帅哥
 
tx-cary 的头像
 
 
注册会员  
  注册日期: Dec 2003
  我的住址: 广西南宁
  帖子: 2,457
  精华: 14
 

写得很好,很详细。精华!

By the way. 我的本本是Asus Z91517VC,运行Arch,一切正常。用beyond内核工作良好。

我的配置是 PM1.73GHz,intel915芯片,60G硬盘(日立),X700显卡,Intel2200BG的mini-pci无线网卡,768M内存,combo光驱,15"显示器(液晶显示器参数设置麻烦些)。除了红外接口没有试过之外,其余硬件均能正常工作。要买本本的兄弟姐妹可以参考一下。







__________________
埋葬在青藏铁路周围的牺牲者们,在全国人民都在为青藏铁路的开通庆功和欢喜的时候,我为你们虔诚的祈祷。

确实,战争胜利了。
  tx-cary 当前离线   回复时引用此帖
旧 06-08-02, 22:26 第 7 帖
fallen 帅哥
 
fallen 的头像
 
 
注册会员  
  注册日期: Mar 2005
  我的住址: 珠海
  帖子: 1,146
  精华: 0
 

em...偶用xbindkeys,也很好用的







__________________
Archlinux 2007.08-2+kernel-2.6.24-ARCH+还是用回openbox
终于用上OSX了,可怜我用了4年的Arch就这样被我干掉了
  fallen 当前离线   回复时引用此帖
旧 06-08-03, 03:46 第 8 帖
fluke 帅哥
 
 
 
注册会员  
  注册日期: Oct 2004
  我的住址: 韶关
  帖子: 529
  精华: 0
 

问一下,那个降频,台式机器能用么?我在南方,夏天cpu容易因为温度过高而导致自动关机。







__________________
http://blog.ospattern.net

NoteBook:
Dell Insprion 1420
T5450
1G ram
120G disk
latest Arch32
fluxbox
opera

Desktop PC :
U: Sampron 2800+ 64bit
B: Epox 8gf6100-m
D: Samsung 730A
M: Kingmax DDR400 512M
OS: Arch64 0.80 64 bit 2.6.19

Proxy Server :
U: Celeron 500MHz
B: Intel xxx
M: 128M
OS: Arch32
  fluke 当前离线   回复时引用此帖
旧 06-08-03, 08:00 第 9 帖
threedot 帅哥
 
threedot 的头像
 
 
注册会员  
  注册日期: Sep 2005
  我的住址: 北京
  帖子: 330
  精华: 6
 

引用:
作者: fluke
问一下,那个降频,台式机器能用么?我在南方,夏天cpu容易因为温度过高而导致自动关机。
这个降频的cpufrequtils挺好用的,不知道你的台式机cpu支持不?
配置文件在/etc/conf.d/cpufreq
  threedot 当前离线   回复时引用此帖
旧 06-08-03, 17:25 第 10 帖
d4rkl0rd
 
d4rkl0rd 的头像
 
 
注册会员  
  注册日期: Feb 2006
  帖子: 146
  精华: 0
 

回家试试
  d4rkl0rd 当前离线   回复时引用此帖
旧 06-08-03, 22:33 第 11 帖
fluke 帅哥
 
 
 
注册会员  
  注册日期: Oct 2004
  我的住址: 韶关
  帖子: 529
  精华: 0
 

:: Setting cpufreq governing rules [BUSY] wrong, unknown or unhandled CPU?
貌似不支持
  fluke 当前离线   回复时引用此帖
旧 06-08-09, 18:49 第 12 帖
atfa
 
atfa 的头像
 
 
LinuxSir  
  注册日期: Jul 2002
  我的住址: 天府之国―成都
  帖子: 1,220
  精华: 17
 

不知道怎么样才可以在我河上笔记本屏幕以后再打开的时候自动运行screensaver的密码保护?

谢谢


另外,CPU的自动变频并不是所有的CPU都一样的设置

反正我尝试了很多的模块组合都没有搞定

gnome里面倒是可以选择CPU使用按需(ondemand)模式

但是没有效果







__________________
wellcome to www.linuxidea.org

此帖于 06-08-09 19:00 被 atfa 编辑.
  atfa 当前离线   回复时引用此帖
旧 06-08-09, 19:34 第 13 帖
threedot 帅哥
 
threedot 的头像
 
 
注册会员  
  注册日期: Sep 2005
  我的住址: 北京
  帖子: 330
  精华: 6
 

引用:
作者: atfa
不知道怎么样才可以在我河上笔记本屏幕以后再打开的时候自动运行screensaver的密码保护?

谢谢


另外,CPU的自动变频并不是所有的CPU都一样的设置

反正我尝试了很多的模块组合都没有搞定

gnome里面倒是可以选择CPU使用按需(ondemand)模式

但是没有效果
响应打开时的acpid的事件,写相应的脚本就就行吧?
我这里开合上盖事件分别为
代码:
$ acpi_listen ibm/hotkey HKEY 00000080 00005001 button/lid LID 00000080 00000001
你研究研究

你运行一下cpufreq-info( cpufrequtils包中)看有什么提示
我这里
代码:
cpufreq-info cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to linux@brodo.de, please. analyzing CPU 0: driver: speedstep-ich CPUs which need to switch frequency at the same time: 0 hardware limits: 1.20 GHz - 1.60 GHz available frequency steps: 1.60 GHz, 1.20 GHz available cpufreq governors: ondemand, performance current policy: frequency should be within 1.20 GHz and 1.60 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.60 GHz.
  threedot 当前离线   回复时引用此帖
旧 06-08-09, 19:53 第 14 帖
atfa
 
atfa 的头像
 
 
LinuxSir  
  注册日期: Jul 2002
  我的住址: 天府之国―成都
  帖子: 1,220
  精华: 17
 

代码:
# cpufreq-info cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to linux@brodo.de, please. analyzing CPU 0: driver: centrino CPUs which need to switch frequency at the same time: 0 hardware limits: 600 MHz - 1.70 GHz available frequency steps: 1.70 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz available cpufreq governors: ondemand, performance current policy: frequency should be within 600 MHz and 1.70 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.70 GHz (asserted by call to hardware).
最后比你的多了一个 (asserted by call to hardware)
重启一下看看
  atfa 当前离线   回复时引用此帖
旧 06-08-09, 19:58 第 15 帖
atfa
 
atfa 的头像
 
 
LinuxSir  
  注册日期: Jul 2002
  我的住址: 天府之国―成都
  帖子: 1,220
  精华: 17
 

发现问题的所在了

在rc.conf里只需要添加需要的模块即可

我以前多添加了一个cpufreqd在启动进程里面

反而有问题了

现在研究一下解除待机状态时候锁屏的问题
  atfa 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 06:42


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2008, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2007, LinuxSir.Org