3 façons d’exécuter un programme ou un script Raspberry Pi au démarrage
Raspberry Pi est un ordinateur minuscule et rentable qui se présente sous de nombreuses formes et tailles et facilite toute une série d'applications, allant de quelque chose d'aussi simple que d'apprendre à coder à des projets domotiques complexes; la portée d'utilisation est illimitée.
L'une des nombreuses fonctionnalités qui rendent le Raspberry Pi si polyvalent est sa capacité à exécuter toutes sortes de programmes, tout comme un ordinateur ordinaire. En fait, pas seulement cela, vous pouvez même écrire vos propres scripts – quel que soit l'objectif que vous avez en tête – et les exécuter sur le Pi.
Pourquoi voudriez-vous exécuter un programme au démarrage?
Bien que le Raspberry Pi soit capable d'exécuter toutes sortes de programmes, vous devez toujours les exécuter manuellement à chaque fois que vous souhaitez les exécuter. De toute évidence, cette approche implique une étape supplémentaire. Et même si cela ne pose pas beaucoup d'inconvénients, il y a des cas où vous avez besoin d'un programme à exécuter juste après le démarrage du Raspberry Pi.
Par exemple, imaginez utiliser votre Raspberry Pi pour surveiller les cours des actions: dans lequel vous exécutez un script chaque jour lorsque votre Pi démarre, et il extrait des informations à partir de ressources prédéfinies et les présente à un écran.
Ici, malgré la rationalisation du processus de suivi des cours des actions, vous devez toujours exécuter le script chaque jour. Cependant, grâce à l'automatisation, il est possible d'éliminer l'entrée manuelle de l'équation en demandant à votre Pi d'exécuter le script automatiquement au démarrage.
C'est pour des situations comme celles-ci lorsque vous souhaitez exécuter un programme au démarrage.
Comment exécuter un programme au démarrage
Il existe plusieurs façons d'exécuter un programme au démarrage sur Raspberry Pi. Pour ce guide, cependant, vous apprendrez à utiliser trois de ces méthodes efficaces et faciles à suivre.
Remarque: nous avons utilisé ces méthodes pour exécuter notre script Python , et vous pouvez le faire avec l'un de vos scripts ou même les programmes intégrés sur Raspberry Pi. Assurez-vous simplement que vous utilisez la bonne méthode pour exécuter votre programme.
1. Utilisez le fichier rc.local
rc.local est un fichier administré par le système qui s'exécute après le démarrage de tous les services système, c'est-à-dire après le passage à un niveau d'exécution multi-utilisateurs. C'est la méthode la plus simple pour exécuter des programmes au démarrage sur des systèmes Linux. Mais il y a une mise en garde: vous ne pouvez utiliser cette méthode que pour les programmes sans éléments GUI (interface utilisateur graphique) car rc.local s'exécute avant le démarrage du système de fenêtrage de Raspberry Pi.
Pour définir un programme à exécuter au démarrage, nous devons modifier le fichier rc.local et y ajouter des commandes. Voici comment faire cela.
- Ouvrez le terminal et tapez la commande suivante pour ouvrir le fichier rc.local: sudo nano /etc/rc.local .
- Dans le fichier rc.local, entrez la ligne de code suivante avant la ligne "exit 0": python3 /home/pi/PiCounter/display.py & .
- Ici, remplacez PiCounter / display.py par le nom de votre programme / script. Assurez-vous également que vous utilisez le chemin absolu de votre programme et non son chemin relatif. Notez que la commande se termine par le symbole esperluette (&).
- Ceci pour informer le système que le programme que nous planifions s'exécute en continu, il ne devrait donc pas attendre que votre script se termine avant de démarrer la séquence de démarrage. Notez que si vous n'ajoutez pas d'esperluette dans la commande, le script s'exécutera pour toujours et que votre Pi ne démarrera jamais.
- Après cela, appuyez sur CTRL + O pour enregistrer le fichier. Dans le terminal, entrez sudo reboot .
Une fois que votre Pi démarre, il devrait exécuter votre programme automatiquement. Si, pour une raison quelconque, vous souhaitez empêcher le programme de s'exécuter au démarrage, modifiez à nouveau le fichier rc.local pour supprimer la ligne que vous venez d'ajouter.
2. Utilisez Cron pour planifier un programme
Cron est un utilitaire de configuration et de planification de travaux sur les systèmes de type Unix. Il vous permet de planifier des programmes que vous souhaitez exécuter à intervalles fixes ou périodiquement.
La fonctionnalité de Cron repose sur le démon crond, qui est un service d'arrière-plan qui exécute les programmes planifiés dans la crontab. Tous les programmes planifiés sur le système résident dans la table des tâches cron (ou crontab).
Vous devrez donc modifier ce tableau pour ajouter une planification pour le programme que vous souhaitez exécuter au démarrage. Voici comment:
- Ouvrez la CLI sur votre Raspberry Pi et entrez crontab -e pour modifier la table des tâches cron (crontab). Si vous ouvrez crontab pour la première fois, vous devrez sélectionner un éditeur. Vous pouvez choisir votre éditeur préféré ou continuer avec Nano. Dans les deux cas, entrez le nom de l'éditeur et appuyez sur Entrée .
- Pour créer une entrée dans la table cron, entrez la commande: @reboot python3 /home/pi/PiCounter/display.py & . Dans votre commande, assurez-vous de remplacer le nom du programme et son chemin.
- Appuyez sur CTRL + O pour écrire la ligne dans la crontab.
- Tapez sudo reboot dans le terminal pour redémarrer votre Pi.
Cron devrait maintenant exécuter votre programme chaque fois que votre Pi démarre. Si vous souhaitez arrêter cette planification, supprimez la commande dans crontab.
3. Exécutez les programmes GUI au démarrage avec démarrage automatique
Le démarrage automatique est le meilleur moyen d'exécuter des programmes Raspberry Pi basés sur l'interface graphique au démarrage. Cela fonctionne en s'assurant que le système X Window et l'environnement de bureau LXDE sont disponibles avant que le système n'exécute l'un des programmes planifiés.
Si vous avez un script qui s'exécute en mode fenêtré, ou si vous souhaitez exécuter l'un des programmes / applications basés sur l'interface graphique au démarrage de votre Raspberry Pi, vous devez planifier leur exécution en utilisant le démarrage automatique. Voici les étapes à suivre.
- Tout d'abord, ouvrez le terminal et entrez la commande suivante pour créer un fichier .desktop dans le répertoire de démarrage automatique: sudo nano /etc/xdg/autostart/display.desktop . Nous avons utilisé display.desktop comme nom de fichier, mais vous pouvez nommer votre fichier de bureau comme vous le souhaitez.
- Dans le fichier .desktop, ajoutez les lignes de code suivantes:
[Desktop Entry]
Name=PiCounter
Exec=/usr/bin/python3 /home/pi/PiCounter/display.py - Dans ce fichier, remplacez la valeur du champ Nom par le nom de votre projet / script. De même, nous avons ajouté notre programme display.py à exécuter chaque fois que le Raspberry Pi démarre.
- Cependant, vous pouvez le remplacer par n'importe quel programme que vous souhaitez exécuter. En fait, vous pouvez même planifier l'exécution d'un programme tiers, comme le navigateur Chrome; dans ce cas, le fichier .desktop doit inclure le code suivant:
[Desktop Entry]
Name=Chrome
Exec=chromium-browser - Après cela, appuyez sur CTRL + O pour enregistrer le fichier, puis entrez sudo reboot pour redémarrer le Pi.
Dès que votre Pi démarre, votre programme GUI devrait également démarrer automatiquement. Au cas où vous souhaiteriez arrêter l'exécution de votre programme au démarrage, accédez simplement au dossier de démarrage automatique et supprimez le fichier .desktop que vous venez de créer.
Exécution réussie d'un programme au démarrage sur Raspberry Pi
Bien qu'il existe de nombreuses façons d'exécuter un programme au démarrage sur des systèmes Linux, les méthodes que nous avons mentionnées dans ce guide devraient vous aider à planifier des programmes sur le Raspberry Pi.
Ainsi, quel que soit le type de programme que vous souhaitez exécuter – script personnalisé ou application tierce – ces méthodes devraient vous couvrir. Et, vous devriez être en mesure de réduire l'étape supplémentaire requise pour exécuter le programme chaque fois que vous souhaitez l'exécuter.