Ich versuche, SickBeard beim Anmelden automatisch auszuführen
python /Applications/Sick-Beard/Sickbeard.py
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.sickbeard.sickbeard</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python</string>
<string>/Applications/Sick-Beard/SickBeard.py</string>
<string>-q</string>
<string>-d</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Wenn ich renne launchctl com.sickbeard.sickbeard.plist
, bekomme ich die Nachricht:
launchctl load com.sickbeard.sickbeard.plist launchctl: Es wurde keine Liste zurückgegeben für: com.sickbeard.sickbeard.plist launchctl: Es wurde keine Liste zurückgegeben für: com.sickbeard.sickbeard.plist Es wurde nichts zum Laden gefunden
Antworten:
Ich gehe davon aus, dass die Pfade zum Python-Skript und dessen Parameter gültig sind, da sonst wahrscheinlich Fehler in der Konsole auftreten.
Das letzte Mal, als ich diesen Fehler sah, war, dass die Plist falsche Zeichen enthielt, z. B. zusätzliche Leerzeichen, die zu Syntaxfehlern führten und daher nicht geladen werden konnten. Wenn Sie
plutil -lint
auf Ihrer Plist ausgeführt werden, wird die Syntax für Sie überprüft und die Zeile, in der der Fehler aufgetreten ist, wird problemlos zurückgemeldet.plutil -lint com.sickbeard.sickbeard.plist
Wenn das nicht hilft, hat der (OSX) So starten Sie SickBeard beim Anmelden oder Booten unter OSX in den sickbeard-Foren eine etwas andere Liste
/usr/local
als der Ihre (sickbeard läuft ab im Gegensatz zu/Applications
- es könnte also eine Berechtigungssache sein) und auch einige Leute mit scheinbar dem gleichen Problem wie Siequelle
plutil -lint
. Sehr praktisch!Wie ich auf die harte Tour entdeckt habe, müssen Sie den Befehl unter Verwendung
sudo
des vollständigen Pfads der.plist
Datei wie folgt ausführen (in Ihrem Fall):Der Pfad kann für Sie unterschiedlich sein, aber Sie müssen die Datei suchen, um ihren Speicherort zu ermitteln und sie gemäß den
launchctl
Anweisungen des Befehls weiterzuleiten .quelle
Die Meldung
nothing found to load
bedeutet manchmal, dass die Konfiguration von einer anderen Konfiguration überschrieben wird. Sie erzwingen das Laden mit der Option "-w"launchctl load or unload
.Wenn Sie das Laden oder Entladen einer plist-Datei erzwingen müssen, bedeutet dies, dass Sie eine Konfiguration haben, die die plist überschreibt. Diese Überschreibung wird erstellt, wenn Sie "-w" verwenden. Andernfalls wird der Überschreibungsdatei keine Überschreibung hinzugefügt. Um diesen Fall zu vermeiden, bearbeiten Sie die folgende Datei, durchsuchen Sie die Auftragsbezeichnung, deren Überschreibung Sie entfernen möchten, und löschen Sie die erforderlichen Zeilen:
Löschen Sie beispielsweise diese Zeile
dann könnten Sie verwenden:
launchctl load or unload /Library/LaunchDaemons/com.mydomain.myjob.plist
ohne die Notwendigkeit von "-w" oder "-F" sollten Sie die Nachricht nicht habennothing found to load
quelle
Möglicherweise möchten Sie das -F-Flag hinzufügen, um
launchctl
das Laden der .plist zu erzwingen . Stellen Sie außerdem sicher, dass sich die .plist in der Pfadsuche befindetlaunchctl
. Befindet sich Ihre .plist an einer anderen Stelle, können Sie auch das Flag -D hinzufügen und die Domain angeben. Aus der Manpage:Stellen Sie sicher, dass Sie alle in der Hilfeseite enthaltenen Informationen gründlich prüfen. Sie können wirklich Probleme verursachen, wenn Ihr Anruf nicht richtig konfiguriert ist.
quelle