Cum să executați un script la pornire pe pi-ul de zmeură

Indiferent dacă este folosit ca centru media, server web, consola de jocuri sau pur și simplu un computer, există nenumărate motive pentru care ați putea avea nevoie de un anumit program sau un script pentru a începe automat când porniți PI-ul de zmeură. Toți te-a făcut cum să forțezi un script pentru a începe la momentul încărcării fie adăugându-l ca un serviciu (înainte de încărcările desktop), sau adăugând-o la fișierul Autostart (după încărcările desktop).

Pași

Metoda 1 din 2:
Adăugarea unui script ca serviciu
  1. Imagine intitulată 8353066 1
1. Creeaza o .Fișier de service pentru scriptul dvs. Această metodă vă va învăța cum să creați un serviciu care rulează scriptul dvs. la momentul încărcării înainte de începerea LXDE. Dacă scriptul necesită dependențe care nu sunt active imediat (cum ar fi rețelele sau orice altceva grafic), serviciul dvs. va spune scenariului dvs. să aștepte până la sarcina acestor procese. Creați un fișier (numit ScriptName.serviciu) care urmează această structură, înlocuind căile și descrierea după cum este necesar:

[Unitate]

Descriere = Serviciul meu

După = rețea-online.ţintă

[Serviciu]

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

WorkIndrectory = / Home / Pi / Myscript

Standardoutput = moștenire

StandardError = moștenire

Reporniți întotdeauna

Utilizator = Pi

[Instalare]

Dorit = multi-utilizator.ţintă

  • Imagine intitulată 8353066 2
    2. Copiați serviciul la / etc / sistem / sistem. Va trebui să faceți acest lucru ca rădăcină, așa că utilizați sudo. Iată un exemplu:
  • sudo cp myscript.Service / etc / Systemd / System / Myscript.serviciu
  • Imagine intitulată 8353066 3
    3. Testați serviciul prin executarea acestuia. Înainte de a seta serviciul să pornească automat, veți dori să vă asigurați că scriptul rulează corect când este executat. Pentru a rula scriptul prin intermediul serviciului, veți folosi SystemCt comanda ca aceasta:
  • Sudo Systemctl Start Myscript.serviciu
  • Puteți opri serviciul, dacă este necesar, rulând aceeași comandă, înlocuindu-se start cu Stop.
  • Imagine intitulată 8353066 4
    4. Setați serviciul pentru a rula la momentul încărcării. Atâta timp cât scriptul execută fără eroare, puteți rula comanda care asigură că scenariul se execută la momentul încărcării:
  • Sudo Systemctl Activează Myscript.serviciu
  • Metoda 2 din 2:
    Utilizarea fișierului AutoStart
    1. Imagine intitulată 8353066 5
    1. Înțelegeți cerințele și modul în care funcționează. Această metodă necesită mediul desktop pixel cu cea mai recentă versiune a sistemului de operare RAPBIAN. Se realizează prin editarea unui "pornire automată" Fișier care rulează comenzi la pornire în mediul desktop LXDE, care este cadrul de pe desktopul pixel al lui Raspberry Pi este construit pe. Această metodă este preferată în scenariile în care:
    • Scriptul dvs. necesită ca mediul desktop să ruleze
    • Scriptul dvs. trebuie să ruleze dintr-o fereastră terminală
    • Doriți să specificați care utilizatori scenariul va fi autostart pentru
  • Imagine intitulată 8353066 6
    2. Deschideți fișierul Autostart în editorul de text Nano. Într-o nouă fereastră terminală, executați următoarea comandă:
  • sudo nano / home / pi /.CONFIG / LXSESSION / LXDE-PI / Autostart
  • Imagine intitulată 8353066 7
    3. Utilizați tastele săgeată pentru a naviga la sfârșitul celei de-a doua linii și apăsați ↵ Introduceți. Aceasta va crea o nouă linie deasupra @xscreenSaver -Nen-Splash intrare. Mulți utilizatori au raportat că comenzile adăugate mai jos această linie nu rulează cu succes, astfel încât este o practică obișnuită să adăugați comenzile personalizate deasupra @xscreensaver intrare.
  • Imagine intitulată 8353066 8
    4. Adăugați o comandă pentru a lansa scriptul dvs. Aici aveți cele mai multe opțiuni, deoarece puteți introduce orice comandă terminală pe care ați folosi în mod normal pentru a lansa scriptul dvs. De exemplu, pentru a rula un script de bash numit "Myscript.SH" care este situat în directorul de domiciliu al utilizatorului "Pi" unul ar intra în comandă: / home / pi / myscript.SH. De asemenea, dacă sunt necesare permisiuni superuser pentru a rula scriptul, puteți chiar să prefacă comanda cu sudo.
  • 5. Includeți căile complete către fiecare nume de fișier. De exemplu, pentru a rula un script Python care necesită permisiuni superuser numite "Myscript.PY" care este situat în directorul de domiciliu al utilizatorului "Pi", ați intrat pe calea completă atât la scenariul Python, cât și de interpretul Python, cum ar fi sudo / usr / bin / python / home / pi / myscript.PY.
  • Imagine intitulată 8353066 9
    6. Decideți dacă doriți să rulați scriptul într-o nouă fereastră terminală la pornire. Pentru aceasta, puteți utiliza @Lxterminal comanda cu -E Modificator urmat de calea completă a scriptului dvs. în Citate. De exemplu:

    @Lxterminal -e "/ home / pi / myscript.SH"

  • Acest lucru va executa scriptul dintr-o nouă fereastră terminală.
  • Imagine intitulată 8353066 10
    7. Introduceți comenzile corespunzătoare pentru a lansa scriptul dvs. Odată introdus, apăsați Ctrl+X, și apoi urmați instrucțiunile de pe ecran pentru a vă salva modificările.
  • Dacă nu doriți ca scriptul dvs. să funcționeze la pornire, pur și simplu editați fișierul AutoStart încă o dată, numai acest timp ștergeți liniile pe care le-ați adăugat anterior. Odată ce salvați și ieșiți, scriptul dvs. nu va mai funcționa automat la pornire.
  • Imagine intitulată 8353066 11
    8. Reporniți pentru a testa. Utilizare sudo reboot Pentru a reporni PI-ul dvs. de zmeură. Dacă scriptul funcționează așa cum este proiectat, acesta va lansa unul care pornește Managerul ferestrei.
  • Partajați pe rețeaua socială:
    Similar