2010-12-20 11 views
2

Ich arbeite an einem Security-Agent-Plugin auf Mac OS X und möchte dem Benutzer erlauben, einen Switch-Benutzer (auf die gleiche Weise wie die Schaltfläche "Benutzer wechseln") angezeigt, wenn Sie Ihr Konto sperren).Wie programmiere ich einen Switch-Benutzer auf MacOSX

Nach einigen Recherchen fand ich this thread mit der folgenden Lösung von der Kommandozeile:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend 

diese Befehlszeilen Starten funktioniert gut, wenn der Benutzer angemeldet ist, jedoch im Rahmen einer Security Agent-Plugin. "Der Sicherheitsagent wird mit eingeschränkten Berechtigungen ausgeführt, sodass der Benutzer physisch anwesend sein muss, um die grafische Benutzeroberfläche zu verwenden. Die grafischen Benutzeroberflächenelemente können nicht über eine Befehlszeilenschnittstelle wie dem Terminal verwendet werden Anwendung oder eine sichere Shell (ssh) remote Sitzung "

Der Befehlszeilenaufruf kann nicht ausgeführt werden. Gibt es eine andere Lösung, um einen Switch-Benutzer zu simulieren, z. B. das Senden eines Apple-Events? Ich habe keine andere Lösung gefunden.

Vielen Dank im Voraus für jede Idee. Mit freundlichen Grüßen

Antwort

0

Versuchen Sie, einen LaunchAgent zu erstellen, der für jeden Benutzer ausgeführt wird. Stellen Sie in Ihrem Security Agent-Plugin eine Verbindung zum Agenten des aktuellen Konsolenbenutzers her (z. B. über BSD-Sockets) und teilen Sie ihm mit, dass er den CGSession-Befehl ausführen soll.

Verwandte Themen