我有应用程序,在其postflight脚本中我使用
启动了应用程序loggedInUser=$( defaults read /Library/Preferences/com.apple.loginwindow.plist lastUserName )
loggedInPID=$( ps -axj | awk "/^$loggedInUser/ && /Dock.app/ {print \$2;exit}" )
/bin/launchctl bsexec "${loggedInPID}" /usr/bin/sudo -iu "${loggedInUser}" "open /Applications/COMPANY_NAME\ PRODUCT_NAME/PRODUCT_NAME.app"
从sudo
终端安装时sudo installer -pkg /Volumes/inSync/Install\ inSync.mpkg -target /
在用户上下文中启动应用,os.environ.get('USERNAME')
是用户名。
从10.12开始,我发现了这个问题。此命令失败。我找到this并使用asuser
/bin/launchctl asuser "${logged_in_user}" open /Applications/COMPANY_NAME\ PRODUCT_NAME/PRODUCT_NAME.app
这会打开应用,但会显示错误LSOpenURLsWithRole() failed with error -10810 for the file /Applications/COMPANY_NAME\ PRODUCT_NAME/PRODUCT_NAME.app
我正在检查此错误以确定是否启动了应用。这个命令有什么问题。或者我想使用任何其他命令。