launchctl作为用户失败,错误LSOpenURLsWithRole()10810

时间:2018-06-07 14:03:11

标签: macos installer launchd launch-agent

我有应用程序,在其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

我正在检查此错误以确定是否启动了应用。这个命令有什么问题。或者我想使用任何其他命令。

0 个答案:

没有答案