Verhindern des Systemruhezustands, während ein Prozess oder Befehl in Mac OS X aktiv ist
Viele Mac-Benutzer verwenden Dienstprogramme, um den Ruhezustand ihres Computers vorübergehend zu verhindern, und verlassen sich häufig auf Sleep Corners, das Drittanbieter-Tool namens Caffeine, pmset oder in jüngerer Zeit auf das Befehlszeilen-Dienstprogramm namens caffeinate, das jetzt mit OS X gebündelt ist. Standardmäßig verhindern sowohl das Koffein-Menüleistenelement als auch der Koffeinat-Befehl den Schlaf, solange sie einzeln aktiviert sind, sehr nützlich für Desktop-Benutzer auf einem Mac, aber nicht besonders nützlich, wenn Sie die OS X-Schlaffunktion haben möchten abhängig vom Abschluss eines bestimmten Prozesses oder einer bestimmten Aufgabe.
Das werden wir hier behandeln, indem wir die Befehlszeile verwenden, die über eine prozessabhängige Ruhezustandsverhinderung verfügt, die die Mac-Ruhezustandsfunktion nur blockiert, während ein bestimmter Befehl, eine bestimmte Aufgabe oder ein bestimmter Prozess ausgeführt wird oder aktiv, und wenn es fertig ist, stellt der Computer die traditionellen Schlafgewohnheiten wieder her.
Um eine befehlsspezifische Schlafvermeidung zu erreichen, verwenden wir eine Variation des Koffein-Befehls, der den Schlaf auf verschiedene Weise verhindern kann. Wir werden einige Beispiele durchgehen, aber die Manpage von caffeinate bietet einige zusätzliche Optionen, die auch für andere Situationen wünschenswert sein können.
Für unsere Zwecke hier, um die Schlafunterdrückung von der Ausführung eines bestimmten Befehls oder Prozesses abhängig zu machen, verwenden Sie das Flag -i wie folgt:
koffeinat -i
Es mag bereits offensichtlich sein, aber wenn Sie den caffeinate-Befehl auf diese Weise ausführen, wird auch der im Argument angegebene Befehl oder Prozess gestartet.
Wenn Sie beispielsweise möchten, dass der Mac den Ruhezustand vermeidet, wenn der Befehl „make“ aktiv ist, verwenden Sie die folgende Befehlssyntax:
koffeinat -ich mache
Oder vielleicht möchten Sie einfach nur den Ruhezustand verhindern, während eine ssh-Verbindung zu einem bestimmten Server aktiv ist, und Sie möchten den caffeinate-Befehl in den Hintergrund senden, dann würden Sie ein kaufmännisches Und an das Ende setzen als gut so:
caffeinate -i ssh coffeebeans &
Sie können dies sogar mit Ihren eigenen Skripten oder Befehlen an einem anderen Ort ausführen:
caffeinate -i /private/tmp/./whatisthis.sh
Um die Schlafunterdrückung aktiv zu lassen, solange der Safari-Webbrowser in der GUI ausgeführt wird, verwenden Sie die folgende Syntax. Beachten Sie, dass Sie den vollständigen Pfad zur Binärdatei in der .app-Datei angeben müssen :
caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari
Das Flag -i verhindert den Ruhezustand des Systems, aber Sie können auch andere Flags verwenden, um Assertionen zu erstellen, um den Ruhezustand der Festplatte oder der Anzeige zu verhindern. Um zu verhindern, dass der Bildschirm in den Ruhezustand wechselt (das heißt, der Bildschirm sch altet sich aus und wechselt in den Sperrmodus oder in einen Bildschirmschoner), wird das Flag -d benötigt:
koffeinat -d
Wie das Flag -i kann dies auf jede Systemaufgabe angewendet werden, egal ob sie von der Befehlszeile oder der GUI ausgeführt wird, achten Sie nur darauf, den richtigen Namen mit der richtigen Groß- und Kleinschreibung anzugeben. Ein anderes Beispiel:
caffeinate -d telnet handtuch.blinkenlights.nl
Dieser Befehl bedeutet, dass das Mac-Display nicht schlafen geht, solange Telnet zum Star Wars ASCII-Film aktiv ist. Wenn Telnet beendet oder Star Wars zu Ende gespielt wird, kann das System schlafen, wie es normalerweise erlaubt ist, definiert durch die Schlaf- und Energieeinstellungen in OS X.
Da caffeinate vollständig auf der Befehlszeile basiert, ist es natürlich nicht für alle Benutzer anwendbar, aber für diejenigen, die viel Zeit im Terminal verbringen, kann es ein großartiger Trick sein. Für Mac-Benutzer, die mit der grafischen Benutzeroberfläche vertrauter sind, sind eine effektive Anti-Schlaf-Ecke und die Verwendung der Caffeine-App wahrscheinlich immer noch die besten Möglichkeiten, um ähnliche Funktionen auszuführen.
Wenn Sie eine ähnliche prozessabhängige Aufgabe ausführen möchten, aber das Terminal und die Befehlszeile vermeiden möchten, erfüllt die Wimoweh-App dasselbe wie ein Dropdown-Menü in der Menüleiste, obwohl es sich um eine kostenpflichtige App handelt, die dies tun kann machen es für einige Benutzer weniger wünschenswert, und es bietet kein allgemeines prozess- oder befehlszeilenbasiertes Argument für den Abschluss von Aufgaben. Daher wird Koffeinat mit einer angemessenen Flagge immer noch von vielen bevorzugt.