Sperrt den Bildschirm über die Befehlszeile genauso wie Keychain Access unter OS X

8

Ich habe bemerkt, dass /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend und der Lock-Screen von Keychain Access (öffnen Sie die Einstellungen, klicken Sie auf 'Keychain-Status anzeigen in der Menüleiste' und klicken Sie dann auf Lock Screen vom Statusleistensymbol). Gibt es eine Möglichkeit, den Lock Screen von Keychain Access von der Befehlszeile über Terminal.app oder Cocoa API auszuführen?

Mac OS 10.9. Danke!

    
Nobu 02.12.2013, 00:55
quelle

3 Antworten

10

Ich habe gerade eine Lösung dafür gefunden: Ссылка

%Vor%

Speichern unter lockscreen.m und kompilieren mit:

%Vor%

Funktioniert perfekt, da es genau die gleiche Routine aufruft wie das Statusleistensymbol.

    
mrArkwright 09.03.2014, 22:58
quelle
0

Ссылка kann nützlich sein.

Im Wesentlichen:

%Vor%     
Seb Jachec 04.12.2013 17:44
quelle
0

Wie oben erwähnt, tritt der Fehler "keine bekannte Instanzmethode für selector '_lockScreenMenuHit:'" auf, weil der Compiler nicht feststellen kann, ob eine solche Methode innerhalb von "instance" vor der Laufzeit existiert. Um dieses Problem zu lösen, habe ich eine Unterklasse von NSBundle erstellt, die ich "newPrincipalClass" nannte. Innerhalb dieser Klasse habe ich eine Instanzmethode namens - (void) _lockScreenMenuHit: (id) a erstellt.

Die geänderte Hauptdatei hat den folgenden Code:

%Vor%

Also erstelle ich "instance" mit meiner neuen Unterklasse "newPrincipalClass", die eine Methode namens "_lockScreenMenuHit:" enthält. Wenn der Compiler nun innerhalb von "instance" prüft, findet er den Namen der Methode, so dass kein Fehler angezeigt wird. Und da hast du es, das Programm läuft ohne Probleme!

    
user3451924 23.03.2014 10:44
quelle

Tags und Links