Sperrbildschirm-Befehl Einzeiler

Ich versuche herauszufinden, ob es einen äquivalenten Befehlszeilen-Einzeiler gibt, der die exakt identische Funktionalität der Menüoption „Bildschirm sperren“ nachbildet, die über die Schlüsselbund-App in OS X 10.6 verfügbar ist

Ich kenne alle "üblichen" Lösungen (Schlaf-/Bildschirmschonereinstellungen, um bei der Reaktivierung ein Passwort zu verlangen), aber diese sind für mich nicht geeignet.

Diese Möglichkeit kenne ich auch:

/System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspend

was für mich auch nicht geeignet ist.

Die perfekte Funktionalität ist die Option "Bildschirm sperren", aber ich habe noch keinen eleganten Weg gefunden, sie zu nennen.

Im Moment rufe ich über Automator an, was nicht elegant ist!

Ich habe viel über dieses Thema gelesen und bin der Meinung, dass noch niemand den „Heiligen Gral“ gefunden hat, aber ich habe mich gefragt, ob sich das geändert haben könnte.

Was rufst du mit Automator auf?
Entschuldigung, ich hätte mich klarer ausdrücken sollen ... Ich habe in Automator ein 'Watch Me Do' aufgezeichnet (gebunden an eine Systemtastenkombination), das die Maus buchstäblich zur Menüoption bewegt und auswählt. Es funktioniert, aber es ist langsam und überhaupt nicht elegant!
Was ist falsch daran, die Sicherheitseinstellungen so einzustellen, dass ein Passwort erforderlich ist, wenn der Bildschirmschoner aktiv ist, und dann eine Hot Corner zu verwenden, um den Bildschirmschoner zu aktivieren? Das ist schnell und elegant, aber Sie haben gesagt, dass Ihnen diese Lösung nicht gefällt.
Es ist ein pragmatischer Vorschlag, den ich über viele Jahre hinweg immer wieder ausprobiert habe, aber die Art meiner Arbeitsmuster bedeutet, dass dies in > 80 % der Fälle im Weg steht. Ich brauche die Möglichkeit, (physisch) auf technische Anfragen und Notfälle zu reagieren und den Bildschirm sofort zu sperren, aber gleichzeitig Fernzugriff auf die Box zu haben, während sie auch alle bestehenden Verbindungen und Hintergrundaufgaben aufrechterhält.
Ihre Frage wäre wahrscheinlich viel einfacher zu beantworten, wenn sie genauere Details enthalten würde. Wo befindet sich das Menüelement „Bildschirm sperren“ in der Schlüsselbund-App? Was genau macht es? Warum sind die aktuellen Lösungen ungeeignet? Wir alle verstehen „elegant“, aber Ihre Anforderungen scheinen spezifischer zu sein. Das Bearbeiten Ihrer Frage sollte helfen.
Betreff: "Wo ist das Sperrbildschirmmenü im Schlüsselbund" Schlüsselbund öffnen ... Einstellungen ... in Menüleiste anzeigen! Re: "Was macht es?" Es sperrt den Bildschirm! Darüber hinaus denke ich, dass ich meine Anforderungen (und meine Abneigung gegen „Lösungen“, von denen manche meinen, dass sie meine Anforderungen erfüllen, aber nicht erfüllen) ziemlich ausführlich erklärt habe.
Nur neugierig, ob die schnellen Benutzerwechseloptionen hier von Nutzen wären? Ziemlich sicher, dass Sie von dort aus schnell zu einem Sperrbildschirm gelangen können.
Das möchte ich auch lösen. Derzeit habe ich eine heiße Ecke, um den Bildschirmschoner zu starten , ohne den Bildschirm zu sperren, und verwende das Schlosssymbol in der Menüleiste, um ihn zu sperren. Ich verwende jeweils etwa 50/50. Ich möchte eine Tastenkombination oder sogar eine andere hartcodierte Hot-Ecke, um den Bildschirm zu sperren. Dies wäre weniger klobig, schneller und bequemer.

Antworten (20)

In OS X 10.9 und höher:

pmset displaysleepnow

Dieser Befehl selbst bewirkt nur, dass das Display in den Ruhezustand versetzt wird, was zu einem schwarzen Bildschirm führt. Indem Sie Ihren Computer so konfigurieren, dass unmittelbar nach dem Ruhezustand ein Passwort erforderlich ist, fungiert dieser Einzeiler als Befehl zum „Sperren des Computers“. Die Einstellung ist unter Systemeinstellungen > Sicherheit & Datenschutz > Allgemein verfügbar .

Quelle: Wie sperrt man den Bildschirm auf dem MacBook Air?

Nur der Vollständigkeit halber funktioniert dies nur, wenn die Sicherheitsoption "Passwort nach dem Ruhezustand oder Beginn des Bildschirmschoners anfordern" in den Systemeinstellungen aktiviert ist
Dies scheint am ehesten STRG+UMSCHALT+Eject zu entsprechen.
Dies entspricht nicht dem Schlüsselbund-Menüleistenelement. Der Bildschirm wird nicht gesperrt; Es versetzt den Computer nur in den Ruhezustand.
@RadonRosborough Nein, der Computer wird nicht in den Ruhezustand versetzt. Es versetzt das Display in den Ruhezustand. Wenn Sie remote auf den gesperrten Mac zugreifen, funktioniert alles. Dies ist möglicherweise die kürzeste und schnellste Antwort, da sie nicht die gesamte langsame Schlüsselbund-GUI oder die langsame Finder-GUI durchläuft.
Dies ist eine viel bessere Lösung als der alte und schlecht platzierte Schlüsselbund-Menüeintrag 👏🏻.
@danielAzuelos Okay – aber mein Punkt bleibt bestehen: „Es sperrt den Bildschirm nicht; es versetzt nur das Display in den Ruhezustand.“ Das Display in den Ruhezustand zu versetzen ist nicht dasselbe wie es zu sperren, da kein Passwort erforderlich ist, um auf den Computer zuzugreifen – und damit den gesamten Zweck zunichte macht, zumindest für Leute, die nach etwas suchen, das der „Sperrbildschirm“-Funktion des Schlüsselbunds entspricht (wie gefragt in der Frage).
@RadonRosborough, das liegt wahrscheinlich daran, dass Sie ausgeschaltet haben Screen Lock( System Preferences > Security & Privacy > Require password...). Und natürlich können Sie den Zustand nicht erreichen Screen Lock, wenn Sie ihn ausgeschaltet haben. Ansonsten funktioniert es einwandfrei und viel schneller als der albern platzierte Schlüsselbund-Menüeintrag.
@danielAzuelos Der springende Punkt bei der "Bildschirm sperren"-Funktion von Keychain ist es, Ihnen zu ermöglichen, den Bildschirm sofort zu sperren, auch wenn Sie ihn normalerweise nicht sperren, wenn das Display in den Ruhezustand versetzt wird. Ja, das Ändern Ihrer Einstellungen, sodass der Bildschirm gesperrt wird, wenn das Display in den Ruhezustand versetzt wird, ist eine Problemumgehung – aber nur das, eine Problemumgehung.
Ich verwende das Passwort und die Bildschirmsperre, um den Zugriff meines Kindes auf den Computer zu kontrollieren, und eine SSH-Fernbedienung pmset displaysleepnowist eine viel bessere Lösung, als sich um das Abmelden zu streiten.

Hinweis: Diese Lösung ist insofern einzigartig, als sie die Statusfunktion der Menüleiste der Schlüsselbundverwaltung verwendet, aber Sie müssen die Option nicht aktivieren Show keychain status in menu bar, wie dies bei den AppleScript-Methoden der Fall ist.

Auch dafür habe ich nach einer Lösung gesucht. Heute hatte ich nur etwas Zeit zum Herumspielen und habe einen Weg gefunden, die Funktionalität programmgesteuert tatsächlich aus dem Schlüsselbund-Menü-Plugin aufzurufen. Diese Lösung funktioniert einwandfrei, solange Apple die relevanten Teile im Schlüsselbund-Menü-Plugin nicht ändert. Sie können eine kleine Binärdatei zum Sperren Ihres Bildschirms erstellen, indem Sie diese in Ihr Terminal einfügen ...

# Do our work in the temporary directory that gets cleaned on boot
cd /tmp

# Create the source file
cat > main.m <<END_OF_FILE

#import <objc/runtime.h>
#import <Foundation/Foundation.h>

int main () {
    NSBundle *bundle = [NSBundle bundleWithPath:@"/Applications/Utilities/Keychain Access.app/Contents/Resources/Keychain.menu"];

    Class principalClass = [bundle principalClass];

    id instance = [[principalClass alloc] init];

    [instance performSelector:@selector(_lockScreenMenuHit:) withObject:nil];

    return 0;
}

END_OF_FILE

# Compile the source file
clang -framework Foundation main.m -o lockscreen

Führen Sie das Programm aus, indem Sie Folgendes eingeben:

./lockscreen
Können Sie erläutern, wie Sie dies verwenden? Muss ich das kopieren und in einen Automator-Workflow einfügen? Oder ein Applescript daraus machen? So wie es jetzt aussieht, ist es schwer, etwas mit Ihrer Antwort zu tun.
Dies ist ein einfaches Objective-C-Programm. Kopieren Sie es in eine Datei namens main.m. Führen Sie dann 'clang -framework Foundation main.m -o lockscreen' aus, um das Programm zu kompilieren. './lockscreen' führt das Programm aus und sperrt Ihren Bildschirm.
Ausprobiert, funktioniert wie beschrieben. Die Kompilierung generiert eine Warnung instance method '-_lockScreenMenuHit:' not found, aber die Lockscreen-Anwendung funktioniert trotzdem. Beim Doppelklicken wird jedoch ein Terminalfenster geöffnet, bevor der Bildschirm gesperrt wird. Nach dem Entsperren müssen Sie das Fenster manuell schließen. Gibt es eine Möglichkeit, dieses Fenster automatisch zu schließen?
Die Warnung ist mir bekannt. Das Programm ist eher ein Proof of Concept als ein gut durchdachtes Programm. Es wäre möglich, aus dieser ausführbaren Datei eine vollständige Mac-OS-Anwendung zu erstellen, die das Öffnen des Terminals verhindern würde. Aber wenn Sie auf etwas klicken wollten, um den Bildschirm zu sperren, warum nicht das Schlüsselbund-Menü-Plugin selbst verwenden? Ich wollte, dass dieses Programm von einem anderen Prozess (z. B. Launchbar) aufgerufen wird. Auf diese Weise wird kein Terminal erzeugt.
Ich habe eine OS X App gesammelt: Lock Screen.app basierend auf dieser Antwort und der Arbeit von jemandem, wie im Link beschrieben, es umschließt einfach diesen Code und fügt ein schönes Symbol hinzu, damit wir es direkt ausführen können, danke.
Vielen Dank für das Posten des obigen Codes! Ich arbeite in einem Computerraum und sperre den Bildschirm jedes Mal, wenn ich mich von meinem Computer entferne. Ich habe das obige Skript erstellt. Dann habe ich appify verwendet, um daraus eine OS X-App zu machen, mathiasbynens.be/notes/shell-script-mac-apps . Dann habe ich Quicksilver verwendet, um meine eigene Tastenkombination (cmd+L) zuzuweisen. Jetzt benutze ich das einfach, anstatt den Bildschirm sperren zu müssen, indem ich mit der Maus auf das Schlüsselbund-Symbol in der oberen Leiste klicke. Das weiß ich noch einmal sehr zu schätzen. Das Terminal öffnet/bleibt nicht so, wie ich es eingerichtet habe, weil ich stattdessen eine OS X-App starte.
Dies funktioniert auf 10.13 nicht mehr, da das MenuExtra entfernt wurde. Dies funktioniert stattdessen: stackoverflow.com/a/26492632/368409
Der Menüpunkt Schlüsselbund wurde nun von Apple entfernt und ein neuer Menüpunkt Sperrbildschirm im Apple-Menü hinzugefügt. Siehe Update in meiner Antwort für Details.

Ich verwende Alfred →

Geben Sie hier die Bildbeschreibung ein

Der universelle Hotkey ermöglicht es mir, ihn über eine Tastatur zu aktivieren.

Genial! Ist der universelle Hotkey eingebaut oder Teil des Netzteils?
Es ist eingebaut...
Leider ist dies nicht der Fall - es beendet auch die Internetverbindung, während die Verwendung der Schlüsselbundmenüsperre dies nicht tut.
Es gibt auch ein Äquivalent in der Launchbar : „Bildschirm sperren“
Dies entspricht nicht dem Menüpunkt „Schlüsselbund“. Es versetzt den Computer nicht in den Ruhezustand und spielt auch eine nervige Animation ab.

AKTUALISIERUNG: 2019.

Der Sperrbildschirm für den Schlüsselbund ist in der aktuellen Version von MacOS Mojave & High Sierra nicht mehr verfügbar.

Apple hat jetzt einen Sperrbildschirm-Menüpunkt im Apple-Menü hinzugefügt. Dies hat die Standard-Tastaturkürzel crtl + cmd + Q

Geben Sie hier die Bildbeschreibung ein


------------- Alte Antwort für vorheriges Betriebssystem unten --------------

Die Antwort von @Bart Arondson geht auf die Verwendung einiger Tastencodes ein, um im Menü des Schlüsselbund - Sperrbildschirms zu navigieren.

Alle Tastencodes können mithilfe von GUI-Skripten umgangen werden, um die Menüelemente tatsächlich direkt zu treffen.

Die Verwendung von Tastencodes zum Navigieren in Menüs kann ein Glücksfall sein. Und so sehr ich GUI-Skripting nicht mag, weil es auch Hit and Miss sein kann, imho ist es in diesem Fall weniger Hit and Miss.

Dieser Applescript-Code: (aktualisiert am 18.05.2016, bezogen von Using AppleScript to lock screen , bestätigte Arbeit in El Capitan)

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "Keychain menu extra")
        click
        click menu item "Lock Screen" of menu 1
    end tell
end tell

Kann in einer Automator-Aktion „Applescript ausführen“ in einem Automator-Dienst-Workflow verwendet werden.

Geben Sie hier die Bildbeschreibung ein

Anschließend geben Sie dem Dienst eine Tastenkombination. Auf die übliche Weise in The Keyboard Shortcuts.

Geben Sie hier die Bildbeschreibung ein

Der Service:

Geben Sie hier die Bildbeschreibung ein

Das hat super funktioniert für das, wofür ich es brauchte, danke!
Sie können auch einen Terminalbefehl von Automator ausführen, also habe ich das verwendet. es wirkte "eleganter" :). aber sehr schöne lösung!
Ich habe diese Lösung lange verwendet, aber seit osX El Captain funktioniert sie nicht mehr :(.
Betrachte das immer noch. Aber es sieht so aus, als ob das Menü sich nicht selbst meldet, wenn das nächste Element angeklickt wird. Das Ausführen dieser beiden Zeilen funktioniert, ist aber langsam.tell application "System Events" to tell process "SystemUIServer" to click (first menu bar item of menu bar 1 whose description is "Keychain menu extra") tell application "System Events" to click (menu item "Lock Screen" of menu 1 of menu bar item 1 of menu bar 1 of application process "SystemUIServer")

Einfacher Alias. Fügen Sie dies zu Ihrem bashrc hinzu

alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'"

Geben afkSie Ihr Terminal ein, um es auszuführen.

Das hat bei mir auch funktioniert

Stellen Sie die Einstellungen so ein, dass der Bildschirm gesperrt wird, wenn der Bildschirmschoner aktiv ist.

Einstellungsbereich Sicherheit & Datenschutz

Dann können Sie diesen Terminalbefehl verwenden, um den Bildschirmschoner zu starten.

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Soweit ich das beurteilen kann, ist dies genau das, was der Menüpunkt Schlüsselbund tut.

Vielen Dank für Ihren Kommentar, aber damit habe ich zu lange gekämpft und versuche, eine Alternative dazu zu finden.
Nur der Klarheit und Vollständigkeit halber sollte ich erwähnen, dass das obige zwar den Bildschirmschoner startet, aber nicht das tut, was die Menüfunktion „Bildschirm sperren“ bietet.
Dann müssen Sie genauer angeben, was genau Sie suchen.
Hmmm ... ich bin mir nicht sicher, ob ich spezifischer oder prägnanter sein kann als der erste Absatz in meiner ursprünglichen Frage!
Noch einmal ... Ich versuche herauszufinden, ob es einen äquivalenten Befehlszeilen-Einzeiler gibt, der die exakt identische Funktionalität der Menüoption "Bildschirm sperren" repliziert, die über die Schlüsselbund-App in OS X 10.6 verfügbar ist
Diese Antwort tut das. Ich kann auf 10.6 nicht mehr testen, aber auf 10.8 ist das Starten der Bildschirmschoner-Engine alles, was die Option "Bildschirm sperren" tut.
Dann gibt es einen Unterschied in der Systemfunktionalität zwischen 10.6 und 10.8. Da ich 10.6 verwende (wie in meiner ursprünglichen Frage erwähnt), beantwortet Ihre Antwort (so sehr Ihre Bemühungen zu helfen geschätzt werden) meine Frage nicht. Danke trotzdem.
Ich hatte die Möglichkeit am 10.6.8 zu testen. Auf diesem Betriebssystem ist der Monitor ausgeschaltet und die Sitzung gesperrt. Ich habe einen programmatischen Weg gefunden, dies zu tun, aber er ist nicht integriert.
Klingt interessant ... würden Sie gerne Ihren letzten Kommentar (insbesondere Ihre programmatische Methode) und Ihre Ergebnisse erläutern?
Unglücklicherweise können einige von uns mit verrückt gesperrten Arbeitscomputern dieses Kontrollkästchen nicht kontrollieren :|

Ich denke, die Antwort auf Ihre Frage lautet: "Nein, es gibt keine Befehlszeilenmethode, um dies zu tun."

Da dies ein Menüleistenelement ist, können Sie mit Keyboard Maestro oder einem ähnlichen Tool nicht einfach darauf zugreifen.

Wenn Sie jedoch einer Lösung mit einer Drittanbieter-App nicht abgeneigt sind, können Sie dies mit QuickLock tun.

Es ist eine kostenlose (Spenden akzeptiert) App, mit der Sie eine Tastenkombination zuweisen können, um den Bildschirm zu sperren. Es gibt auch ein Menüleistenelement, auf das Sie klicken können, um den Bildschirm zu sperren.

Mit der App können Sie ein Passwort festlegen (getrennt von Ihrem Kontopasswort).

Es erfordert kein Passwort mit Bildschirmschoner, es ist alles völlig getrennt.

Sie können ein Video davon in Aktion unter http://www.youtube.com/watch?v=SBHwykPB19o sehen

ps Wenn der Bildschirm gesperrt ist, geben Sie Ihr Passwort ein, um ihn zu entsperren. Ich war verwirrt, weil ich erwartet hatte, ein Passwortfeld zu sehen. Da ist gar nichts. Sie geben nur das Passwort ein.

pps Ich habe das nur für ein paar Minuten benutzt, also kann es einige andere Probleme damit geben, die mir nicht bekannt sind, aber es scheint die Rechnung zu erfüllen.

Vielen Dank für Ihren Beitrag ... obwohl es nicht das ist, wonach ich gesucht habe (ich liebe Open-Source- und DIY-Methoden!), sieht es sehr interessant aus und scheint die Funktionalität zu bieten, die ich benötige, wenn auch in einer Drittanbieter-App. Ich werde mir das genauer anschauen. Danke!
Ich würde auch gerne einen Weg finden, aber ich glaube nicht, dass es einen gibt.
scheint tot zu sein...

Der Mac ist nicht darauf ausgelegt, Ihnen eine solche Option zu bieten. In diesem Artikel wird jedoch eine Problemumgehung mit QuickSilver erläutert. Obwohl ich nicht verstehen kann, warum Ihnen die Lösung, die Apple nativ anbietet, nicht gefällt, wünsche ich Ihnen viel Glück beim Finden einer Lösung.

Eine schnelle Möglichkeit, Ihren Computer über die Befehlszeile mit Hilfe von AppleScript in den Ruhezustand zu versetzen, ist

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

Das sperrt Ihren Bildschirm nicht, es sei denn, Sie haben es so eingestellt, dass sofort ein Passwort erforderlich ist, was ich nicht gerne mache. Ich notiere es nur für die Nachwelt.

Ich habe den oben von jnk geposteten Code verwendet. Dann habe ich appify verwendet, um daraus eine OS X-App zu machen, mathiasbynens.be/notes/shell-script-mac-apps . Dann habe ich Quicksilver verwendet, um meine eigene Tastenkombination zuzuweisen (ich habe cmd+L gewählt). Das Terminal öffnet/bleibt nicht offen (wie einige besorgt waren), wie ich es eingerichtet habe, weil ich stattdessen eine OS X-App starte.

  1. Befolgen Sie die obige Antwort von jnk, Lock Screen Command One-Liner
  2. Verwenden Sie appify, um es in eine OS X-App zu verwandeln, indem Sie dem Link oben in meiner Zusammenfassung folgen.
  3. Quicksilver installieren.
  4. Verwenden Sie Quicksilver, um eine Tastenkombination zum Starten der neuen Anwendung zuzuweisen. Es befindet sich unter "Auslöser". Ich mag Quicksilver, weil ich es liebe, Tastaturkürzel/Hotkeys zu haben, um Anwendungen und Websites unter OS X zu starten.

Ich bin auch auf dieses Problem gestoßen. /System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspendbewirkt, dass das System alle Aufgaben aussetzt, anstatt den Bildschirm zu sperren.

JordanBtucker war auf dem richtigen Weg, hier ist die vollständige Funktion, die ich verwende:

lockscr() {
  if [ "$(defaults read com.apple.screensaver askForPasswordDelay 2>/dev/null)" ]; then
    local Olddelay="$(defaults read com.apple.screensaver askForPasswordDelay)"
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults write com.apple.screensaver askForPasswordDelay -int "${Olddelay}"
  else
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults delete com.apple.screensaver askForPasswordDelay
  fi;
}

Dadurch behält der Benutzer seine eigenen Einstellungen bei, sperrt aber den Bildschirm sicher :)

In High Sierra werden diese Werte nicht mehr von der Benutzeroberfläche gesetzt. Wenn Sie sie jedoch manuell festlegen, werden sie von der Benutzeroberfläche berücksichtigt. defaults write com.apple.screensaver askForPassword -bool TRUEund defaults write com.apple.screensaver askForPasswordDelay -int 10Dies sind meine Standardwerte. Nun verhält sich das obige Skript wie beschrieben.

Unter 10.14.6 Mojave starte ich die Bildschirmschoner-Engine stattdessen mit diesem Befehl:

/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Bearbeiten: Stellen Sie sicher, dass Sie die Einstellungen so einstellen, dass der Bildschirm gesperrt wird, wenn der Bildschirmschoner in den Systemeinstellungen aktiv ist, und dass das Passwort sofort angefordert wird.

Aber es schloss nicht. Ich drückte eine Taste und sie öffnete sich wieder. Stört es Sie, wenn Sie die Kommentare anderer Antworten zu "Passwort sofort nach..." in den Systemeinstellungen lesen und Ihre entsprechend aktualisieren?
@ankii danke für den Hinweis.

Ich verwende BetterTouchTool für diesen Zweck und habe „Zum Anmeldebildschirm wechseln“ (was der Sperrbildschirm ist) eine Tastenkombination zugewiesen: erfüllt nicht die Befehlszeilenanforderung, kann Ihnen aber dennoch hilfreich sein.

Tastenkombination im BetterTouchTool zum Sperren des Bildschirms

Danke für deine Hilfe und deinen Vorschlag. Zusammen mit QuickLock , das oben von @TJLuoma erwähnt wurde, scheint BetterTouchTool (obwohl nicht die Methode, die ich finden wollte) meinen funktionalen Zielen sehr nahe zu kommen. Ich werde mir das genauer ansehen ... danke.

Ich bin mir nicht ganz sicher, ob ich dein Problem hier verstehe. Wenn Sie ein Passwort für den Bildschirmschoner benötigen, wird die Ausführung von Prozessen nicht gestoppt oder Sie werden daran gehindert, aus der Ferne auf Ihren Mac zuzugreifen. Ich habe diese Option eingestellt (mit ControlPlane, um sie bei der Arbeit zu aktivieren und zu Hause zu deaktivieren) und ich hatte noch nie, dass das System sich weigerte, auf eine Remotedesktop-, VNC- oder SSH-Verbindung zu reagieren. In allen Fällen, in denen GUI-Zugriff erforderlich ist, muss ich nur das Passwort eingeben; SSH verwendet ein Schlüsselpaar, sodass kein Passwort angefordert wird. Wenn Sie nicht möchten, dass Apps in den Energiesparmodus wechseln, stellen Sie sicher, dass die Energieeinstellungen des Systems so eingestellt sind, dass das System nicht in den Energiesparmodus wechselt, bevor Sie zurückkehren. Stellen Sie einfach das Sleep-Timeout auf eine lange Verzögerung ein. Wenn Sie einfach nicht lästig sein möchten, ein Passwort einzugeben, wenn Sie vor dem Computer sitzen und arbeiten,

Ich benutze Strg-Shift-Eject, um den Bildschirm zu sperren. Es ist schnell, einfach und es funktioniert. Dies ist die integrierte Methode zum Sperren des Bildschirms. Wahrscheinlich wird sich niemand eine Alternative einfallen lassen, nur weil das Replizieren der bereits in das Betriebssystem integrierten Funktionen ein wenig zu überflüssig ist, als dass irgendjemand viel Zeit in die Verfolgung investieren könnte.

Soweit ich das beurteilen kann, gibt es in Schlüsselbund in 10.8 ohnehin keine Option zum Sperren des Bildschirms, sodass Ihre bevorzugte Lösung bei einem Upgrade nicht mehr vorhanden sein wird. Bearbeiten: Ich habe dies in den Schlüsselbundeinstellungen nicht bemerkt; Ja, es ist immer noch da in 10.8.

Wenn Sie Automator dafür verwenden, können Sie das Skript nicht einfach als App packen und eine Hotkey-Kombination zuweisen oder es für den schnellen Zugriff im Dock lassen?

Der Strg-Umschalt-Auswurf wechselt wirklich nur in den Modus "Schneller Benutzerwechsel". Mindestens eine VPN-Lösung (diejenige, die ich für Arbeitszwecke verwenden muss) mag das nicht und trennt das VPN, wenn ich das tue, wodurch alle zugrunde liegenden Sitzungen beendet werden, mit denen ich möglicherweise verbunden bin. Während ich mich einfach wieder mit meiner VPN-Sitzung verbinden kann, wenn ich den Computer entsperre, kann dies eine mehr als eine Minute dauernde Erfahrung sein, und daher schlägt die Option „Schnell“ fehl. Daher ist dies meiner Meinung nach keine genaue Lösung für die Frage.

Genau wie der Fragesteller suchte ich nach einer Möglichkeit, den Schlüsselbund-Sperrbildschirm schnell zu verwenden.

Durch die Kombination des Wissens aus einem alten Mac OS X-Hinweis und etwas Applescripting kam ich auf Folgendes:

Befolgen Sie zunächst die Schritte aus dem verknüpften Mac OS X-Hinweis , um eine Tastenkombination für die Schlüsselbund-Sperrbildschirmfunktion hinzuzufügen.

Für mich (auf 10.8.4) hat dies das Problem nicht gelöst, da ich ctrl+ drücken musste F8, um den Fokus auf die Statusleiste zu verschieben, drücken down, um die Schlüsselbund-Menüleiste zu öffnen, und dann ctrl+ drücken F9, um den Bildschirm zu sperren. Ich habe diesen Prozess mit dem folgenden Applescript automatisiert:

# Press ^F8
tell application "System Events"
    key code 100 using control down
end tell

# Press "down"
tell application "System Events"
    key code 125
end tell

# Press ^F9
tell application "System Events"
    key code 101 using control down
end tell

Öffnen Sie Automator, erstellen Sie einen neuen Dienst, fügen Sie ein Run ApplescriptModul hinzu, kopieren Sie den obigen Code und speichern Sie den Automator-Dienst unter einem gewünschten Namen. Gehen Sie nun in den Systemeinstellungen zu Tastaturkürzel und fügen Sie ein Tastaturkürzel für den frisch erstellten Automator-Dienst hinzu. Ich habe meine auf ctrl+ cmd+ gesetzt L.

Drücken Sie jetzt die Tastenkombination in einer beliebigen App und Ihr Bildschirm wird sofort gesperrt.

Für diejenigen, die sich fragen, warum nicht einfach andere Methoden verwenden, hier ist meine Meinung dazu:

  • Schneller Benutzerwechsel/Sperrbildschirm
    Mit dieser Methode werde ich von meinem WPA2-Unternehmensnetzwerk abgemeldet. Das ist nicht gut, da das erneute Verbinden manchmal Ewigkeiten dauert.

  • Bildschirmschoner + Passwort
    Repliziert die Funktionalität , aber das bedeutet, dass, wenn mein Laptop für einige Zeit inaktiv ist, während ich daneben eine Zeitung lese, der Bildschirm gesperrt wird, wenn ich ihn wieder verwenden möchte. Dies ist unerwünscht. Die Kopplung dieser Methode mit einer Hot-Corner hat den Nebeneffekt, dass unerfahrene Mac-Benutzer die Hot-Corner versehentlich auslösen könnten, was zu einer Bildschirmsperre führt. Manchmal stieß ich auch versehentlich auf eine heiße Ecke, die meinen Arbeitsablauf erheblich verzögerte.

  • Apps von Drittanbietern
    Diese sind alle in Ordnung, aber warum eine Drittanbieter-App ausführen, wenn sie nativ im Betriebssystem verfügbar ist?

Ab 2021 finde ich die folgende Lösung am "richtigsten":

Wie in der Antwort von markhunte erwähnt, enthält das Apple-Menü einen Eintrag, um „Bildschirm sperren“ mit der Tastenkombination zu initiieren:controlcommandQ

Also simuliere ich das Drücken dieser Tastenkombination:

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

Vorteile:

  • Wird in Zukunft funktionieren, solange diese Tastenkombination unterstützt wird
  • Funktioniert auch, wenn die Sicherheitsoption „Passwort nach Start des Ruhezustands oder Bildschirmschoners erforderlich“ deaktiviert ist (im Gegensatz zu Lösungen, die den Ruhezustand oder das Abschalten des Displays verwenden)
  • Display bleibt an (zumindest anfangs; es scheint, dass der Sperrbildschirm selbst kurz nach dem Auslösen eine Display-Abschaltung auslöst)

Bearbeiten: Ich habe gerade gesehen, dass die Antwort von Aritro Paul diesen Befehl bereits enthält (in Form eines Alias). Ich hoffe, meine Ausarbeitung ist dennoch hilfreich.

Ich verwende die Bildschirmschoner-Passworteinstellung mit einem Tastendruck (Strg+Umschalt+Eject) auf 10.6.8, und soweit ich sehen kann, macht es dasselbe wie das Sperrbildschirmelement aus dem Taskleistensymbol für den Schlüsselbundzugriff.

Ich weiß, dass dies einigen anderen Antworten ähnlich ist, aber anstelle der "heißen Ecke" wird ein Tastendruck verwendet, was für mich bequemer ist.

Diese Lösung ist hier ausführlicher beschrieben, von dort habe ich sie: http://osxdaily.com/2011/01/17/lock-screen-mac/

Benutze es jetzt seit mehreren Jahren ohne Probleme.

Danke, aber leider erfordert dies, dass die Option "Bildschirmschoner bei Rückkehr aus dem Ruhezustand oder Bildschirmschoner anfordern" aktiviert ist, und wie bereits erwähnt, möchte ich dies nicht aktivieren.

Nun, kombinieren Sie einfach zwei der obigen Antworten. Führen Sie diesen Befehl aus:

open -a /System/Library/Frameworks/ScreenSaver.framework//Versions/A/Resources/ScreenSaverEngine.app

Nachdem Sie die Sicherheits- und Datenschutzeinstellungen so eingestellt haben, dass Sie sofort nach einem Passwort gefragt werden. Erstellen Sie einen Alias ​​für Ihre Shell, wenn Sie den Befehl einfacher ausführen möchten.

Ja, aber wie oben erwähnt, möchte ich nicht, dass die Sicherheits- und Datenschutzeinstellungen immer sofort ein Passwort erfordern. Aus diesem Grund ist die Befehlsfunktion zum Sperren des Bildschirms (insbesondere) so cool - sie bietet das Maß an Sicherheit, das ich benötige, auf einer völlig ad-hoc-Basis.

FWIW, ich verstehe Ihre Situation und habe selbst nach einer guten Lösung dafür gesucht. Ich bin auf diesen Thread gestoßen, weil ich nach einer etwas schnelleren Methode gesucht habe, als ich mir schließlich ausgedacht habe. Ich habe mir etwas ausgedacht, das, obwohl es nicht genau das ist, was ich gehofft hatte, funktioniert und ein akzeptabler Kompromiss ist. Ich verwende dieselbe Art von GUI-Skriptbefehlen wie @markhunte zeigt (etwas andere Struktur, aber dieselbe Idee), aber anstatt alles nur in einen Automator-Dienst-Workflow zu platzieren, habe ich es in ein .app-Bundle aufgeteilt, das mit Platypus erstellt wurde. Ich habe dies getan, weil ich bei meinen Reisen und Tests festgestellt habe, dass Automator-Dienste unter bestimmten Bedingungen sehr langsam laufen. Wenn Ihr Mac unter irgendeiner Art von Stress steht, dh ein Festplatten-Scan läuft, eine A/V-Software etwas tut, Mail E-Mails herunterlädt usw., Das Betriebssystem scheint die Dienste nach hinten zu schieben. Dies hat den Effekt, dass es mehrere Sekunden dauert, bis der Workflow ausgeführt wird (manchmal) und gelegentlich sogar mehrere Sekunden, bevor die GUI-Befehle im Dienst ausgeführt werden. Ziemlich ärgerlich, wenn Sie versuchen, Ihren Bildschirm "schnell" zu sperren, und das dauert 10 Sekunden!

Eine eigenständige "App" hat auch den Vorteil, dass Sie buchstäblich Dutzende verschiedener Apps von Drittanbietern verwenden können, um sie auszuführen, oder einfach Spotlight oder einen Automator-Dienst verwenden, um die App zu starten. Jeder von ihnen funktioniert. Das schnellste, das ich gefunden habe, ist ein altes Dienstprogramm namens Spark, das auf wundersame Weise sogar in 10.8.4 noch funktioniert. Frag mich nicht, wie es seit der letzten Entwicklung von 10.4 war! Spark finden Sie hier - Spark

Zusätzlich zu all dem habe ich das Problem der manchmal langsamen GUI-Befehle bekämpft, indem ich CocoaDialog gebündelt und zuerst aufgerufen habe, wenn die App ausgeführt wird, um eine kleine schwebende Blase in der Mitte des Bildschirms anzuzeigen, die darauf hinweist, dass ein Sperrbildschirm stattfindet. Normalerweise erfolgt die Sperre direkt danach, aber wenn es eine Verzögerung gibt, gibt dies zumindest ein visuelles "Feedback", dass Sie die richtigen Tasten gedrückt haben. Ich habe es auch zur Selbstheilung gemacht - wenn "Zugriff auf Hilfsgeräte aktivieren" nicht aktiviert ist, werden Sie mit einem Dialog benachrichtigt und können es sofort aktivieren. Es wird auch sicherstellen, dass das Schlüsselbundzugriffsmenü in der Menüleiste angezeigt wird, da dies eine Voraussetzung ist oder das GUI-Skripting fehlschlägt.

Ctrl- Shift- ⏏ Eject(auf älteren Macs),
Ctrl- Shift- ⌽ Power(auf neueren Macs)