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

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Philippe Marzouk
Le #1852333
Le 21-08-2005, 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,


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

patpro ~ Patrick Proniewski
Le #1852326
In article Philippe Marzouk
Avant tiger, j'utilisais /etc/crontab dans lequel j'avais ajouté la
ligne suivante :
@reboot root /usr/local/bin/noip2 &
qui marchait parfaitement bien.



c'est MAL (c)

Maintenant cette ligne est sans effet



sudo -s
crontab -e

là tu mets ta ligne @reboot...

et ca devrait être bon.

Aussi je dois me résoudre à utiliser launchd,



c'est préférable pour la pérénité, mais c'est encore un peu casse-tête.

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


c'est chouette UNIX, toujours 36 manières d'arriver au meme résultat ;)

patpro


Schmurtz
Le #1852300
Pierre
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


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).

Ce fichier contient les lignes suivantes

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>Label</key>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/usr/local/bin/noip2</string>
<key>ProgramArguments</key>
<array>
<string>noip2</string>
</array>
</dict>
</plist>


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

Pierre
Le #1852284
In article Schmurtz
Pierre
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


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).

Ce fichier contient les lignes suivantes

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>Label</key>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/usr/local/bin/noip2</string>
<key>ProgramArguments</key>
<array>
<string>noip2</string>
</array>
</dict>
</plist>


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



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 &


Pierre
Le #1852283
Merci ca marche nickel alors que crontab -e et launchd sont sans effet !


In article Philippe Marzouk
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


Eric Levenez
Le #1852253
Le 22/08/05 1:43, dans « Pierre »
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.


Apple a publié la doc hier :


--
Éric Lévénez -- Unix is not only an OS, it's a way of life.

Poster une réponse
Anonyme