OSX: заблокировать экран программно

Я ищу способ программно заблокировать экран пользователя, не переводя Mac в спящий режим. Прямо сейчас я могу вызвать экран блокировки с помощью события kAESleep, но это скорее взлом, и он усыпляет компьютер. Является ли это возможным ? Спасибо


person M to the K    schedule 18.02.2015    source источник
comment
Возможный дубликат блокировки экрана с помощью API в mac os X   -  person rogerdpack    schedule 28.12.2017


Ответы (2)


Настройте заставку так, чтобы она запрашивала пароль сразу после запуска, а затем запустите заставку программно. Я запрограммировал его на сочетание клавиш, чтобы помочь моим людям с Windows перейти на использование реальных компьютеров ;).

person Sean Baker    schedule 18.02.2015
comment
Спасибо за ваш ответ. Дело в том, что скринсейвер похож на выключение экрана, что близко к тому, что делает kAESleep. Я хотел бы просто программно вызвать экран входа в систему (тот, который вы получили после пробуждения своего Mac) - person M to the K; 18.02.2015
comment
Справедливо. Мне будет любопытно узнать, знает ли кто-нибудь еще, как это сделать. В то же время это может немного понравиться, хотя, очевидно, все же немного отличается от приведенного выше: apple.stackexchange.com/questions/80058/ - person Sean Baker; 18.02.2015

Следующий AppleScript сделает это за вас. Обратите внимание, что из-за ограничений безопасности OSX AppleScript приостанавливается на пять секунд перед выполнением функции пользовательского интерфейса, поэтому для работы требуется некоторое время. Я использую Quicksilver, чтобы привязать его к горячей клавише.

(В качестве бонуса этот скрипт также приостановит работу нескольких ваших музыкальных проигрывателей. Не стесняйтесь удалять эти строки.)

#
#  Tell our noisy programs to shut up
#
tell application "Spotify"
    pause
end tell

tell application "iTunes"
    pause
end tell

#
#  Lock up the screen without going to sleep.  Needs that Keychain Access
#  is set up properly.
#
tell application "System Events" to tell process "SystemUIServer" to click (first menu item of menu 1 of ((click (first menu bar item whose description is "Keychain menu extra")) of menu bar 1) whose title is "Lock Screen")

Вам нужно будет настроить доступ к связке ключей, чтобы на экране отображался значок блокировки.

person Janne Jalkanen    schedule 15.08.2016