OSX 的安全和隐私辅助功能列表中需要将哪个应用列入白名单,以便我的 bash 脚本可以发送击键?
What app needs to be whitelisted in OSX's Security&Privacy Accessibility list, so that my bash script can send keystrokes?
我正在编写一个简单的(哈哈)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 莫哈韦沙漠如果重要的话。
我没有 Mini vMac;然而,在 macOS Mojave 10.14.6 上,以下 example AppleScript code 应该可以发送 keystroke,假设 Mini vMac window 已打开,并且 Terminal 在以下方面获得许可:系统偏好设置 > 安全与隐私 > 隐私 > 辅助功能
osascript -e 'activate app **Mini vMac**' -e 'delay 0.25' -e 'tell app "System Events" to keystroke "a"'
注意:示例 AppleScript code 就是这样,不包含任何可能适当的错误处理。用户有责任根据需要或需要添加任何 错误处理 。查看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay 命令 在适当的事件之间可能是必要的,例如delay 0.5
,适当设置延迟的值。
我正在编写一个简单的(哈哈)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 莫哈韦沙漠如果重要的话。
我没有 Mini vMac;然而,在 macOS Mojave 10.14.6 上,以下 example AppleScript code 应该可以发送 keystroke,假设 Mini vMac window 已打开,并且 Terminal 在以下方面获得许可:系统偏好设置 > 安全与隐私 > 隐私 > 辅助功能
osascript -e 'activate app **Mini vMac**' -e 'delay 0.25' -e 'tell app "System Events" to keystroke "a"'
注意:示例 AppleScript code 就是这样,不包含任何可能适当的错误处理。用户有责任根据需要或需要添加任何 错误处理 。查看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay 命令 在适当的事件之间可能是必要的,例如delay 0.5
,适当设置延迟的值。