Daemons und Daemon-Benutzer (speziell Transmission-Daemon) unter OS X 10.5.8

3653
Just Jake

Ich versuche, transmission-daemoneine Box mit Mac OS 10.5.8 einzurichten . Ich möchte die Dinge richtig machen, was bedeutet (nach meinem Verständnis)

  1. Erstellen Sie einen Dienstbenutzer (z. B. _transmission), unter dem das Programm ausgeführt werden soll
  2. Erstellen Sie eine startd-UserAgent-.plist, die transmission-daemonbeim Systemstart ausgeführt wird und ausgeführt wird
  3. konfigurieren transmission-daemon

Ich glaube, ich habe Schritt 1 richtig gemacht. Ich habe diese Frage bei Serverfault verwendet dsclund verwiesen, um einen Benutzer mit dem Namen "Benutzer" zu erstellen _transmission. Hier ist mein Setup:

$ dscl . -read /Users/_transmission AppleMetaNodeLocation: /Local/Default GeneratedUID: 31D12B9E-EA47-4595-BFC4-57EB232C3B33 NFSHomeDirectory: /var/transmission Password: * PrimaryGroupID: 1001 RealName: Transmission bittorrent daemon RecordName: _transmission RecordType: dsRecTypeStandard:Users UniqueID: 1001 UserShell: /usr/bin/false 

Das scheint in Ordnung zu sein. Ich kann meinen launchd UserAgent jedoch nicht dazu bringen, den Dämon auszuführen. Hier ist mein Versuch einer .plist. Die Übertragung läuft nicht, nachdem ich angerufen habelaunchctl load -w /Library/LaunchAgents/com.transmissionbt.transmission-daemon

<?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>EnvironmentVariables</key> <dict> <key>TRANSMISSION_WEB_HOME</key> <string>/var/transmission/Web</string> </dict> <key>Label</key> <string>com.transmissionbt.transmission-daemon</string> <key>OnDemand</key> <false/> <key>Program</key> <string>/usr/sbin/transmission-daemon</string> <key>ProgramArguments</key> <array> <string>transmission-daemon</string> <string>-f</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceDescription</key> <string>Transmission-Daemon bittorrent client</string> <key>UserName</key> <string>_transmission</string> </dict> </plist> 

Meine Frage ist also zweifach:

  1. Was ist der beste Weg, um Daemon-Service-Benutzer unter OS X zu erstellen?
  2. Warum funktioniert meine LaunchAgent.plist nicht?
2
`launchd`-Probleme sind in` / Application / Utilities / Console.app` verfügbar. Daniel Beck vor 13 Jahren 0
launchd scheint keine Probleme zu melden. `transmission-daemon` startet einfach nicht. Just Jake vor 13 Jahren 0
Startagenten werden gestartet, wenn für einen Benutzer AFAIK eine interaktive Sitzung stattfindet. Haben Sie versucht, einen Start-Daemon zu erstellen? Daniel Beck vor 12 Jahren 0

1 Antwort auf die Frage

1
bulljit

Dies ist nur eine Vermutung, aber laut Manpage ist "UserName" nur anwendbar, wenn launchd als root ausgeführt wird.

entladen Sie die plist, wenn sie bereits läuft:

launchctl unload /Library/LaunchAgents/com.transmissionbt.transmission-daemon 

und dann als root ausführen:

sudo launchctl load -w /Library/LaunchAgents/com.transmissionbt.transmission-daemon 

Können Sie bestätigen, dass es tatsächlich geladen wird:

launchctl list | grep transmissionbt 

Lassen Sie mich wissen, ob dies für Sie klappt.