【问题标题】:OSX: "Window Server: failed setting the front application to My App"OSX:“Window Server:将前端应用程序设置为我的应用程序失败”
【发布时间】:2014-06-14 21:42:55
【问题描述】:

我正在使用以下命令从安装后脚本启动launchAgent

su -l $LOGGED_IN_USER -c "/bin/launchctl load /Library/LaunchAgents/com.myApp.mac.agent.plist"

代理显示一个带有几个菜单选项的状态项 (NSStatusItem)。其中一个有一个设置选项。单击此按钮将打开一个NSWindow,其中很少有NSTextFields。有时,虽然这个窗口是最顶部的,但我输入的任何内容都会转到底层应用程序。我无法在文本字段中输入任何内容。每当发生这种情况时,我都会在控制台中注意到以下日志:

WindowServer[97]: [cps/setfront] Failed setting the front application to MyApp, psn 0x0-0xb20b2, securitySessionID=0x186c5, err=-600

这不是一致的行为。知道为什么这个日志会出现吗?有什么解决方法吗?使用su -l启动代理可以吗?

【问题讨论】:

    标签: objective-c macos cocoa launch-agent window-server


    【解决方案1】:

    我不知道确切您为什么会遇到这种错误和行为。我推荐阅读Technical Note TN2083: Daemons and Agents。它详细解释了流程执行上下文的各个方面以及它如何影响流程可以执行的操作。这包括进程是否可以连接到 Window Server。

    不管怎样,错误 -600 是 procNotFound,其描述是“没有具有指定描述符的合格进程”。 Window Server 似乎无法在给定的安全会话中找到具有给定进程序列号 (PSN) 的进程。

    我不会在您的sudo 命令中使用-l。用户的登录脚本可以做各种疯狂的事情,而安装程序却做不到。但是,我认为这与主要问题无关。

    【讨论】:

      猜你喜欢
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2012-08-30
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多