Lancer un script au démarrage
Argrat
-
Argrat -
Argrat -
Bonjour,
J'ai besoin de pouvoir lancer un script au boot du PC mais je ne sais pas trop comment faire, j'ai suivi ce tuto :
https://blog.cheztoi.net/2009/08/30/ajouter-un-programme-au-demarrage-dubuntu-service/
... mais ça ne fonctionne pas.
Auriez-vous une autre solution ?
Merci de votre aide.
J'ai besoin de pouvoir lancer un script au boot du PC mais je ne sais pas trop comment faire, j'ai suivi ce tuto :
https://blog.cheztoi.net/2009/08/30/ajouter-un-programme-au-demarrage-dubuntu-service/
... mais ça ne fonctionne pas.
Auriez-vous une autre solution ?
Merci de votre aide.
8 réponses
-
C'est la bonne manière de faire, donc si ça ne marche pas c'est que tu t'es trompé quelque part. En imaginant que ton script s'appelle /etc/init.d/toto, reporte-nous le résultat de ces commandes :
ls -l /etc/init.d/toto ls -l /etc/rc2.d/toto cat /etc/init.d/toto
Bonne chance -
Déjà lors de la commande : sudo update-rc.d rnt.sh defaults 80
j'obtiens ça :
update-rc.d: warning: /etc/init.d/rnt.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/rnt.sh ...
/etc/rc0.d/K80rnt.sh -> ../init.d/rnt.sh
/etc/rc1.d/K80rnt.sh -> ../init.d/rnt.sh
/etc/rc6.d/K80rnt.sh -> ../init.d/rnt.sh
/etc/rc2.d/S80rnt.sh -> ../init.d/rnt.sh
/etc/rc3.d/S80rnt.sh -> ../init.d/rnt.sh
/etc/rc4.d/S80rnt.sh -> ../init.d/rnt.sh
/etc/rc5.d/S80rnt.sh -> ../init.d/rnt.sh
l'erreur ne doit pas annoncer quelque chose de bon. -
Voici ce que j'obtiens avec les lignes que tu m'a donné précédemment :
root@gram-desktop:/home/RNTNantes# ls -l /etc/init.d/rnt.sh
-rwxr-xr-x 1 root root 3153 2013-06-12 13:17 /etc/init.d/rnt.sh
root@gram-desktop:/home/RNTNantes# ls -l /etc/rc2.d/rnt.sh
ls: ne peut accéder /etc/rc2.d/rnt.sh: Aucun fichier ou dossier de ce type -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Donc, sinon j'ai bien rajouté le texte en plus au début de mon script, mais toujours rien.
Mon but est de lancer un script à partir de PuTTy et de fermer la session PuTTy sans que l'exécution du script ne s'arrête, comment faire ?
Car si la mise du programme au démarrage n'est pas possible ce n'est pas grave.
Je cherche juste à lancer un programme avec un PC et de pouvoir éteindre ce PC par la suite sans pour autant couper le script. -
Pour régler ton problème d'information LSB, il faut simplement que ton script respecte une structure que tu dois pouvoir retrouver dans /etc/init.d/skeleton, et notamment qu'une en-tête (voir exemple ci-dessous) indique de quel(s) service(s) ton service dépend.
Exemple : (ici mon script s'appelle /etc/init.d/mando) :
#!/bin/sh ### BEGIN INIT INFO # Provides: mando # Required-Start: $remote_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: patch toshiba # Description: tweak to improve cooling ### END INIT INFO . /lib/lsb/init-functions [ -f /etc/default/rcS ] && . /etc/default/rcS PATH=/bin:/usr/bin:/sbin:/usr/sbin case "$1" in start) log_begin_msg "Preparing cooling device" echo -n 0 > /sys/devices/virtual/thermal/cooling_device0/cur_state log_end_msg 0 ;; stop) ;; force-reload|restart) $0 start ;; status) exit 0 ;; *) log_success_msg "Usage: /etc/init.d/mando {start|stop|restart|force-reload|status}" exit 1 esac exit 0
Dans ton cas il faut adapter dans le header les champs Provides, Short-Description et Description. Ensuite au niveau du code il faut adapter le start) (et potentiellement les autres cas). Ensuite je te conseille de supprimer le script des répertoires /etc/rc*.d avec une commande du genre :
sudo update-rc.d mando remove
Une fois ton script corrigé, lance :
sudo update-rc.d mando defaults
Bonne chance -