Aller au contenu

Comment exécuter un script au démarrage sur Raspberry Pi

    1652400602

    Il y a de nombreuses raisons pour lesquelles vous voudriez exécuter un script Python, une application ou un autre type de script (ex : un script Bash) à chaque démarrage de votre Raspberry Pi. Peut-être avez-vous un robot ou un appareil IoT qui doit être prêt à effectuer une tâche dès que le Raspberry Pi qui l’alimente démarre. Ou peut-être voulez-vous simplement qu’un programme particulier s’exécute en arrière-plan à tout moment et que vous ne vouliez pas le lancer manuellement à chaque session.

    Il existe plusieurs façons de démarrer automatiquement un script au démarrage de Raspberry Pi, mais la plus simple consiste à utiliser crontab, une fonctionnalité de planification qui vous permet également de définir des scripts à exécuter à des moments particuliers.

    Comment exécuter un script au démarrage de Raspberry Pi

    1. Modifiez votre liste de crontab en tapant :

    Vous pouvez lancer crontab sans entrer sudo, mais si vous le faites, vous ne pourrez pas exécuter de scripts nécessitant des privilèges d’administrateur. En fait, vous obtenez une liste différente de crontabs si vous n’utilisez pas sudo, alors n’oubliez pas de continuer à l’utiliser ou de ne pas l’utiliser.

    2. Sélectionnez nano si vous êtes invité à demander un éditeur.

    Un dossier s’ouvre.

    3. Ajoutez une ligne à la fin du fichier qui se lit comme suit :

    La ligne doit commencer par @reboot qui lui dit de s’exécuter à chaque fois que vous démarrez le Raspberry Pi. S’il s’agit d’un script Python, vous voudrez mettre la commande pour lancer l’interpréteur python ou python3 suivi du chemin complet vers votre script Python. 

    S’il s’agit d’un script Bash ou d’une autre application, mettez simplement le chemin complet vers celui-ci.

    4. Enregistrez et quittez. Dans nano, vous le faites en appuyant sur CTRL + X, en répondant Y et en appuyant sur Entrée lorsque vous y êtes invité.

    5. Rendez votre script exécutable s’il s’agit d’un script Bash. Les scripts Python n’auront pas besoin d’être exécutables car l’interpréteur Python l’est déjà. Vous pouvez rendre n’importe quel script exécutable en tapant 

    Si vous souhaitez supprimer votre script de la crontab, tapez simplement sudo crontab -e à nouveau et supprimez ou commentez cette ligne. Notez que, si vous construisez un projet qui ne vous oblige pas à utiliser l’environnement fenêtré, vous pouvez économiser les ressources système en configurant le Raspberry Pi pour qu’il démarre sur la ligne de commande en entrant sudo raspi-config puis en naviguant vers Options de démarrage – > Desktop / CLI et en sélectionnant Console Autologin.

    Comment exécuter automatiquement un script ou une application dans l’interface graphique Raspberry Pi

    Si vous souhaitez que votre script ou votre application s’exécute au démarrage de Raspberry Pi dans l’interface graphique fenêtrée, procédez comme suit.

    1. Créez un fichier appelé myapp.desktop (ou autre chose .desktop) dans le répertoire /etc/xdg/autostart/.

    2. Utilisez la disposition suivante dans le fichier myapp.desktop. 

    Placez la commande et tous les paramètres sur la ligne Exec=. Par exemple, pour qu’un navigateur Chrome s’ouvre sur une page Web, vous devez mettre « chromium-browser [URL] ». Si votre application nécessite des autorisations sudo, vous pouvez mettre sudo dans la commande Exec. 

    Pour exécuter un script dans une fenêtre de terminal, utilisez lxterminal suivi du paramètre –command et des guillemets doubles avec « /bin/bash -c ‘MYCOMMANDS HERE; /bin/bash”’. Par exemple, pour lancer un script python3 qui nécessite des autorisations sudo, vous utiliserez : 

    Cela lancera une fenêtre de terminal dans l’environnement fenêtré au démarrage avec votre script en cours d’exécution. Une fois le script terminé (ou vous l’abandonnez en appuyant sur CTRL + C), la fenêtre du terminal reviendra à l’invite. Si vous voulez que la fenêtre du terminal se ferme à la fin du script, vous pouvez omettre le ;/bin/bash à la fin.

    L’exécution d’un script dans une fenêtre de terminal comme celle-ci peut être utile, car s’il s’agit d’un script Python en boucle sans fin (comme vous le feriez pour un robot), vous pouvez facilement tuer le script en appuyant sur CTRL+C. Sinon, pour tuer le script, vous devrez trouver le processus, que nous décrivons ci-dessous.

    Tuer le script

    Et si vous voulez arrêter votre script d’exécution automatique après le démarrage de votre Raspberry Pi ? Si votre script a déjà terminé son exécution, il disparaîtra de la mémoire, mais s’il est conçu pour faire quelque chose en continu, vous devrez rechercher et supprimer la tâche.

    1. Recherchez votre script en utilisant la commande ps aux et en mettant le nom de votre script (ou au moins un nom partiel) après grep.

    Remplacez app.py par le nom de votre script. Vous verrez une liste de numéros de processus.

    2. Tuez chaque numéro de processus à l’aide de la commande sudo kill -9. Par example,

    Plus de tutoriels :

    Comment capturer des captures d’écran sur Raspberry Pi
    Comment configurer un serveur Web Raspberry Pi
    Comment exécuter Raspberry Pi 4 ou 3 sur un SSD ou un lecteur flash
    Comment créer des raccourcis clavier personnalisés sur le Raspberry Pi
    Comment exécuter des émulateurs sur le Raspberry Pi 4
    Plus de 25 commandes Linux que les utilisateurs de Raspberry Pi doivent connaître
    Comment faire une chemise de téléscripteur avec Raspberry Pi

    0 0 votes
    Rating post
    S’abonner
    Notification pour
    guest
    0 comments
    Commentaires en ligne
    Afficher tous les commentaires
    0
    Nous aimerions avoir votre avis, veuillez laisser un commentaire.x