Démarrage de quelque chose au démarrage

Avez-vous déjà voulu quelque chose à exécuter à chaque démarrage de votre Raspberry Pi? Comme imprimer l’adresse IP, monter un lecteur ou à peu près tout ce à quoi vous pouvez penser que le Framboise Pi peut faire? C’est en fait assez simple et il y a plusieurs façons de le faire. L’une des manières les plus courantes consiste à placer une commande dans /etc/rc.local, qui s’exécute chaque fois que Framboise Bottes Pi.

blank

/etc/rc.local

Les commandes de ce fichier sont exécutées lorsque votre Framboise Pi démarre, avant que les utilisateurs ne se connectent. Vous pouvez soit mettre vos commandes ici directement, soit exécuter un script qui se trouve ailleurs sur votre Framboise Pi. Cependant, comme personne n’est connecté à ce stade, vous devez utiliser des chemins de dossier complètement explicites.

Par exemple, il peut être très utile d’afficher l’adresse IP de votre Framboise Pi sur l’écran de ligne de commande si vous ne démarrez pas en mode bureau. Vous pourrez le voir à la fin du démarrage, juste avant qu’il ne demande votre nom d’utilisateur. Editez le fichier rc.local avec:

sudo nano /etc/rc.local

Juste avant la sortie 0, ajoutez ce qui suit:

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
    printf "My IP address is %sn" "$_IP"
fi

Comme d’habitude avec nano, enregistrez le fichier et quittez avec Ctrl + X, Y puis Retour.

La première ligne (commençant par un #) est un commentaire. La ligne suivante définit la variable de script shell _IP comme l’adresse IP de votre Framboise Pi (s’il en a un). Si c’est le cas, la clause if affiche ‘My IP address is xxx.xxx.xxx.xxx'.

Maintenant, à chaque démarrage, vous verrez votre adresse IP affichée.

Alternativement, vous pouvez créer un script shell qui s’exécutera à chaque démarrage. Cela devra aller dans un emplacement connu, donc en supposant que vous êtes connecté en tant que «pi», utilisez:

cd ~

Cela vous amènera au dossier / home / pi sur votre Raspberry Pi, qui est le répertoire ‘home’ de l’utilisateur appelé ‘pi’.

Créez maintenant un nouveau script:

touch startup.sh
nano startup.sh

Et ajoutez le texte suivant dans le fichier:

#! /bin/sh
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
    printf "My IP address is %sn" "$_IP"
fi

Enregistrez le fichier et quittez avec Ctrl + X, Y puis Retour.

Vous devez maintenant rendre le fichier exécutable.

chmod +x startup.sh

Et modifiez à nouveau le fichier /etc/rc.local avec:

sudo nano /etc/rc.local

Supprimez le code que vous avez ajouté à la première étape et remplacez-le par:

/home/pi/startup.sh

Enregistrez le fichier et quittez avec Ctrl + X, Y puis Retour.

Vous verrez maintenant votre adresse IP lorsque vous redémarrerez. Essayez-le.

Cela fonctionne bien pour tout ce qui fonctionne pendant une durée limitée, mais si vous exécutez quelque chose qui continue de fonctionner et que vous souhaitez toujours prendre le contrôle de votre Framboise Pi, vous devez ajouter le symbole «&» à la fin de la ligne. Par exemple, si vous avez un script python appelé MyPiScript.py, la ligne dans /etc/rc.local ressemblera à ceci:

/home/pi/startup.sh &

Pourquoi ne pas lui donner un aller? Vous pouvez peut-être ajouter une LED sur une maquette à votre Framboise Pi qui clignote pendant 5 secondes à chaque fois que Framboise Pi commence? Ou le faire agiter un drapeau avec un petit moteur? Les possibilités sont illimitées!

Dans un futur tutoriel, je vous expliquerai comment utiliser une autre méthode pour démarrer un script à chaque Framboise Bottes Pi ou à intervalles réguliers.

Articles similaires

Bouton retour en haut de la page
Fermer