blob: 3b3968c8fa4d32cb12537b2425891f46f50a6ed4 [file] [log] [blame]
#! /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
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