Difference between revisions of "ACPI action script for battery events"

From ThinkWiki
Jump to: navigation, search
Line 2: Line 2:
 
Usually this is saved as {{path|/etc/acpid/actions/battery.sh}}.
 
Usually this is saved as {{path|/etc/acpid/actions/battery.sh}}.
  
{{Box Code|Code Title|
 
 
<nowiki>
 
<nowiki>
 
#!/bin/sh
 
#!/bin/sh
Line 59: Line 58:
  
 
</nowiki>
 
</nowiki>
}}
 
 
[[Category:Scripts]]
 
[[Category:Scripts]]

Revision as of 19:29, 28 October 2008

This is an example ACPI action script that makes Power Management adjustments according to if you are on battery or on AC. Usually this is saved as /etc/acpid/actions/battery.sh.

#!/bin/sh # Tried on Gentoo # cpu throttling is in here it is the cpufreq-set lines # turning swap off is only for those that feel comfortable # doing something this nasty. # comment out the laptop_mode line if you don't have it installed # pcfe, 2008-10-28 # cpu throttling # cat /proc/acpi/processor/CPU0/throttling for more info ACAD_THR=0 BATT_THR=2 # spindown time for HD (man hdparm for valid values) # I prefer 2 hours for acad and 2 min for batt ACAD_HD=244 BATT_HD=24 # Power management level # 255 (off) on AC # 128 (medium) on batt # lowered to 32, pcfe, 2004-06-23 # upped to 64, pcfe, 2004-07-14 # upped to 96, pcfe, 2004-10-20 ACAD_PM=255 BATT_PM=96 # ac/battery event handler status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state` if [ "$status" = "off-line" ] then logger "Running /sbin/laptop_mode stop" /sbin/laptop_mode stop logger "Setting HD spindown for AC mode with hdparm -S $ACAD_HD /dev/hda." /sbin/hdparm -S $ACAD_HD /dev/hda > /dev/null 2>&1 logger "Setting HD powersaving for AC mode with hdparm -B $ACAD_PM /dev/hda." /sbin/hdparm -B $ACAD_PM /dev/hda > /dev/null 2>&1 logger "Turning on swap." /sbin/swapon -a /usr/bin/cpufreq-set -g conservative else logger "Turning off swap." /sbin/swapoff -a logger "Running /sbin/laptop_mode start" /sbin/laptop_mode start logger "Setting HD spindown for battery mode with hdparm -S $BATT_HD /dev/hda." /sbin/hdparm -S $BATT_HD /dev/hda > /dev/null 2>&1 logger "Setting HD powersaving for battery mode with hdparm -B $BATT_PM /dev/hda." /sbin/hdparm -B $BATT_PM /dev/hda > /dev/null 2>&1 /usr/bin/cpufreq-set -g ondemand fi