5

Я пытаюсь создать скрипт в ARD, который позволит мне выйти из системы. Теперь у меня есть скрипт, который запускает выход из системы, но я хочу, чтобы он выполнялся вместо ожидания 60 секунд. Сценарий в настоящее время:

osascript -e 'tell application "System Events" to log out'

Как я уже сказал, это работает, но затем я хочу, чтобы он нажал кнопку возврата в диалоговом окне выхода. Сценарий, который я попытался сделать так:

osascript -e 'tell application "System Events" to log out' -e 'keystroke return'

который не работает.

Есть ли способ, возможно, сказать системе нажать Cmd+Opt+q, а затем Enter, чтобы выйти из системы, не дожидаясь истечения времени ожидания?

3 ответа3

3

Событие Apple - самый надежный способ сделать это (но оно все еще может быть заблокировано застрявшим приложением).

Ввод специальных символов сложен ... вот блок, который вы можете использовать в скрипте или через ARD.

osascript -e 'ignoring application responses' -e 'tell application "loginwindow" to «event aevtrlgo»' -e end

Символы «и» набираются с помощью option-\ и shift-option-\ соответственно.

2

Событие Apple rlgo (kAEReallyLogOut) выходит из системы без отображения диалогового окна подтверждения:

tell application "loginwindow" to «event aevtrlgo»

tell application "System Events" to log out отправляет loginwindow logo (kAELogOut) Apple, событие. События Apple перечислены в AERegistry.h .

1

Нажатие клавиши должно быть в блоке системных событий ...

osascript -e 'tell application "System Events"' -e 'log out' -e 'keystroke return' -e end

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