Pregunta Creando un Mac OS X ejecute plist para vpnd


Necesito crear una lista de lanzamiento que haga que vpnd se inicie al inicio. vpnd funciona bien cuando se invoca desde la línea de comandos, pero no puedo entender cómo hacer un plist que haga lo mismo. ¿Alguien puede ayudar? Esto es lo que he improvisado hasta ahora:

<?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>

Correrlo con launchctl -w no tiene ningún efecto, no desencadena errores y no emite nada a la consola. ¿El XML se ve bien?


2


origen


Esto no responde a tu pregunta, pero ¿has probado Lingon? No se ha actualizado durante un año, pero aún funciona bien para 10.6. sourceforge.net/projects/lingon/files - fideli
en realidad, esto está bien. funciona perfectamente para mis necesidades ¡muchas gracias! - michaelmichael


Respuestas:


Agarré esto de un servidor 10.4 ...

/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>

3





Mirando algunos otros archivos plist en / System / Library / LaunchDaemons, el ProgramArguments la entrada parece estar mal; necesitas la ruta completa del programa aquí.

Eliminar el Program clave y prueba algo como esto:

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

Además, es posible que desee agregar un KeepAlive clave también.

man launchd.plist poder ayudar.


4