[*] ACPI Support可以直接修改.config文件的以下部分:
[*] Sleep States
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
<*> Generic Hotkey (EXPERIMENTAL)
<*> Fan
<*> Dock
<*> Processor
<*> Thermal Zone
<M> IBM ThinkPad Laptop Extras
#上面的<M> IBM ThinkPad Laptop Extras(CONFIG_ACPI_IBM=m)即是ibm-acpi,从kernel 2.6.10 之后集成到内核里。如果你的kernel比较老,可以去http://ibm-acpi.sourceforge.net/去看看并下载。
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
# CONFIG_PM_SYSFS_DEPRECATED is not set
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_HOTKEY=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
CONFIG_ACPI_IBM=m
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
#!/bin/sh然后可以把rc.ibm-apci放到rc.M里面。当然别忘了/etc/rc.d/rc.acpid为可执行。
# ibm-acpi - Support special ACPI events on IBM Thinkpads
# $Id: ibm-acpi.init,v 1.3 2004/10/14 10:42:38 dws Exp $
case "$1" in
start|reload|restart|force-reload)
;;
stop)
exit
;;
*)
exit
;;
esac
# load the module
/sbin/modprobe ibm_acpi
# successful?
[ -d /proc/acpi/ibm ] || exit
echo enable,0xffff >/proc/acpi/ibm/hotkey
event=ibm/hotkey HKEY 00000080 00001003/etc/acpi/actions/f3.sh
action=/etc/acpi/actions/f3.sh %e
#!/bin/bash2 FN+F4 待机
# default display on current host
DISPLAY=:0.0
# find out if DPMS is enabled
STATUS=`/usr/X11R6/bin/xset -display $DISPLAY -q | grep -e 'DPMS is'`
# enable DPMS if disabled
if [ "$STATUS" == " DPMS is Disabled" ]
then
echo "Enabling DPMS ..."
/usr/X11R6/bin/xset -display $DISPLAY +dpms
fi
# find out if the monitor is on
STATUS=`/usr/X11R6/bin/xset -display $DISPLAY -q | grep 'Monitor'`
if [ "$STATUS" == " Monitor is On" ]
then
echo "[`date`] Turning display OFF"
/usr/X11R6/bin/xset -display $DISPLAY dpms force off
else
echo "[`date`] Turning display ON"
/usr/X11R6/bin/xset -display $DISPLAY dpms force on # turn monitor on
/usr/X11R6/bin/xset -display $DISPLAY s activate # un-blank monitor
fi
exit 0
event=ibm/hotkey HKEY 00000080 00001004/etc/acpi/actions/f4.sh
action=/etc/acpi/actions/f4.sh %e
#!/bin/bash3 POWER 键关机
FGCONSOLE=`fgconsole`
chvt 8
sync
hwclock --systohc
echo -n "mem" > /sys/power/state
hwclock --hctosys
vbetool post
if [ "$FGCONSOLE" -ge "7" ] ; then
chvt $FGCONSOLE
else
chvt 7
chvt $FGCONSOLE
fi
event=button/power PWRF 00000080 xxxxxxxx/etc/acpi/actions/power.sh
action=/etc/acpi/actions/power.sh %e
#!/bin/sh
# power down the system
/sbin/halt -p
| Valid XHTML & CSS©2008 dOtImes.cOm, All rights reserved.Creative CommonsLinux on Laptops TuxMobilFirefox |
Posted and Maintained by Cherife Li Last Update: Sunday, 2007-10-07, 1:05, GMT+0800. |