Створення запущеного плісту Mac OS X для vpnd


2

Мені потрібно створити запущений пліст, який викликає запуск vpnd при запуску. vpnd чудово працює, коли викликається з командного рядка, але я не можу зрозуміти, як зробити пліст, який робить те саме. Хтось може допомогти? Ось що я зараз спільно спіймав:

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

Запуск його launchctl -wне має ефекту, не запускає помилок і нічого не видає на консоль. Чи правильно виглядає XML?


1
Це не відповідає на ваше запитання, але ви спробували Лінгона? Він не оновлювався протягом року, але все ще працює добре для 10.6. sourceforge.net/projects/lingon/files
fideli

насправді це просто чудово. це прекрасно працює для моїх потреб. дуже дякую!
michaelmichael

Відповіді:


3

Я схопив це з сервера 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>

4

Переглядаючи деякі інші файли плістів у / System / Library / LaunchDaemons, ProgramArgumentsзапис здається неправильним; вам потрібен повний шлях програми тут.

Вийміть Programключ і спробуйте щось подібне:

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

Також ви можете також додати KeepAliveключ.

man launchd.plist може допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.