6
如何在另一个用户的图形会话中启动GUI应用程序?
我试图弄清楚如何在该用户的图形会话中以交互登录的另一个用户身份启动GUI应用程序。 例如,假设我有两个用户,即foo和bar。两者都已登录,但是当前的交互式用户是foo。我想以“ bar”用户身份启动Calculator.app,以便当我快速将用户切换到bar时,我发现bar会话中的Calculator窗口处于打开状态。 这是我尝试过的不起作用的方法: sudo -u bar /Applications/Calculator.app/Contents/MacOS/Calculator 这将以栏形式启动Calculator.app,但该窗口在foo的图形会话中打开。 sudo -u bar osascript -e "tell application \"Calculator\" to activate" 效果一样。 sudo -u bar open "/Applications/Calculator.app" 以foo(而不是bar)启动Calculator。 launchctl asuser [uid of bar] [any of the above commands] 效果一样。 有什么办法可以做到这一点?我愿意招待所有可能的解决方案,包括bash脚本编写,AppleScript,编写Core Foundation或Cocoa程序等等。在我的情况下,任何程序或脚本都可以以任何用户身份执行,包括root用户。 注意:我知道可以使用远程Apple Events,但是我不能使用它,因为在这种情况下,我无法保证在“共享”首选项中将启用“远程Apple Events”。 任何帮助将不胜感激!