Erstellen einer Mac OS X-Startliste für vpnd

2

Ich muss eine launchd plist erstellen, die vpnd beim Start startet. vpnd funktioniert gut, wenn es von der Kommandozeile aus aufgerufen wird, aber ich kann nicht herausfinden, wie man eine plist erstellt, die dasselbe tut. Kann jemand helfen? Folgendes habe ich bisher zusammengeschustert:

<?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.apple.ppp.l2tp</string>
 <key>OnDemand</key>
 <false/>
 <key>Program</key>
  <string>/usr/sbin/vpnd</string>
 <key>ProgramArguments</key>
  <array>
   <string>vpnd</string>
  </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>

Lass es mit laufen launchctl -w hat keine Auswirkungen, löst keine Fehler aus und gibt nichts an die Konsole aus Sieht das XML richtig aus?

michaelmichael
quelle
1
Dies beantwortet Ihre Frage nicht, aber haben Sie Lingon ausprobiert? Es wurde seit einem Jahr nicht aktualisiert, funktioniert aber für 10.6 immer noch gut. sourceforge.net/projects/lingon/files
fideli
eigentlich ist das gut. es funktioniert perfekt für meine Bedürfnisse. vielen Dank!
michaelmichael

Antworten:

3

Ich habe mir das von einem 10.4 Server geholt ...

/System/Library/LaunchDaemons/com.apple.ppp.l2tp.plist

<?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.apple.ppp.l2tp</string>
    <key>OnDemand</key>
    <false/>
    <key>Program</key>
    <string>/usr/sbin/vpnd</string>
    <key>ProgramArguments</key>
    <array>
        <string>vpnd</string>
        <string>-x</string>
        <string>-i</string>
        <string>com.apple.ppp.l2tp</string>
    </array>
    <key>ServiceIPC</key>
    <false/>
</dict>
</plist>

quelle
4

Wenn Sie sich die anderen plist-Dateien in / System / Library / LaunchDaemons ansehen, sehen Sie die ProgramArguments Eintrag scheint falsch zu sein; Sie benötigen hier den vollständigen Pfad des Programms.

Entferne das Program Schlüssel und versuchen Sie so etwas:

<key>ProgramArguments</key>
<array>
        <string>/usr/sbin/vpnd</string>
</array>

Vielleicht möchten Sie auch eine hinzufügen KeepAlive Schlüssel auch.

man launchd.plist kann helfen.

Steve Folly
quelle