Comment exécuter un script au démarrage sur le pi de framboise

Que ce soit utilisé comme centre multimédia, serveur Web, console de jeu ou simplement un ordinateur, il existe d`innombrables raisons pourraient avoir besoin d`un programme ou d`un script particulier pour démarrer automatiquement lorsque vous démarrez votre PI de framboise. Vous devez forcer un script à démarrer au démarrage en l`ajoutant sous forme de service (avant la charge de bureau) ou en l`ajoutant à votre fichier Autostart (après les charges de bureau).

Pas

Méthode 1 de 2:
Ajouter un script en tant que service
  1. Image intitulée 8353066 1
1. Créer un .Fichier de service pour votre script. Cette méthode vous apprendra comment créer un service qui exécute votre script au démarrage avant que LXDE ne commence. Si le script nécessite des dépendances qui ne sont pas actifs immédiatement (tels que la mise en réseau ou quoi que ce soit graphique), le service indiquera à votre script d`attendre que ces processus se chargent. Créer un fichier (appelé scriptname.un service) Cela suit cette structure, remplaçant les chemins et la description au besoin:

[Unité]

Description = mon service

Après = réseau-ligne.cible

[Un service]

Execstart = / usr / bin / python3 -u principal.py

WorkingDirectory = / home / pi / myscript

StandardOutput = hériter

StandardError = hériter

Redémarrer = toujours

User = PI

[Installer]

WANTEDY = Multi-User.cible

  • Image intitulée 8353066 2
    2. Copiez le service / etc / system / system. Vous aurez besoin de le faire comme une racine, alors utilisez-la sudo. Voici un exemple:
  • sudo cp myscript.Service / etc / systemd / system / myscript.un service
  • Image intitulée 8353066 3
    3. Testez le service en l`exécutant. Avant de définir le service pour démarrer automatiquement, vous voudrez vous assurer que le script fonctionne correctement lorsqu`il est exécuté. Pour exécuter le script via le service, vous utiliserez le Système commande comme ceci:
  • Sudo SystemCtL Démarrer MyScript.un service
  • Vous pouvez arrêter le service si nécessaire en exécutant la même commande, remplaçant démarrer avec arrêter.
  • Image intitulée 8353066 4
    4. Définissez le service pour exécuter au démarrage. Tant que le script exécute sans erreur, vous pouvez exécuter la commande qui assure que le script fonctionne au démarrage:
  • Sudo SystemCtL Activer MyScript.un service
  • Méthode 2 sur 2:
    Utilisation du fichier Autostart
    1. Image intitulée 8353066 5
    1. Comprendre 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. Il est réalisé en édité un "autostart" Fichier qui exécute des commandes au démarrage dans l`environnement de bureau LXDE, qui est le cadre du bureau Pixel de Raspberry Pi est construit sur. Cette méthode est préférée dans les scénarios où:
    • Votre script nécessite que l`environnement de bureau fonctionne
    • Votre script doit fonctionner à partir d`une fenêtre de terminal
    • Vous souhaitez spécifier quels utilisateurs le script sera automatiquement
  • Image intitulée 8353066 6
    2. Ouvrez le fichier Autostart 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
  • Image intitulée 8353066 7
    3. Utilisez les touches fléchées pour naviguer vers la fin de la deuxième ligne et appuyez sur ↵ Entrez. Cela a créé une nouvelle ligne au-dessus de la @xcreensaver -NO-Splash entrée. De nombreux utilisateurs ont signalé que les commandes ajoutées ci-dessous cette ligne ne s`exécutent pas correctement, il est donc courant d`ajouter vos commandes personnalisées au-dessus de la @xcreensaver entrée.
  • Image intitulée 8353066 8
    4. Ajouter une commande pour lancer votre script. C`est ici que vous avez la plupart des options que vous pouvez entrer n`importe quelle commande terminale que vous utiliseriez normalement pour lancer votre script. Par exemple, exécuter un script Bash appelé "myscript.SH" qui est situé dans le répertoire domestique de l`utilisateur "pi" On entrerait la commande: / home / pi / myscript.SH. De même, si les autorisations de superutilisateur sont nécessaires pour exécuter le script, vous pouvez même préconiser la commande avec sudo.
  • 5. Inclure les chemins complets à chaque nom de fichier. Par exemple, pour exécuter un script Python nécessitant des autorisations superutilisées appelées "myscript.py" qui est situé dans le répertoire domestique de l`utilisateur "pi", vous entrez dans la voie complète du script Python lui-même et de l`interprète Python, telle que sudo / usr / bin / python / home / pi / myscript.py.
  • Image intitulée 8353066 9
    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 le @lxterminal commander avec le -e modificateur suivi du chemin complet de votre script dans des citations. Par example:

    @LXTERMINAL -E "/ home / pi / myscript.SH"

  • Cela exécutera le script d`une nouvelle fenêtre de terminal.
  • Image intitulée 8353066 10
    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 fonctionne plus longtemps sur le démarrage, modifiez simplement le fichier Autostart une fois de nouveau, seulement cette fois supprimez les lignes que vous avez ajoutées précédemment. Une fois que vous avez enregistré et quittez, votre script ne fonctionnera plus automatiquement au démarrage.
  • Image intitulée 8353066 11
    8. Redémarrer pour tester. Utiliser Sudo Redémarrez Redémarrer votre Raspberry Pi. Si le script fonctionne comme conçu, il lancera l`un du gestionnaire de fenêtres démarre.
  • Articles connexes