Какое приложение должно быть внесено в белый список в списке специальных возможностей безопасности и конфиденциальности OSX, чтобы мой сценарий bash мог отправлять нажатия клавиш? - PullRequest
1 голос
/ 18 июня 2020

Я пишу простой (ха-ха) bash скрипт, который будет отправлять нажатия клавиш в приложение. Для этого используется командная строка osacript, например:

osascript <<EOSCRIPT
    activate application "Mini vMac"
    tell application "System Events" to keystroke "a"
EOSCRIPT

Когда этот скрипт запускается, он выводит приложение на передний план, но затем я получаю следующую ошибку:

77:90: execution error: System Events got an error: osascript is not allowed to send keystrokes. (1002)

Я пробовал добавить / usr / bin / osascript в белый список, но другие результаты поиска показывают, что он этого не хочет. Сам сценарий bash нельзя выбрать (что не обязательно означает, что он не хочет этого, просто я не могу проверить).

Как мне заставить его позволить мне запустить это? 10.14.6 Мохаве, если необходимо.

1 Ответ

1 голос
/ 18 июня 2020

у меня нет Mini vMa c; однако на macOS Mojave 10.14.6 следующий пример AppleScript код должен работать для отправки нажатия клавиши, предполагая, что окно Mini vMa c открыто, а Терминал имеет разрешение в: Системные настройки > Безопасность и конфиденциальность > Конфиденциальность > Доступность

osascript -e 'activate app **Mini vMac**' -e 'delay 0.25' -e 'tell app "System Events" to keystroke "a"'

Примечание. Пример AppleScript code - это просто код , обработка ошибок в зависимости от ситуации. Обязанность пользователя - добавить любую обработку ошибок , которая может быть уместной, необходимой или желаемой. Взгляните на try оператор и error оператор в Руководство по языку AppleScript . См. Также Работа с ошибками . Кроме того, может потребоваться использование команды delay между событиями, где это необходимо, например, delay 0.5, с значением задержка установить соответствующим образом.

...