Сценарий выхода пользователя из системы

Я пытаюсь создать скрипт в 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 ответа

Решение

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

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

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

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

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

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

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

tell application "loginwindow" to «event aevtrlgo»

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

Другие вопросы по тегам