#! /bin/sh # # chkconfig: - 99 99 # description: Starts and stops "laptop-mode" - tweaks system behavior # to extend battery life. # # config: /etc/laptop-mode/laptop-mode.conf # ### BEGIN INIT INFO # Provides: laptop-mode # Should-Start: cpufreq # Should-Stop: cpufreq # Default-Start: 2 3 4 5 # Short-Description: Control laptop mode # Description: Starts and stops "laptop-mode" - tweaks system behavior # to extend battery life. ### END INIT INFO test -f /usr/sbin/laptop_mode || exit 0 if [ -f /lib/lsb/init-functions ] ; then . /lib/lsb/init-functions else log_success_msg() { logger -t LAPTOP-MODE -p daemon.info -- $* echo "$*" } log_failure_msg() { logger -t LAPTOP-MODE -p daemon.notice -- $* echo "$*" } fi # Enable laptop mode when the system is booted when running on battery. case $1 in start) mkdir -p /var/run/laptop-mode-tools touch /var/run/laptop-mode-tools/enabled if RESULT=`/usr/sbin/laptop_mode auto` ; then log_success_msg "$RESULT" else log_failure_msg "$RESULT" fi ;; restart|reload|force-reload) # Full restart: first stop laptop mode completely (to restore default mount options etc.) mkdir -p /var/run/laptop-mode-tools rm -f /var/run/laptop-mode-tools/enabled if RESULT=`/usr/sbin/laptop_mode stop` ; then log_success_msg "$RESULT" else log_failure_msg "$RESULT" fi # Now remove files containing stored status, re-enable, and start it up again. rm -f /var/run/laptop-mode-tools/* touch /var/run/laptop-mode-tools/enabled if RESULT=`/usr/sbin/laptop_mode auto force` ; then log_success_msg "$RESULT" else log_failure_msg "$RESULT" fi ;; stop) rm -f /var/run/laptop-mode-tools/enabled if RESULT=`/usr/sbin/laptop_mode stop` ; then log_success_msg "$RESULT" else log_failure_msg "$RESULT" fi ;; status) echo "Laptop mode status:" echo /usr/sbin/laptop_mode status ;; *) echo "Usage: $0 {stop|start|restart|reload|force-reload|status}" >&2 exit 2 ;; esac exit 0