Ruhezustand im Terminal aktivieren

From macwrench

Um den Mac in den Ruhezustand zu versetzen, genügt allgemein ein beherzter Druck auf die entsprechende Tastenkombination

<KB>apfel + alt + eject</KB>

oder wahlweise die Aktivierung per Apfel-Menü bzw. der Druck auf den Einschaltknopf <KB>power</KB> (während man angemeldet ist). Gelegentlich jedoch ist es vonnöten, auch über das Terminal - z.B. aus der Entfernung via SSH - den Rechner schlafen zu legen. Dazu gibt es verschiedene Möglichkeiten, wobei beider Verwendung einer SSH-Verbindung logischerweise der entsprechende Dienst ("entfernte Anmeldung") in den Systemeinstellungen (PrefPane "Sharing") aktiviert sein und eine Verbindung zum Mac bestehen muss.


per SSH bei eingeloggtem Benutzer[edit]

Mit Hilfe von AppleScript kann ein Mac recht einfach in den Ruhezustand versetzt werden, der Aufruf erfolgt dabei über das Kommandozeilentool osascript und sieht wie folgt aus:

osascript -e 'tell application "Finder" to sleep'

oder

osascript -e 'tell application "System Events" to sleep'

In Verbindung mit dem Kommandozeilentool SSH kann das Kommando in einem Rutsch abgesetzt werden:

ssh USERNAME@HOSTNAME osascript -e 'tell application "Finder" to sleep'

wobei "USERNAME" und "HOSTNAME" entsprechend zu ersetzen sind.

Das funktioniert jedoch nur, wenn der Benutzer (der dieses Kommando ausführt), aktuell bereits am System - also über die GUI - angemeldet ist; andernfalls erscheint eine Fehlermeldung. Dabei ist es empfehlenswert, den Rechner per Passwort zu schützen. Das erreicht man durch Aktivieren der Option

"Kennwort verlangen beim Beenden des Ruhezustandes oder des Bildschirmschoners"

im PrefPane "Sicherheit" der Systemeinstellungen, wodurch verhindert wird, dass sich bei angemeldetem Benutzer jemand lokal am Mac zu schaffen machen kann.

per SSH mit SleepNow[edit]

SleepNow (OpenSource) ist ein kleines Terminal-Progrämmchen, um den Mac in den Ruhezustand zu versetzen. Der Benutzer muss dazu allerdings über Administratorrechte verfügen, also in der Gruppe "admin" sein. In den Benutzereinstellungen ist das an der Option "Der Benutzer darf diesen Computer verwalten" zu erkennen.

Hinweis: Im Allgemeinen genügt es völlig, mit einem weniger privilegierten Benutzer zu arbeiten. Es sollten keine Administratorprivilegien vergeben werden, nur um diese Funktion nutzen zu können! Mehr Informationen dazu sind in der Artikelreihe "Mac OS X absichern / Betriebssystemkonfiguration" verfügbar.

Um den Ruhezustand zu aktivieren, ist nur der Aufruf von "SleepNow" durch die Eingabe von

SleepNow

im Terminal nötig, alternativ kann - wenn man root-Anmeldungen via SSH erlaubt (nicht zu empfehlen!) auch das folgende Kommando verwendet werden:

ssh root@HOSTNAME SleepNow

Automatisiert via pmset[edit]

Eine weitere Möglichkeit bietet sich mit dem Kommandozeilentool pmset, das im Prinzip die Funktionen der graphischen Benutzeroberfläche (Systemeinstellungen, PrefPane "Energie sparen") auf der Kommandozeile zur Verfügung stellt.

Dabei können sowohl einmalige als auch wiederkehrende Vorgänge automatisiert werden, beispielsweise das tägliche Aufwachen um eine bestimmte Uhrzeit.

Da es in diesem Artikel jedoch primär um die sofortige Nutzung des Ruhezustands geht, wird auf diese Möglichkeit an dieser Stelle nicht weiter eingegangen. Weiterführende Informationen dazu sind in der Manpage von pmset sowie im Macwrench-Artikel zu pmset verfügbar, bei macosxhints.com sind außerdem einige Artikel zum Thema verfügbar.

Weitere Informationen[edit]

Wie man den Mac aus der Entfernung ganz ausschaltet, wird in diesem Macworld Artikel beschrieben.