Entsperren und Sperren des Mac-Bildschirms über ssh

Gibt es eine Möglichkeit, den Bildschirm über die Befehlszeile über ssh zu entsperren und zu sperren? Ich kenne /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspendden Befehl, aber es scheint nicht über ssh zu funktionieren. Die perfekte Lösung wäre ein Befehl, den ich protokolliert per ssh eingeben könnte und der den Bildschirm entsperren oder wieder sperren würde, sodass ich niemandem mein Passwort mitteilen muss, wenn er es verwenden möchte. Gibt es ein integriertes Tool, das eine solche Funktionalität bietet?

Überprüfen Sie diese Antwort (ich verwende diese Methode und sie funktioniert einwandfrei).

Antworten (3)

Es gibt viele Möglichkeiten, Ihren Mac über SSH zu sperren und zu entsperren. Der einfachste und wahrscheinlich schnellste Weg ist die Verwendung von osascript(applescript).

Mac sperren

Melden Sie sich dazu per ssh an und geben Sie ein

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

Sie können den Finder für Systemereignisse wechseln, aber das bedeutet, dass mehr Zeichen eingegeben werden müssen.

Mac entsperren

Das Aufwecken Ihres Mac ist etwas schwieriger.

Dazu gibt es zwei Möglichkeiten.

Sie können osascriptwieder verwenden.

osascript -e 'tell application "System Events" to key code 123'

Dies weist es an, die linke Pfeiltaste zu drücken, die Ihren Mac aus dem Ruhezustand aufwecken sollte.

Sie können auch den pmsetBefehl verwenden.

pmset schedule wake "mm/dd/yyyy 00:00:00"

Verwenden Sie ein Datum und eine Uhrzeit, die bereits vergangen sind.

Natürlich müssen Sie Ihr Passwort per Applescript eingeben, z

osascript -e 'tell application "System Events" to keystroke "password"'

Eine Alternative dazu könnte die Remote Wake Up-App für Mac sein, aber ich bin mir nicht sicher, ob Sie ein Passwort eingeben können.

Ich weiß, über die Fähigkeit, osx aus der Ferne in den Ruhezustand zu versetzen. Ich habe nach etwas gesucht, das nur den Bildschirm sperrt und den Computer nicht in den Ruhezustand versetzt. So etwas wie win + L unter Windows, aber über ssh. Außerdem kann ich dieses Entsperrskript nicht ausführen.
@fulaphex pmset displaysleepnowscheint für mich zu funktionieren: Es wird das Display sofort in den Ruhezustand versetzen, und da ich in Einstellungen / Sicherheit & Datenschutz / Allgemein "Passwort sofort nach Beginn des Ruhezustands oder des Bildschirmschoners anfordern" habe, wird es auch die Station sperren.
Sollte der Mac nicht bereits laufen / aufgeweckt werden, damit osascript ausgeführt werden kann?

Ich verwende dies zum Sperren des Bildschirms (funktioniert auf Big Sur):

osascript -e 'tell application "System Events"
    keystroke "q" using {control down, command down}
end tell'

Ich benutze das:

sudo -S pmset schedule wake "$(date -j -v +2S +'%m/%d/%y %H:%M:%S')"

Weckt Ihren Mac ab sofort in 2 Sekunden auf. (Interessanterweise funktioniert 1 Sekunde nicht.)

Viel Glück (bis Ende 2016 😜)!