Kleines Shellscript zum ändern des Hibernatemodes

Diskutiere mit über: Kleines Shellscript zum ändern des Hibernatemodes im Mac OS X Forum

  1. faJa

    faJa Thread Starter MacUser Mitglied

    Beiträge:
    766
    Zustimmungen:
    23
    Registriert seit:
    02.11.2005
    Ich hab heute mal ein kleines Shellscript geschrieben um den Hibernatemode zu switchen. Interessant sind für mich gewesen 0 (schnell aber unsicher) und 3 (langsam aber sicher).
    Ich habe es ab und an gerne das mein MacBook Pro schnell einschlafen soll, daher switche ich vorher in den schnellen Modus und ggfs. wieder zurück (wenn ich keine Steckdose parat habe).

    Ist vielleicht für diejenigen Interessant die sich den Befehl nicht immer merken wollen:

    Code:
    # Script switches between Hibernatemode 0 (fast but unsafe) and 3 (slow but safe).
    
    P0=$0
    P1=$1
    CSTATE=`pmset -g | grep hibernatemode | awk {'print $2'}`
    
    IFS_DEF=$IFS
    IFS="/"
    for i in $P0; do
        NAME=$i
    done
    IFS=$IFS_DEF
    
    if [[ $P1 == "-s" ]]; then
        if [[ $CSTATE -eq 3 ]]; then
            sudo pmset -a hibernatemode 0
            echo "Hibernatemode switched from $CSTATE to 0"
            exit
        fi
        if [[ $CSTATE -eq 0 ]]; then
            sudo pmset -a hibernatemode 3
            echo "Hibernatemode switched from $CSTATE to 3"
            exit
        fi
    else
        echo "Hibernatemode is set to $CSTATE"
        echo "Type '$NAME -s' to switch"
    fi
    
    Viel Spaß damit!
     
    Zuletzt bearbeitet: 20.03.2007
  2. Isegrim242

    Isegrim242 MacUser Mitglied

    Beiträge:
    3.152
    Zustimmungen:
    264
    Registriert seit:
    21.07.2005
    ...schöne Sache, da gibt's doch aber auch schon ein widget.
     
  3. faJa

    faJa Thread Starter MacUser Mitglied

    Beiträge:
    766
    Zustimmungen:
    23
    Registriert seit:
    02.11.2005
    Geschmackssache, ich habe für sowas gerne Shellskripte - da weiß ich wenigstens was sie machen :) Das Widget hatte ich auch einmal genutzt und dann nie wieder - kam per Widget nicht mehr aus dem Deepsleep Modus raus.

    Vielleicht hat der eine oder andere ja Verwendung dafür.
     
  4. Besimo

    Besimo MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    18
    Registriert seit:
    29.10.2006

    Hi!

    Ich habe das Ganze jetzt mal unter Leopard versucht, aber leider gibt mir AppleScript einen Fehler bezüglich des ersten $ aus.
    Hast Du eine Idee, was man da machen kann?
    Ich würde Dein Script nämlich sehr gern nutzen!

    [​IMG]
     

    Anhänge:

  5. Rajmund

    Rajmund MacUser Mitglied

    Beiträge:
    539
    Zustimmungen:
    58
    Registriert seit:
    15.04.2006
    Das ist kein AppleScript, sondern eins für die bash, aufrufbar also im Terminal.

    Wenn man als erste Zeile noch

    Code:
    #!/bin/bash
    sowie danach ne Leerzeile einfügt, sodann die Datei mit dem Befehl

    Code:
    chmod u+x Dateiname
    
    ausführbar macht, ruft man es im Terminal mit

    Code:
    ./Dateiname -s
    
    auf (vorausgesetzt, man befindet sich in dem Verzeichnis, wo das Skript liegt).
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.035
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    für mich sieht das auch eher nach einem Bash-Script aus! :)
     
  7. faJa

    faJa Thread Starter MacUser Mitglied

    Beiträge:
    766
    Zustimmungen:
    23
    Registriert seit:
    02.11.2005
    Es ist in der Tat ein Bash Script.

    Allerdings funktioniert es auch wunderbar ohne "#!/bin/bash" am Anfang.

    Das Skript kann man auch Global aufrufen, egal wo man sich befindet. Dafür gibt es mehrere Möglichkeiten:

    a) das Skript muss nach /bin kopiert und ausführbar gemacht werden
    b) sich selbst ein .sbin Verzeichnis im Homeverzeichnis anlegen, dort das Skript ablegen und die PATH Variable dementsprechend anpassen.

    Es ist auch Leopard erprobt, bei mir verrichtet es wunderbar seinen Dienst.

    Bei Fragen schießt los.

    Hier die aktuellste Version von mir, mit kleinen Änderungen:

    Code:
    #!/bin/bash
    
    # Script switches between Hibernatemode 0 (fast but unsafe) and 3 (slow but safe).
    
    P0=$0
    P1=$1
    CSTATE=`pmset -g | grep hibernatemode | awk {'print $2'}`
    
    IFS_DEF=$IFS
    IFS="/"
    for i in $P0; do
        NAME=$i
    done
    IFS=$IFS_DEF
    
    if [[ $P1 == "-s" ]]; then
        if [[ $CSTATE -eq 3 ]]; then
            sudo pmset -a hibernatemode 0
            echo "Hibernatemode switched from $CSTATE to 0"
            exit
        fi
        if [[ $CSTATE -eq 0 ]]; then
            sudo pmset -a hibernatemode 3
            echo "Hibernatemode switched from $CSTATE to 3"
            exit
        fi
    else
        echo ""
        echo "Hibernatemode is set to $CSTATE"
        echo "Type '$NAME -s' to switch"
        echo ""
        echo "--------------- MODES ---------------"
        echo "0: fast, unsafe in case of powerloss"
        echo "3: slow, safe in case of powerloss"
        echo ""
     
    Zuletzt bearbeitet: 30.10.2007
  8. Besimo

    Besimo MacUser Mitglied

    Beiträge:
    316
    Zustimmungen:
    18
    Registriert seit:
    29.10.2006
    Um es "umständlicher" zu machen, könnte ich das Ganze auch via Automator lösen, indem ich in Automator "Shell-Skript ausführen" wähle und dort dann Dein Skript einfüge, oder?
    Ich würde das Ganze dann als kleines Programm speichern...
     
  9. faJa

    faJa Thread Starter MacUser Mitglied

    Beiträge:
    766
    Zustimmungen:
    23
    Registriert seit:
    02.11.2005
    Wäre eine Idee, müsstest Du mal ausprobieren.
    Das Shellskript müsste dann nur mit dem Parameter '-s' gestartet werden, damit er den Status wechselt.

    Einen Nachteil hat die Sache dann natürlich, Du kannst nicht "mal eben" abfragen auf welchem Status der Hibernatemode gerade steht.
     
Die Seite wird geladen...
Ähnliche Themen - Kleines Shellscript zum Forum Datum
Postgres - kleines Fenster öffnet sich für ein 0,5 Sekunden Mac OS X 26.04.2015
RedQuits - nützliches kleines Tool Mac OS X 22.08.2011
Kleines schwarzes Fenster das ich nicht wegbekomm Mac OS X 24.09.2010
Kleines Tools zum anzeigen von Tasten-Codes Mac OS X 18.08.2010
imac kleines problem Mac OS X 23.12.2009

Diese Seite empfehlen

Benutzerdefinierte Suche