anxion n00b
Joined: 10 Mar 2003 Posts: 32
|
Posted: Sat Jul 17, 2004 12:01 am Post subject: Energieschemaskript Laptop |
|
|
Hallo,
ich hab mir gerade mal ein Skript gebastelt, welches mir den
Akkustatus anzeigt, sowie speedfreq policies einstellt.
Klaptop funktioniert bei mir nämlich nicht.
Nun zum Problem:
Das Skript funktioniert nur manchmal, wenn es um die
speedfreq policies geht.
Wenn ich z.B. mobile 98 eingebe
zeigt er mir, sobald ich den Stecker aus dem Lappy ziehe, an,
dass er ab 98% in den Stromsparmodus schaltet.
Dies tut er auch kurz aber ab dem zweiten durchlauf
springt er wieder auf dynamic um.
Nun meine Frage... Warum tut er das ?
WARNUNG: Das ganze ist ziemlich unübersichtlich, da
ich mir die Zeit für Kommentare nicht genommen habe.
Perfekt ist es zudem auch nicht, ich habs nur mal eben
aus dem kopf so eingegeben wie ichs mir gedacht habe.
Wenn sich jedoch jemand kurz einlesen könnte wäre ich sehr
dankbar. Wenn nicht füge ich noch Kommentare ein.
Danke schonmal für die Hilfe.
Code: |
#!/bin/bash
##################
# mobileskript #
##################
maxcapacity=`cat /proc/acpi/battery/BAT0/info | grep "design capacity:" | cut -b 26,27,28,29`
momcapacity=`cat /proc/acpi/battery/BAT0/state | grep "remaining capacity:" | cut -b 26,27,28,29`
energy=`speedfreq | cut -b 19,20,21,22,23,24,25,26,27,28,29`
acadapter=`cat /proc/acpi/ac_adapter/AC/state | cut -b 26,27,28,29,30,31,32,33`
percent=$(($momcapacity*100/$maxcapacity))
function mobileskript ()
{
clear
echo ' ''######################'
echo ' ''# Energieschema: #'
echo ' ''######################'
echo
if [ "$energy" = "powersave" ]; then
echo ' '"Das momentane Energieschema ist Stromsparen (312 MHz)";
fi
if [ "$energy" = "performance" ]; then
echo ' '"Das momentane Energieschema ist Hochleistung (2500 MHz)";
fi
if [ "$energy" = "dynamic 312" ]; then
echo ' '"Das momentane Energieschema ist Dynamisch (312-2500 MHz)";
fi
echo
######################################
# Automatische Energie Einstellungen #
######################################
if [ "$acadapter" = "off-line" ]; then
echo ' 'Der Computer läuft mit Batteriestrom unter $SPARPROZENT'%' wird in den Stromsparmodus geschaltet.
echo
if [ "$percent" > "$SPARPROZENT" ]; then
if [ "$energy" = "dynamic 312" ]; then
echo ' 'Die Energieschemaeinstellungen sind korrekt
else
speedfreq -p dynamic;
echo ' '"Das Energieschema wurde auf Dynamisch gesetzt";
fi
else
if [ "$energy" = "powersave" ]; then
echo ' 'Die Energieschemaeinstellungen sind korrekt
else
speedfreq -p powersave;
echo ' 'Das Energieschema wurde auf Stromsparmodus gesetzt;
fi
fi
else
echo ' 'Der Computer läuft mit Netzstrom
echo
if [ "$energy" = "performance" ]; then
echo ' 'Die Energieschemaeinstellungen sind korrekt
else
speedfreq -p performance;
echo ' 'Energieschema wurde auf Hochleistung gesetzt;
fi
fi
echo
echo ' ''######################'
echo ' ''# Details: #'
echo ' ''######################'
echo
echo ' 'Batteriestrom:
echo
echo ' '$momcapacity 'mAh' '/' $maxcapacity 'mAh'
echo
echo ' 'Batteriestatus:
echo
echo ' 'Es verbleiben noch $percent'%'
echo
}
function start ()
{
mobileskript
}
if [ "$SPARPROZENT" = "" ]; then
SPARPROZENT=$1
export SPARPROZENT
fi
if [ "$SPARPROZENT" != "" ]; then
start
# sleep 30
mobile
else
echo Bitte Prozentzahl eingeben, ab der der Stromsparmodus
echo eingeschaltet werden soll.
echo
echo z.B. mobile 50 - wenn ab 50% Batterieleistung der
echo Stromsparmodus eingeschaltet werden soll.
fi
|
|
|