Souvent, il arrive que vous installiez des programmes, mais que vous ne les lanciez pas automatiquement au démarrage. Pour utiliser le démarrage automatique de Raspberry Pi, il vous suffit de stocker les informations dans le fichier /etc/rc.local du système Linux.
C’est le cas, par exemple, du service DNS noip2. Ci-dessous, je montre comment démarrer un programme automatiquement sans trop d’efforts, en utilisant noip2 comme exemple.
Script du Raspberry Pi automatique
Avant tout, un Script doit être créé dans le répertoire /etc/init.d/ qui lance le programme, donc nous créons un Script (il ne doit pas nécessairement avoir une extension de fichier)
sudo nano /etc/init.d/NameOfTheScipt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#! /bin/sh ### BEGIN INIT INFO # Provides: noip # Required-Start: $syslog # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: noip server # Description: ### END INIT INFO case "$1" in start) echo "noip is starting" # Starting Programm /usr/local/bin/noip2 ;; stop) echo "noip is ending" # Ending Programm killall noip2 ;; *) echo "Use: /etc/init.d/noip {start|stop}" exit 1 ;; esac exit 0 |
Au lieu de noip2, il peut y avoir n’importe quel autre programme installé, bien sûr, mais faites attention à ce qu’aucune interaction de l’utilisateur ne soit attendue (comme la confirmation dans apt-get), car dans le pire des cas, il attendra l’entrée au moment du démarrage et le Pi ne démarrera pas.
Ensuite, attribuez les droits nécessaires (Lecture & Écriture)
sudo chmod 755 /etc/init.d/NameOfTheScipt
sudo /etc/init.d/NameOfTheScipt start
sudo /etc/init.d/NameOfTheScipt stop
sudo update-rc.d NameOfTheScipt defaults
sudo update-rc.d -f NameOfTheScipt removeUne autre option pour démarrer un script ou un programme est le " Cron ". Cela permet de lancer une commande (qui peut être un appel à un programme ou similaire) à un moment précis. L'heure peut être fixée, par exemple, à la même heure de la journée ou après le démarrage du système. Le Cron offre de nombreuses options de personnalisation, qui peuvent être consultées
Si vous voulez en savoir plus sur le sujet, vous pouvez le faire ici.
Raspberry Pi Autostart – plus d’options
Une autre option pour démarrer un script ou un programme est le » Cron « . Cela permet de lancer une commande (qui peut être un appel à un programme ou similaire) à un moment précis. L’heure peut être fixée, par exemple, à la même heure de la journée ou après le démarrage du système. Le Cron offre de nombreuses options de personnalisation, qui peuvent être consultées ici.
Un commentaire
Bonjour,
J’ai essayé votre tuto, et il s’avère qu’il ne marche pas complètement pour certaine application comme chrome, firefox ou bien Remmina.
Setup : Raspberry PI 4 2giga Ram, Os par défaut mise à jour le 14 juil 2023, carte sd 32 giga
Protocol :
Dans le script pour m’assurer qu’il s’exécute correctement j’ai écris ;
date > /home/autorunTest
/bin/remmina >> /home/autorunTest
date >> /home/autorunTest
Le script se lance bien au démarrage, et écrit dans le fichier autorunTest les dates ainsi qu’un message d’erreur :
« unable to get secret service: Cannot autolauch D-Bus without X11 Display »
Ce message ne s’affiche pas lorsque je fait manuellement : « sudo /etc/init.d/remminaauto.sh start ». De plus dans ce cas l’application s’exécute correctement.
J’ai observé la variable display qui est » » lorsque la raspberry démarre « echo $DISPLAY >> /home/autorunTest » et qui est « :0 » lorsque je fait un « printenv » après démarrage.
Solution testé sans succès :
J’ai essayé d’affecté manuellement la variable.
J’ai essayé aussi de mettre un « sleep 60 » (60 seconde) pour attendre que le serveur graphique se sois bien lancé.
J’ai enfin essayé d’utilisé la crontab.
Toutes ces solutions ne donne aucun résultat probant
Si vous avez une solution je suis preneur.
Cordialement
Critical