#!/bin/sh # suspend to RAM for the MacBook Pro Core2Duo # by Ortwin Glueck # for fglrx 35.5 LEAVEX=0 POST=0 # for older drivers #LEAVEX=1 #POST=1 PATH=/usr/kde/3.5/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin logger -t acpi "Suspending to RAM" getusers() { KDEUSERS=$(w -hs | awk '$0~/startkde/ { print $1 }') } if [ "${LEAVEX}" = "1" ]; then # in order to unload flgrx we have to get out of X, so logout from KDE getusers for U in ${KDEUSERS}; do dcop --all-sessions --user ${U} ksmserver default logout 0 0 -1 done # wait for logout getusers while [ ! -z "${KDEUSERS}" ]; do getusers sleep 0.5 done # stop X /etc/init.d/xdm stop while [ -z "${STATUS}" ]; do STATUS=$(/etc/init.d/xdm status | grep stopped) sleep 0.5 done modprobe -r fglrx else chvt 1 fi /etc/init.d/net.wlan0 stop modprobe -r ndiswrapper modprobe -r uvcvideo echo 1 > /proc/sys/kernel/acpi_video_flags VGASTATE=$(vbetool vbemode get) sync sync echo mem > /sys/power/state sleep 2 logger -t acpi "Resuming from RAM" if [ "${POST}" = "1" ]; then vbetool post fi vbetool vbemode set ${VGASTATE} modprobe uvcvideo modprobe ndiswrapper /etc/init.d/bluetooth start if [ "${LEAVEX}" = "1" ]; then modprobe fglrx /etc/init.d/xdm start else chvt 7 fi # vi:ts=4