Anwendung im Anmeldefenster ausführen

Anwendung im Anmeldefenster ausführen

Ich suche nach einer Möglichkeit, eine Anwendung wie Reflector oder AirServer sowohl auf einem Mac als auch einem PC auszuführen, bevor die Benutzeranmeldung erfolgt. Die Anwendung hat praktisch keine GUI, bis jemand beginnt, Daten an sie zu senden. Dann wird sie im Vollbildmodus angezeigt.

Gibt es eine Möglichkeit, eine Anwendung im Anmeldebildschirm eines Mac und/oder PCs auszuführen?

Antwort1

Unter OS X können Sie einen Launchd-Agenten vor der Anmeldung erstellen. Speichern Sie beispielsweise diese Eigenschaftenliste als /Library/LaunchAgents/some.label.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>some.label</string>
  <key>LimitLoadToSessionType</key>
  <array>
    <string>LoginWindow</string>
    <string>Aqua</string>
  </array>
  <key>ProgramArguments</key>
  <array>
    <string>say</string>
    <string>a</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

Stellen Sie sicher, dass die plist dem Root gehört. Ist dies nicht der Fall, kann sie geladen werden, wenn Sie sie launchd loadals Benutzer ausführen, aber sie wird nicht automatisch von launchd geladen.

Wenn Sie dann neu starten, sollte der Befehl „say“ einmal ausgeführt werden, wenn das Anmeldefenster angezeigt wird, und erneut, nachdem sich ein Benutzer grafisch angemeldet hat.

Wenn Sie nicht möchten, dass das Programm erneut ausgeführt wird, wenn sich ein Benutzer grafisch anmeldet, entfernen Sie <string>Aqua</string>.

Wenn die automatische Anmeldung aktiviert und LimitLoadToSessionTypeauf nur eingestellt ist LoginWindow, wird das Programm überhaupt nicht ausgeführt.

Sehen Sie sich dieTechnischer Hinweis zu Daemons und Agentenoder man launchd.plistfür weitere Informationen.

verwandte Informationen