Es gibt eine Reihe von Tools, mit denen Sie Änderungen des Stromstatus von OS X abfangen können:
- Szenario und Power Manager, sowohl kommerzielle als auch GUI-Tools.
- Sleep Watcher, frei und Open Source, aber Befehlszeile.
Sleep Watcher Installation
Lassen Sie uns dies mit Sleep Watcher versuchen. Laden Sie das Tool von der Homepage von Bernhard Baehr herunter und befolgen Sie die Installationsanweisungen: Wenn Sie den Download auf Ihrem Desktop ausgepackt haben, rufen Sie die folgenden Befehle in einem Terminalfenster auf:
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8 sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher /usr/local/sbin sudo cp ~/Desktop/sleepwatcher_2.2/sleepwatcher.8 /usr/local/share/man/man8
Dadurch werden die sleepwatcher
Binärdatei und die Manpages installiert . Sie werden aufgefordert, ein Administratorkennwort einzugeben.
Schlafskript erstellen
Nun erstellen wir ein Schlaf-Skript namens ~/.sleep
. Es enthält die Befehle, die ausgeführt werden, wenn die Maschine in den Ruhezustand versetzt wird (dh wenn der Deckel geschlossen wird).
touch ~/.sleep open -e !$
Fügen Sie in dieser Datei Folgendes hinzu:
osascript -e 'tell application "Remote Desktop Connection" to quit'
Dadurch wird die Microsoft RDP-Anwendung über AppleScript-Befehle beendet. Sie können dies mit jeder Anwendung tun, solange Sie den Namen entsprechend dem Titel ändern. Speicher die Datei. Jetzt müssen wir es ausführbar machen:
chmod +x ~/.sleep
Das Sleep-Skript testen
Testen Sie nun Ihr Skript, indem Sie zuerst das RDP-Programm starten und dann in Terminal Folgendes ausführen:
/usr/local/sbin/sleepwatcher --verbose --sleep ~/.sleep
Dadurch wird nichts ausgegeben. Lassen Sie also sowohl RDP als auch den Sleep Watcher laufen, und schließen Sie dann den Deckel Ihres MacBook. Warten Sie ein paar Sekunden, bis es wirklich schläft. Dann weck es wieder auf. Wurde RDP geschlossen? Großartig! Ist etwas schiefgegangen? Sehen Sie sich die Ausgabe des sleepwatcher
Befehls an, um einen Hinweis darauf zu erhalten, wo er fehlgeschlagen ist.
Sie können den Sleep Watcher jetzt abbrechen, indem Sie CtrlCin Terminal drücken .
Skript im Hintergrund ausführen
Damit der Sleep Watcher immer ausgeführt werden kann, müssen Sie ihn zu einem LaunchDaemon machen. Erstellen Sie eine neue Konfigurationsdatei, indem Sie die Beispielkonfiguration und rc
-scripts kopieren.
sudo cp ~/Desktop/sleepwatcher_2.2/config/de.bernhard-baehr.sleepwatcher-20compatibility.plist /Library/LaunchDaemons/de.bernhard-baehr.sleepwatcher.plist sudo cp ~/Desktop/sleepwatcher_2.2/config/rc.* /etc
Laden Sie nun die Konfigurationsdateien mit launchd
:
sudo launchctl load /Library/LaunchDaemons/de.bernhard-baehr.sleepwatcher.plist
Das ist alles was du brauchst. Jetzt wird die .sleep
Datei immer ausgeführt, wenn Sie Ihren Mac schlafen.