我正在尝试在 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,无需等待超时到期即可注销?
答案1
击键需要在系统事件告诉块内......
osascript -e 'tell application "System Events"' -e 'log out' -e 'keystroke return' -e end
答案2
苹果活动是最强大的方法(但仍可能被卡住的应用程序阻止)。
输入特殊字符很棘手...这里有一个您可以在脚本中或通过 ARD 使用的块。
osascript -e 'ignoring application responses' -e 'tell application "loginwindow" to «event aevtrlgo»' -e end
« 和 » 字符分别由 option-\ 和 shift-option-\ 输入。
答案3
( rlgo
) kAEReallyLogOut
Apple 事件注销而不显示确认对话框:
tell application "loginwindow" to «event aevtrlgo»
tell application "System Events" to log out
发送( ) Appleloginwindow
事件。Apple 事件列于 中。logo
kAELogOut
AERegistry.h