Wenn ich in einem OS X- Computer in meinem Netzwerk ssh bin, dauert die Sitzung, bis OS X in den Energiesparmodus wechselt .
Gibt es eine Möglichkeit, dies während meiner SSH- Sitzung zu verhindern , abgesehen vom physischen Anstoßen der Maus oder dem Eingeben von Tasten oder dem manuellen Deaktivieren der Sleep-Funktion?
BEARBEITEN: Die ssh-Sitzung wäre normalerweise ein einfaches sshfs-Mount.
ssh
osx
power-management
Stefan
quelle
quelle
Antworten:
Dies ist keine Out-of-the-Box-Lösung, aber es funktioniert möglicherweise, wenn sich niemand eine Lösung einfallen lässt :-)
Sie können die Energieverwaltungseinstellungen mit dem Befehl bearbeiten
pmset
. Weitere Informationen finden Sie in der Manpage .Die interessante Einstellung, die wir manipulieren möchten, ist Schlaf :
Wir können also die folgenden Befehle verwenden:
Jetzt müssen wir diese Befehle nach einem Login und Logut auslösen. Wenn ich mich an dieses Recht erinnere, ist Bash die Standard-Shell für Mac OS X, die uns zu diesen beiden Dateien bringt:
Bearbeiten oder erstellen Sie sie in Ihrem Home-Verzeichnis und fügen Sie die entsprechenden Befehle hinzu. Wenn Sie möchten, speichern Sie den aktuellen Ruhezustandswert in einer temporären Datei und stellen Sie ihn anschließend wieder her.
Das letzte zu lösende Problem ist die Passwortabfrage von sudo. Um Ihrem Benutzer die Berechtigung zum Aufrufen von pmset ohne Kennwort zu erteilen, bearbeiten Sie Ihre Datei / etc / sudoers mit sudoedit. Sie müssen das
NOPASSWD
Tag verwenden. Wenn dies für Sie neu ist, werfen Sie einen Blick in das sudoers-Handbuch .quelle
Dies ermöglichte mir, meinen Mac über SSH zu verwenden, egal was passiert, solange der Mac an eine Stromquelle angeschlossen ist.
Alles wird heruntergefahren, wenn der Mac von der Stromquelle getrennt wird, sodass Sie sich keine Gedanken über die Akkulaufzeit machen müssen.
quelle
Das in OS X integrierte Dienstprogramm pmset hat eine Einstellung, mit der Sie tun können, was Sie wollen. Überprüfen Sie die
pmset
Manpage für diettyskeepawake
Einstellung und die dazugehörige Erklärung.Der folgende Befehl wird wahrscheinlich tun, was Sie wollen:
Das
-c
Flag aktiviert diese Einstellung speziell, wenn der Computer mit Wechselstrom (im Gegensatz zu Batterie- oder USV-Strom) betrieben wird undttyskeepawake 1
verhindert , dass der Computer während einer aktiven Sitzung (vermutlich einer Remote-Sitzung) in den Energiesparmodus wechselt. Es wird Schlaf ermöglichen , wenn die Sitzung länger als der Sleep - Timer nicht aktiv ist, aber wenn das ein Problem ist, vielleicht sollte der Computer überhaupt nicht in dem Schlaf eingestellt werden.quelle
So öffnen Sie mit SSH eine Shell auf einem Remote-OSX-Computer und verhindern, dass dieser für die Dauer der SSH-Sitzung in den Ruhezustand wechselt:
quelle
Seit Mac OS X 10.8 sollten Sie den
caffeinate(8)
Befehl verwenden können.Versuchen Sie es
caffeinate -s ssh server.example.com
.quelle
Ich habe das folgende Skript hinzugefügt
.bash_profile
Wenn der Prozess ein direktes Kind eines ssh-Daemons ist, führen Sie dieselbe Shell über den Befehl caffeinate (8) aus , um zu verhindern, dass das System während der ssh-Sitzung in den Ruhezustand wechselt.
quelle
Eine Websuche nach " Mac Prevent Sleep" liefert viele nützliche Informationen zu Hilfsprogrammen und Tricks, die Sie verwenden können.
Ich vermute jedoch, dass Sie in Ihrer Situation wirklich eine separate ssh-Sitzung einrichten möchten, in der ein sehr einfaches Befehlszeilenprogramm ausgeführt wird, das verhindert, dass der Mac in den Energiesparmodus wechselt. Apple gibt den vollständigen Quellcode in den technischen Fragen und Antworten 1160 an: Verhindern von Schlaf . (Leider ist diese Seite auf der Apple-Website derzeit nicht erreichbar, Sie können jedoch eine Kopie aus dem Google-Cache abrufen.)
Ich habe nicht getestet, ob dieses Programm in einer SSH-Sitzung erfolgreich ausgeführt werden kann, aber es sieht so aus, als ob es dies könnte.
Beachten Sie, dass sshfs-Implementierungen in der Regel nicht die ganze Zeit beim Remote-System angemeldet bleiben und nur eine Sitzung ausführen, wenn sie eine Datei oder ein Verzeichnis benötigen. Sie benötigen also eine separate SSH-Sitzung, die in einem minimierten Terminalfenster ausgeführt wird, um das Schlaflosigkeitsprogramm auszuführen.
Der Vorteil dieses Ansatzes besteht darin, dass Sie weder sudo verwenden noch mit den Energieverwaltungseinstellungen des Systems herumspielen müssen.
quelle