Hab folgendes Skript aus dem GentooWiki, welches den Rechner nach 20min nichtstun in den Ruhezustand versetzt.
#!/bin/bash
ZEITBISSCHLAF=20
schleife () {
while [ "$HIBERNATE" -eq "0" ]
do
ZEITSTEMPELNEU=$(date +%s)
if [ ! "$ZEITSTEMPELALT" ];then ZEITSTEMPELALT=$ZEITSTEMPELNEU;fi;
INTNEU=$(cat /proc/interrupts|grep i8042|awk '{ print $2 }');
if [ ! "$INTALT" ];then INTALT="012345";fi;
if [ ! "$INTNEU" == "$INTALT" ];
then
ZAEHLER=0;
# echo $ZAEHLER
else
ZAEHLER=$(($ZAEHLER+($ZEITSTEMPELNEU-$ZEITSTEMPELALT)));
# echo $ZAEHLER
fi;
if [ "$ZAEHLER" -ge "$(($ZEITBISSCHLAF*60))" ];
then HIBERNATE=1
fi;
ZEITSTEMPELALT=$ZEITSTEMPELNEU
INTALT=$INTNEU
#alle 10s prüfen
sleep 10
#echo $ZAEHLER
done;
}
#schleife starten
while [ 1 ]
do
ZAEHLER=0
DUNKEL=0
HIBERNATE=0
schleife
Xdialog --title "Hibernate" --timeout 20 --beep --yesno "Rechner einschlafen lassen?" 0 0
case "$?" in
0)
#/etc/init.d/laptop_mode stop
hibernate
#schlafen
#/etc/init.d/laptop_mode start
;;
1) exit;;
255)
#/etc/init.d/laptop_mode stop
hibernate
#schlafen
#/etc/init.d/laptop_mode start
;;
esac
done
Nach 20min erfolgt dann die Abfrage, ob der Ruhezustand erfolgen soll (yes/no). Wenn man "no" waelt, so beendet sich das Skript.
1) exit;;
Ist es moeglich, dies so abzuaendern, dass sich das Skript nicht beendet, sondern die Schleife von vorn beginnt. Entscheidet man sich dann fuer "no", so sollte nach 20min eine weitere Anfrage kommen.
Danke sagt dante

Hilfe
Neues Thema
Antworten

Nach oben

