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.
A voir également:
- Lancer un script au démarrage
- Ordinateur lent au démarrage - Guide
- Rebooter un pc au démarrage - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
- Forcer demarrage pc - Guide
- Lancer une application au démarrage windows 10 - Guide
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 :
Bonne chance
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.
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
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.
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) :
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 :
Une fois ton script corrigé, lance :
Bonne chance
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