4

Мне нужен небольшой Applescript для блокировки экрана, то же самое поведение, которое я получаю, когда я щелкаю по значку цепочки для ключей в строке меню и выбираю "Блокировка экрана".

Я нашел способ активировать заставку, но это не совсем то, что мне нужно.

4 ответа4

4

Понимаете ли вы, что на панели настроек безопасности вы можете требовать пароль для выхода из экранной заставки, но по умолчанию она не требует аутентификации?

Затем вы можете активировать заставку с помощью вашего метода или этого AppleScript:

do shell script "open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app"

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

activate application "SystemUIServer"
tell application "System Events"
    tell process "SystemUIServer"
        repeat with i from 1 to number of menu bar items of menu bar 1
            tell menu bar item i of menu bar 1
                click
                try
                    if name of menu item 1 of front menu is "Lock Screen" then
                        click menu item "Lock Screen" of front menu
                        exit repeat
                    end if
                end try
            end tell
        end repeat
    end tell
end tell

Для этого сценария требуется проверка универсального доступа -> Включить доступ для вспомогательных устройств.

3

Не парься, просто используй tell application "Finder" to sleep

2

Просто беги

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

Для этого не требуется никакого дополнительного программного обеспечения, и это намного проще, чем сценарии с графическим интерфейсом.

1

Вот решение от Mac OS X Hints, но, похоже, сначала нужно установить JackSMS, что бы это ни было. Тогда вы можете сделать

tell application "JackSMS" to set lock screen to true
tell application "JackSMS" to set lock screen to false

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .