Hoe een script uitvoeren bij het opstarten op de raspberry pi

Of het nu wordt gebruikt als mediacentrum, webserver, gamingconsole of gewoon een computer, er zijn talloze redenen waarom u mogelijk een bepaald programma of een script nodig heeft om automatisch te starten wanneer u uw Raspberry PI opstart. ThisTeaches u hoe u een script wilt forceren om bij het opstarten van de opstarttijd te starten door deze als een service toe te voegen (vóór de bureaubladbelasting), of door het toe te voegen aan uw Autostart-bestand (na de bureaubladbelastingen).

Stappen

Methode 1 van 2:
Een script toevoegen als een service
  1. Titel afbeelding 8353066 1
1. Maak een .Servicebestand voor uw script. Deze methode leert u hoe u een service kunt maken die uw script in het opstarttijd uitvoert voordat LXDE begint. Als het script afhankelijkheden vereist die niet onmiddellijk actief zijn (zoals netwerken of iets graphical), zal de service uw script vertellen om te wachten tot die processen laden. Maak een bestand (gebeld scriptnaam.onderhoud) Dat volgt deze structuur, vervangt de paden en beschrijving als dat nodig is:

[Eenheid]

Beschrijving = mijn service

Na = netwerk-online.doelwit

[Onderhoud]

Exemstart = / usr / bin / python3 -U main.pit

WORKSDIRECTORY = / Home / PI / MYSCRIPT

Standardoutput = erven

StandaardError = erven

Opnieuw opstarten = altijd

Gebruiker = pi

[Installeren]

Wildernis = multi-user.doelwit

  • Titel afbeelding 8353066 2
    2. Kopieer de service naar / etc / systeem / systeem. Je moet dit doen als root, dus gebruik sudo. Hier is een voorbeeld:
  • sudo cp myscript.Service / etc / SystemD / System / MyScript.onderhoud
  • Titel afbeelding 8353066 3
    3. Test de service door het uit te voeren. Voordat u de service instelt om automatisch te starten, wilt u ervoor zorgen dat het script correct werkt bij uitvoering. Om het script door de service uit te voeren, gebruikt u de systemctl opdracht als volgt:
  • sudo SystemCTL start MyScript.onderhoud
  • U kunt de service zo nodig stoppen door dezelfde opdracht uit te voeren, te vervangen begin met hou op.
  • Titel afbeelding 8353066 4
    4. Stel de service in om in het opstarttijd te lopen. Zolang het script zonder fout wordt uitgevoerd, kunt u de opdracht uitvoeren die ervoor zorgt dat het script wordt uitgevoerd bij het opstarten:
  • Sudo SystemCTL Schakel MyScript in.onderhoud
  • Methode 2 van 2:
    Gebruik van het Autostart-bestand
    1. Titel afbeelding 8353066 5
    1. Begrijp de vereisten en hoe het werkt. Voor deze methode is de pixel desktop-omgeving vereist met de nieuwste versie van het Raspbian-besturingssysteem. Het wordt bereikt door het bewerken van een "automatische start" Bestand dat opdrachten uitvoert bij het opstarten in de LXDE Desktop-omgeving, wat het framework is dat de PIXEL-desktop van de Raspberry PI is gebouwd. Deze methode heeft de voorkeur in scenario`s waar:
    • Uw script vereist dat de desktop-omgeving wordt uitgevoerd
    • Uw script moet worden uitgevoerd vanuit een terminalvenster
    • U wilt specificeren welke gebruikers het script automatisch kunnen maken voor
  • Titel afbeelding 8353066 6
    2. Open het Autostart-bestand in de NANO-teksteditor. Voer in een nieuw terminalvenster de volgende opdracht uit:
  • sudo nano / home / pi /.config / lxsession / lxde-pi / autostart
  • Titel afbeelding 8353066 7
    3. Gebruik de pijltjestoetsen om naar het einde van de tweede regel te navigeren en op te drukken ↵ ENTER. Dit zal een nieuwe regel boven de @xscreensaver -no-splash toegang. Veel gebruikers hebben gemeld dat opdrachten die onder deze regel worden toegevoegd, niet met succes lopen, dus het is gebruikelijk om uw aangepaste opdrachten boven de @xscreensaver toegang.
  • Titel afbeelding 8353066 8
    4. Voeg een opdracht toe om uw script te starten. Dit is waar u de meeste opties hebt, omdat u een opdracht aan het even welk terminal kunt invoeren, u normaal gebruikt om uw script te starten. Bijvoorbeeld om een ​​bash-script te laten runnen "myscript.schel" die zich in de thuismap van de gebruiker bevindt "pi" Men zou de opdracht invoeren: / Home / Pi / MyScript.schel. Evenzo, als de superuser-machtigingen vereist zijn om het script uit te voeren, kunt u zelfs de opdracht voorafgaan met sudo.
  • 5. Omvatten de volledige paden naar elke bestandsnaam. Bijvoorbeeld om een ​​Python-script uit te voeren waarvoor superustermachtigingen wordt genoemd "myscript.pit" die zich in de thuismap van de gebruiker bevindt "pi", Je zou het volledige pad gaan naar zowel het python-script zelf als de Python-tolk, zoals sudo / usr / bin / python / home / pi / myscript.pit.
  • Titel afbeelding 8353066 9
    6. Bepaal of u uw script wilt uitvoeren in een nieuw terminalvenster bij het opstarten. Hiervoor kunt u de @lxterminal Command met de -e Modifier gevolgd door het volledige pad van uw script in aanhalingstekens. Bijvoorbeeld:

    @lxterMinal -e "/ Home / Pi / MyScript.schel"

  • Dit voert het script uit vanuit een nieuw terminalvenster.
  • Titel afbeelding 8353066 10
    7. Voer de juiste opdrachten in om uw script te starten. Druk eenmaal ingevoerd Ctrl+X, en volg vervolgens de instructies op het scherm om uw wijzigingen op te slaan.
  • Als u niet wilt dat uw script langer wordt uitgevoerd bij het opstarten, bewerkt u eenvoudig het AutoStart-bestand opnieuw, alleen deze keer verwijdert u de regels die u eerder hebt toegevoegd. Nadat u opslaan en afsluiten, wordt uw script niet langer automatisch uitgevoerd bij het opstarten.
  • Titel afbeelding 8353066 11
    8. Start opnieuw op om te testen. Gebruik sudo reboot om je Raspberry PI opnieuw op te starten. Als het script werkt zoals ontworpen, zal het een van de Window Manager opstarten.
  • Deel in het sociale netwerk:
    Vergelijkbaar