Przejdź do treści

Jak uruchomić skrypt podczas rozruchu na Raspberry Pi?

    1652400602

    Istnieje wiele powodów, dla których warto uruchamiać skrypt Pythona, aplikację lub inny rodzaj skryptu (np. skrypt Bash) za każdym razem, gdy uruchamia się Raspberry Pi. Być może masz robota lub urządzenie IoT, które musi być gotowe do wykonania zadania, gdy tylko Raspberry Pi je zasila. A może po prostu chcesz mieć określony program działający w tle przez cały czas i nie chcesz uruchamiać go ręcznie przy każdej sesji.

    Istnieje wiele sposobów automatycznego uruchamiania skryptu podczas uruchamiania Raspberry Pi, ale najłatwiej jest użyć crontab, funkcji planowania, która pozwala również ustawić skrypty do uruchamiania w określonych godzinach.

    Jak uruchomić skrypt przy rozruchu Raspberry Pi?

    1. Edytuj swoją listę crontab, wpisując:

    Możesz uruchomić crontab bez wprowadzania sudo, ale jeśli to zrobisz, nie będziesz w stanie uruchamiać skryptów wymagających uprawnień administratora. W rzeczywistości otrzymasz inną listę crontab, jeśli nie używasz sudo, więc nie zapomnij o tym, aby nadal go używać lub nie używać.

    2. Wybierz nano, jeśli pojawi się monit o wybranie edytora.

    Otworzy się plik.

    3. Dodaj wiersz na końcu pliku, który brzmi tak:

    Linia musi zaczynać się od @reboot, która mówi, że ma działać przy każdym uruchomieniu Raspberry Pi. Jeśli jest to skrypt Python, będziesz chciał umieścić polecenie, aby uruchomić interpreter python lub python3, a następnie pełną ścieżkę do skryptu Python. 

    Jeśli jest to skrypt Bash lub inna aplikacja, po prostu umieść do niego pełną ścieżkę.

    4. Zapisz i wyjdź. W nano robisz to, naciskając CTRL + X, odpowiadając Y i naciskając Enter, gdy zostaniesz o to poproszony.

    5. Uczyń swój skrypt wykonywalnym, jeśli jest to skrypt Bash. Skrypty Pythona nie muszą być wykonywalne, ponieważ interpreter Pythona już jest. Możesz sprawić, że dowolny skrypt będzie wykonywalny, wpisując 

    Jeśli chcesz usunąć swój skrypt z crontab, po prostu wpisz ponownie sudo crontab -e i usuń lub skomentuj tę linię. Zwróć uwagę, że jeśli tworzysz projekt, który nie wymaga korzystania ze środowiska okienkowego, możesz zaoszczędzić zasoby systemowe, konfigurując Raspberry Pi do uruchamiania z wiersza poleceń, wprowadzając sudo raspi-config, a następnie przechodząc do opcji rozruchu – > Desktop / CLI i wybierając opcję Konsola Autologin.

    Jak automatycznie uruchomić skrypt lub aplikację w graficznym interfejsie użytkownika Raspberry Pi?

    Jeśli chcesz, aby Twój skrypt lub aplikacja działała podczas uruchamiania Raspberry Pi w okienkowym GUI, wykonaj następujące kroki.

    1. Utwórz plik o nazwie myapp.desktop (lub coś innego .desktop) w katalogu /etc/xdg/autostart/.

    2. Użyj następującego układu w pliku myapp.desktop. 

    Umieść polecenie i wszelkie parametry w wierszu Exec=. Na przykład, aby przeglądarka Chrome otwierała się na stronie internetowej, wpisz „chromium-browser [URL]”. Jeśli Twoja aplikacja wymaga uprawnień sudo, możesz umieścić sudo w poleceniu Exec. 

    Aby uruchomić skrypt w oknie terminala, użyj lxterminal, a następnie parametru –command i podwójnych cudzysłowów z „/bin/bash -c 'MOJE POLECENIA TUTAJ; /bin/bash”. Na przykład, aby uruchomić skrypt python3, który wymaga uprawnień sudo, użyjesz: 

    Spowoduje to uruchomienie okna terminala w środowisku okienkowym po uruchomieniu z uruchomionym w nim skryptem. Po zakończeniu skryptu (lub przerwaniu go, naciskając CTRL + C), okno terminala powróci do monitu. Jeśli chcesz, aby okno terminala zamykało się po zakończeniu skryptu, możesz pominąć ;/bin/bash na końcu.

    Uruchomienie skryptu w takim oknie terminala może być pomocne, ponieważ jeśli jest to skrypt Pythona w nieskończonej pętli (tak jak w przypadku robota), możesz łatwo zabić skrypt, naciskając CTRL+C. W przeciwnym razie, aby zabić skrypt, musiałbyś znaleźć proces, który opisujemy poniżej.

    Zabijanie skryptu

    Co zrobić, jeśli chcesz zatrzymać skrypt automatycznego uruchamiania po uruchomieniu Raspberry Pi? Jeśli twój skrypt już się zakończył, zniknie z pamięci, ale jeśli jest przeznaczony do wykonywania czegoś w sposób ciągły, będziesz musiał wyszukać i zabić zadanie.

    1. Wyszukaj swój skrypt, używając polecenia ps aux i umieszczając nazwę skryptu (lub przynajmniej częściową nazwę) po grep.

    Zastąp app.py nazwą swojego skryptu. Zobaczysz listę numerów procesów.

    2. Zabij każdy numer procesu za pomocą polecenia sudo kill -9. Na przykład,

    Więcej samouczków:

    Jak robić zrzuty ekranu na Raspberry Pi?
    Jak skonfigurować serwer WWW Raspberry Pi?
    Jak uruchomić Raspberry Pi 4 lub 3 z dysku SSD lub dysku flash?
    Jak tworzyć niestandardowe skróty klawiaturowe na Raspberry Pi?
    Jak uruchomić emulatory na Raspberry Pi 4?
    Ponad 25 poleceń Linuksa, które użytkownicy Raspberry Pi muszą znać
    Jak zrobić koszulkę z paskiem wiadomości z Raspberry Pi?

    0 0 votes
    Rating post
    Subscribe
    Powiadom o
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x