launchd : Lancer une appli au boot ?
Le
Pierre

Bjr,
je viens d'ouvrir un compte pour me faire un dns dynamique sur
www.no-ip.com qui propose un utilitaire pour Mac et Linux. l'utilitaire
pour linux se compile sans pb sur OS X et consomme nettement mois de
ressource que la version avec IHM.
Une fois compilé et installé le binaire se trouve dans /usr/local/bin/
et se nomme noip2.
Pour le lancer à la main il suffit de taper sous root :
/usr/local/bin/noip2
et zou noip2 tourne en tache de fond et fait le nécessaire pour mettre à
jour le site no-ip.com avec votre dns dynamique.
Mon pb maintenant est de pouvoir lancer noip2 au boot de mon mac.
Avant tiger, j'utilisais /etc/crontab dans lequel j'avais ajouté la
ligne suivante :
@reboot root /usr/local/bin/noip2 &
qui marchait parfaitement bien.
Maintenant cette ligne est sans effet
Aussi je dois me résoudre à utiliser launchd, mais malheureusement je ne
sais pas quel tag je dois placer dans mon fichier plist et surtout que
faire pour qu'il soit traité au boot. A tout hasard j'ai créé un fichier
appelé com.noip2.plist que j'ai placé dans /System/Library/LaunchAgents
Ce fichier contient les lignes suivantes
<?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.noip2</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/usr/local/bin/noip2</string>
<key>ProgramArguments</key>
<array>
<string>noip2</string>
</array>
</dict>
</plist>
mais au reboot il n'est soit pas traité soit pas complet.
Quelle est mon erreur ?
merci
je viens d'ouvrir un compte pour me faire un dns dynamique sur
www.no-ip.com qui propose un utilitaire pour Mac et Linux. l'utilitaire
pour linux se compile sans pb sur OS X et consomme nettement mois de
ressource que la version avec IHM.
Une fois compilé et installé le binaire se trouve dans /usr/local/bin/
et se nomme noip2.
Pour le lancer à la main il suffit de taper sous root :
/usr/local/bin/noip2
et zou noip2 tourne en tache de fond et fait le nécessaire pour mettre à
jour le site no-ip.com avec votre dns dynamique.
Mon pb maintenant est de pouvoir lancer noip2 au boot de mon mac.
Avant tiger, j'utilisais /etc/crontab dans lequel j'avais ajouté la
ligne suivante :
@reboot root /usr/local/bin/noip2 &
qui marchait parfaitement bien.
Maintenant cette ligne est sans effet
Aussi je dois me résoudre à utiliser launchd, mais malheureusement je ne
sais pas quel tag je dois placer dans mon fichier plist et surtout que
faire pour qu'il soit traité au boot. A tout hasard j'ai créé un fichier
appelé com.noip2.plist que j'ai placé dans /System/Library/LaunchAgents
Ce fichier contient les lignes suivantes
<?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.noip2</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/usr/local/bin/noip2</string>
<key>ProgramArguments</key>
<array>
<string>noip2</string>
</array>
</dict>
</plist>
mais au reboot il n'est soit pas traité soit pas complet.
Quelle est mon erreur ?
merci
Tu peux aussi plus simplement ajouter une ligne dans /etc/rc.local en
créant ce fichier si besoin et en le rendant exécutable.
Cela fonctionne avec OSX 10.4.2
Philippe
c'est MAL (c)
sudo -s
crontab -e
là tu mets ta ligne @reboot...
et ca devrait être bon.
c'est préférable pour la pérénité, mais c'est encore un peu casse-tête.
c'est chouette UNIX, toujours 36 manières d'arriver au meme résultat ;)
patpro
Il faut le mettre dans /Library/LaunchDaemons/. Le dossier /System/...
est réservé à Apple, et le LaunchAgents sert à lancer des programmes à
l'ouverture de session et sous l'utilisateur en question et non au boot
sous l'utilisateur root (ou autre de ton choix).
rajoute :
<key>RunAtLoad</key>
<true/>
voir, si tu veux que le script soit relancé régulièrement (utile en cas
de déconnexion/reconnexion qui peut se solder par un changement d'ip) :
<key>StartInterval</key>
<integer>1800</integer> // en secondes, donc ici toutes les 1/2H
--
Schmurtz
Mon fichier contiennt désomais :
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>Label</key>
<key>Program</key>
<string>/usr/local/bin/noip2</string>
<key>ProgramArguments</key>
<array>
<string>noip2</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
je l'ai placé dans /Library/LaunchDaemons, j'ai rebotté, mais le binaie
/usr/local/bin/noip2 ne se lance toujours pas au boot.
j'ai aussi fait crontab -e et ajouté ma ligne @reboot
mais ca ne marche pas non plus
je vais essayé rc.local en y ajoutant la ligne suivante :
/usr/local/bin/noip2 &
In article Philippe Marzouk
Apple a publié la doc hier :
--
Éric Lévénez -- Unix is not only an OS, it's a way of life.