Я ищу способ программно заблокировать экран пользователя, не переводя Mac в спящий режим. Прямо сейчас я могу вызвать экран блокировки с помощью события kAESleep, но это скорее взлом, и он усыпляет компьютер. Является ли это возможным ? Спасибо
OSX: заблокировать экран программно
Ответы (2)
Настройте заставку так, чтобы она запрашивала пароль сразу после запуска, а затем запустите заставку программно. Я запрограммировал его на сочетание клавиш, чтобы помочь моим людям с Windows перейти на использование реальных компьютеров ;).
Следующий 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")
Вам нужно будет настроить доступ к связке ключей, чтобы на экране отображался значок блокировки.