我制作了一个自动化应用程序,它运行几个脚本(并且不使用任何 GUI,但由于我使用 with administrator privileges
,它正在打开一个 GUI 以获取管理员密码)。主脚本使用
do shell script (quoted form of myCommand) with administrator privileges
因此,在执行应用程序时,会出现图形化的管理员密码提示。
我试图在通过 bash 安装后自动执行该应用程序,并且想知道如何绕过 GUI 密码提示;我正在寻找一种通过 bash 执行应用程序并以静默方式运行它的方法(无 GUI,无密码提示)。
因为with administrator privileges
所有常见的
sudo open -a /Application/appname.app &
sudo osascript -e 'tell app id "com.app.bundleid"' -e activate -e end
即使以 root 身份运行,仍然会出现 GUI 密码提示。
有什么方法可以打开一个通过 OSX 的 bash 提供 GUI 密码提示的应用程序吗?或者有没有更好的方法我应该执行主脚本而不是 do shell script (quoted form of myCommand) with administrator privileges
?
最佳答案
如果已启用对辅助设备的访问,您可以使用 GUI 脚本与密码对话框交互:
tell application "System Events" to tell process "SecurityAgent"
set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
click button 2 of group 2 of window 1
end tell
osascript -e 'do shell script "ls ~root" with administrator privileges' &
sleep 1
osascript -e 'tell application "System Events" to tell process "SecurityAgent"
set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
click button 2 of group 2 of window 1
end tell'
通常,例如 sudo open -a Finder
不会以 root 身份打开 Finder,但 sudo/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
是的。
关于macos - 绕过图形管理员密码打开 OSX 应用程序命令行解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18621015/