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

1. Créez un fichier.service pour votre script.
2. Copiez le fichier dans / etc / systemd / system.
3. Testez le script en démarrant le service.
4. Utilisez systemctl pour lancer au moment du démarrage.

Vous pouvez exécuter la commande qui garantit que le script s'exécute au démarrage
Tant que le script s'exécute sans erreur, vous pouvez exécuter la commande qui garantit que le script s'exécute au démarrage.

Qu'il soit utilisé comme centre multimédia, serveur Web, console de jeu ou simplement ordinateur, il existe d'innombrables raisons pour lesquelles vous pourriez avoir besoin d'un programme ou d'un script particulier pour démarrer automatiquement lorsque vous démarrez votre Raspberry Pi. Ce guide vous apprend comment forcer un script à démarrer au démarrage soit en l'ajoutant en tant que service (avant le chargement du bureau), soit en l'ajoutant à votre fichier de démarrage automatique (après le chargement du bureau).

Méthode 1 sur 2: ajouter un script en tant que service

  1. 1
    Créez un fichier.service pour votre script. Cette méthode vous apprendra comment créer un service qui exécute votre script au moment du démarrage avant le démarrage de LXDE. Si le script nécessite des dépendances qui ne sont pas actives immédiatement (telles que la mise en réseau ou tout élément graphique), le service demandera à votre script d'attendre le chargement de ces processus. Créez un fichier (appelé scriptname.service) qui suit cette structure, en remplaçant les chemins et la description si nécessaire:

    [Unité]

    Description = Mon service

    Après = network-online.target

    [Service] ExecStart = / usr / bin / python3 -u main.py

    WorkingDirectory = / home / pi / myscript

    StandardOutput = hériter

    StandardError = hériter

    Redémarrer = toujours

    Utilisateur = pi

    [Installer]

    WantedBy = multi-user.target

  2. 2
    Copiez le service dans / etc / system / system. Vous devrez le faire en tant que root, alors utilisez sudo. Voici un exemple:
    • sudo cp myscript.service /etc/systemd/system/myscript.service
  3. 3
    Testez le service en l'exécutant. Avant de configurer le service pour qu'il démarre automatiquement, vous voudrez vous assurer que le script s'exécute correctement lorsqu'il est exécuté. Pour exécuter le script via le service, vous utiliserez la systemctl commande comme ceci:
    • sudo systemctl start myscript.service
    • Vous pouvez arrêter le service si nécessaire en exécutant la même commande, en remplaçant start par stop.
  4. 4
    Configurez le service pour qu'il s'exécute au moment du démarrage. Tant que le script s'exécute sans erreur, vous pouvez exécuter la commande qui garantit que le script s'exécute au démarrage:
    • sudo systemctl enable myscript.service
Cette méthode vous apprendra comment créer un service qui exécute votre script au moment du démarrage
Cette méthode vous apprendra comment créer un service qui exécute votre script au moment du démarrage avant le démarrage de LXDE.

Méthode 2 sur 2: utilisation du fichier de démarrage automatique

  1. 1
    Comprenez les exigences et comment cela fonctionne. Cette méthode nécessite l'environnement de bureau PIXEL avec la dernière version du système d'exploitation Raspbian. Ceci est réalisé en éditant un fichier "autostart" qui exécute des commandes au démarrage dans l'environnement de bureau LXDE, qui est le cadre sur lequel le bureau PIXEL du Raspberry Pi est construit. Cette méthode est préférée dans les scénarios où:
    • Votre script nécessite l’environnement de bureau pour s’exécuter
    • Votre script doit s'exécuter à partir d'une fenêtre de terminal
    • Vous souhaitez spécifier les utilisateurs pour lesquels le script démarrera automatiquement
  2. 2
    Ouvrez le fichier de démarrage automatique dans l'éditeur de texte nano. Dans une nouvelle fenêtre de terminal, exécutez la commande suivante:
    • sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
  3. 3
    Utilisez les touches fléchées pour naviguer jusqu'à la fin de la deuxième ligne et appuyez sur enter. Cela créera une nouvelle ligne au-dessus de l' @xscreensaver -no-splash entrée. De nombreux utilisateurs ont signalé que les commandes ajoutées sous cette ligne ne s'exécutent pas correctement, il est donc courant d'ajouter vos commandes personnalisées au-dessus de l' @xscreensaver entrée.
  4. 4
    Ajoutez une commande pour lancer votre script. C'est là que vous avez le plus d'options car vous pouvez entrer n'importe quelle commande de terminal que vous utiliseriez normalement pour lancer votre script. Par exemple, pour exécuter un script bash appelé «myscript.sh» qui est situé dans le répertoire personnel de l'utilisateur «pi» on entrerait la commande: /home/pi/myscript.sh. De même, si des autorisations de superutilisateur sont nécessaires pour exécuter le script, vous pouvez même faire précéder la commande avec sudo.
  5. 5
    Incluez les chemins complets vers chaque nom de fichier. Par exemple, pour exécuter un script Python nécessitant des autorisations de superutilisateur appelé "myscript.py" qui se trouve dans le répertoire personnel de l'utilisateur "pi", vous devez entrer le chemin complet du script Python lui-même et de l'interpréteur Python, tel comme sudo /usr/bin/python /home/pi/myscript.py.
    Si vous ne voulez plus que votre script s'exécute au démarrage
    Si vous ne voulez plus que votre script s'exécute au démarrage, modifiez simplement à nouveau le fichier de démarrage automatique, mais cette fois, supprimez les lignes que vous avez ajoutées précédemment.
  6. 6
    Décidez si vous souhaitez exécuter votre script dans une nouvelle fenêtre de terminal au démarrage. Pour cela, vous pouvez utiliser la @lxterminal commande avec le -e modificateur suivi du chemin complet de votre script entre guillemets. Par example:
    • @lxterminal -e "/home/pi/myscript.sh"

    • Cela exécutera le script à partir d'une nouvelle fenêtre de terminal.
  7. 7
    Entrez les commandes appropriées pour lancer votre script. Une fois entré, appuyez sur Ctrl+ X, puis suivez les instructions à l'écran pour enregistrer vos modifications.
    • Si vous ne voulez plus que votre script s'exécute au démarrage, modifiez simplement à nouveau le fichier de démarrage automatique, mais cette fois, supprimez les lignes que vous avez ajoutées précédemment. Une fois que vous avez enregistré et quitté, votre script ne fonctionnera plus automatiquement au démarrage.
  8. 8
    Redémarrez pour tester. Utilisez sudo reboot pour redémarrer votre Raspberry Pi. Si le script fonctionne comme prévu, il en lancera un que le gestionnaire de fenêtres démarre.
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail