2014-04-29 6 views
5

ich mit dem folgenden Befehl ein launchAgent aus einem Post-Installationsskript am Start:OSX: "Window Server: failed die Front Anwendung My App Einstellung"

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

Der Agent zeigt einen Statuspunkt (NSStatusItem) mit ein paar Menüoptionen. Einer von ihnen hat eine Einstellungsoption. Ein Klick darauf öffnet eine NSWindow, mit ein paar NSTextField s. Manchmal, obwohl dieses Fenster am höchsten ist, geht alles, was ich tippe, zur zugrunde liegenden App. Ich kann nichts in das Textfeld eingeben. Wann immer dies geschieht, bemerke ich folgendes Protokoll in der Konsole:

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

Dies ist kein konsistentes Verhalten. Irgendeine Idee, warum dieses Protokoll kommt? Und gibt es dafür Arbeit? Ist es in Ordnung, den Agenten mit su -l zu starten?

Antwort

1

Ich weiß nicht genau warum Sie diesen Fehler und Verhalten erhalten. Ich empfehle das Lesen Technical Note TN2083: Daemons and Agents. Es erläutert im Detail die verschiedenen Facetten des Ausführungskontextes eines Prozesses und wie sich dies auf den Prozess auswirkt. Dazu gehört, ob ein Prozess eine Verbindung zum Windows Server herstellen kann.

Für was es wert ist, Fehler -600 ist procNotFound, dessen Beschreibung ist "kein berechtigter Prozess mit festgelegten Descriptor". Es scheint, dass der Windows Server in der gegebenen Sicherheitssitzung keinen Prozess mit der angegebenen Prozess-Seriennummer (PSN) finden kann.

Ich würde -l in Ihrem sudo Befehl nicht verwenden. Die Anmeldeskripte eines Benutzers können alle möglichen verrückten Dinge tun, und Sie tun dies nicht von Ihrem Installateur. Ich glaube jedoch nicht, dass das mit dem Hauptproblem zusammenhängt.

+0

Ich ging durch diese Tech Note .. aber ich finde nichts hilfreich für mich .. –

Verwandte Themen