3 Möglichkeiten, ein Raspberry Pi-Programm oder -Skript beim Start auszuführen
Raspberry Pi ist ein winziger, kostengünstiger Computer, der in vielen Formen und Größen erhältlich ist und eine Vielzahl von Anwendungen ermöglicht, von einfachen Anwendungen wie dem Erlernen des Codierens bis hin zu komplexen Hausautomationsprojekten. Der Anwendungsbereich ist unbegrenzt.
Eine der vielen Funktionen, die den Raspberry Pi so vielseitig machen, ist seine Fähigkeit, alle Arten von Programmen auszuführen, genau wie ein normaler Computer. Darüber hinaus können Sie sogar Ihre eigenen Skripte schreiben – für jedes Ziel, das Sie sich vorstellen – und sie auf dem Pi ausführen.
Warum sollten Sie beim Start ein Programm ausführen wollen?
Obwohl der Raspberry Pi alle Arten von Programmen ausführen kann, müssen Sie diese Programme jedes Mal manuell ausführen, wenn Sie sie ausführen möchten. Dieser Ansatz beinhaltet eindeutig einen zusätzlichen Schritt. Und obwohl dies nicht sehr unangenehm ist, gibt es Fälle, in denen Sie ein Programm benötigen, das direkt nach dem Start des Raspberry Pi ausgeführt werden soll.
Stellen Sie sich zum Beispiel vor, Sie verwenden Ihren Raspberry Pi zur Überwachung der Aktienkurse: Dabei führen Sie jeden Tag beim Hochfahren Ihres Pi ein Skript aus, das Informationen aus vordefinierten Ressourcen abruft und einer Anzeige präsentiert.
Hier müssen Sie das Skript trotz der Rationalisierung des Prozesses zur Verfolgung der Aktienkurse jeden Tag ausführen. Dank der Automatisierung ist es jedoch möglich, die manuelle Eingabe aus der Gleichung zu entfernen, indem Ihr Pi das Skript beim Start automatisch ausführt.
Dies gilt für Situationen wie diese, in denen Sie beim Start ein Programm ausführen möchten.
So führen Sie ein Programm beim Start aus
Es gibt verschiedene Möglichkeiten, ein Programm beim Start auf Raspberry Pi auszuführen. In diesem Handbuch erfahren Sie jedoch, wie Sie drei dieser effektiven und leicht zu befolgenden Methoden verwenden.
Hinweis: Wir haben diese Methoden verwendet, um unser Python-Skript auszuführen, und Sie können dies mit jedem Ihrer Skripte oder sogar den integrierten Programmen auf Raspberry Pi tun. Stellen Sie einfach sicher, dass Sie die richtige Methode verwenden, um Ihr Programm auszuführen.
1. Verwenden Sie die Datei rc.local
rc.local ist eine vom System verwaltete Datei, die ausgeführt wird, nachdem alle Systemdienste gestartet wurden, dh nachdem zu einer Mehrbenutzer-Ausführungsebene gewechselt wurde. Dies ist die einfachste Methode, um Programme beim Booten auf Linux-Systemen ausführen zu lassen. Es gibt jedoch eine Einschränkung: Sie können diese Methode nur für Programme ohne GUI-Elemente (grafische Benutzeroberfläche) verwenden, da rc.local ausgeführt wird, bevor das Fenstersystem von Raspberry Pi gestartet wird.
Um ein Programm so einzustellen, dass es beim Booten ausgeführt wird, müssen wir die Datei rc.local ändern und Befehle hinzufügen. Hier erfahren Sie, wie das geht.
- Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein, um die Datei rc.local zu öffnen: sudo nano /etc/rc.local .
- Geben Sie in der Datei rc.local die folgende Codezeile vor der Zeile "exit 0" ein: python3 /home/pi/PiCounter/display.py & .
- Ersetzen Sie hier PiCounter / display.py durch Ihren Programm- / Skriptnamen . Stellen Sie außerdem sicher, dass Sie den absoluten Pfad zu Ihrem Programm und nicht den relativen Pfad verwenden. Beachten Sie, dass der Befehl mit dem kaufmännischen Und (&) endet.
- Dies soll das System darüber informieren, dass das von uns geplante Programm kontinuierlich ausgeführt wird, sodass es nicht warten sollte, bis Ihr Skript beendet ist, bevor die Startsequenz gestartet wird. Beachten Sie, dass das Skript für immer ausgeführt wird, wenn dem Befehl kein kaufmännisches Und hinzugefügt wird und Ihr Pi niemals hochfährt.
- Drücken Sie danach STRG + O , um die Datei zu speichern. Geben Sie im Terminal sudo reboot ein .
Sobald Ihr Pi hochfährt, sollte er Ihr Programm automatisch ausführen. Wenn Sie aus irgendeinem Grund verhindern möchten, dass das Programm beim Booten ausgeführt wird, bearbeiten Sie die Datei rc.local erneut, um die gerade hinzugefügte Zeile zu entfernen.
2. Planen Sie mit Cron ein Programm
Cron ist ein Konfigurations- und Jobplanungsprogramm auf Unix-ähnlichen Systemen. Hier können Sie Programme planen, die Sie in festen Intervallen oder in regelmäßigen Abständen ausführen möchten.
Die Funktionalität von Cron basiert auf dem crond-Daemon, einem Hintergrunddienst, der in der crontab geplante Programme ausführt. Alle auf dem System geplanten Programme befinden sich in der Cron-Jobtabelle (oder Crontab).
Sie müssen diese Tabelle also ändern, um einen Zeitplan für das Programm hinzuzufügen, das Sie beim Start ausführen möchten. Hier ist wie:
- Öffnen Sie die CLI auf Ihrem Raspberry Pi und geben Sie crontab -e ein , um die Cron-Jobtabelle (crontab) zu bearbeiten. Wenn Sie crontab zum ersten Mal öffnen, müssen Sie einen Editor auswählen. Sie können Ihren bevorzugten Editor auswählen oder mit Nano fortfahren. Geben Sie in beiden Fällen den Namen des Editors ein und drücken Sie die Eingabetaste .
- Geben Sie den folgenden Befehl ein, um einen Eintrag in die Cron-Tabelle vorzunehmen : @reboot python3 /home/pi/PiCounter/display.py & . Stellen Sie in Ihrem Befehl sicher, dass Sie den Programmnamen und seinen Pfad ersetzen.
- Drücken Sie STRG + O , um die Zeile auf die Crontab zu schreiben.
- Geben Sie sudo reboot in das Terminal ein, um Ihren Pi neu zu starten.
Cron sollte Ihr Programm jetzt jedes Mal ausführen, wenn Ihr Pi hochfährt. Wenn Sie diesen Zeitplan beenden möchten, löschen Sie den Befehl in crontab.
3. Führen Sie GUI-Programme beim Start mit Autostart aus
Autostart ist der beste Weg, um GUI-basierte Raspberry Pi-Programme beim Start auszuführen. Dabei wird sichergestellt, dass sowohl das X Window-System als auch die LXDE-Desktopumgebung verfügbar sind, bevor das System eines der geplanten Programme ausführt.
Wenn Sie ein Skript haben, das im Fenstermodus ausgeführt wird, oder wenn Sie beim Start eines der GUI-basierten Programme / Anwendungen auf Ihrem Raspberry Pi ausführen möchten, sollten Sie festlegen, dass diese mithilfe des Autostarts ausgeführt werden. Hier sind die Schritte dazu.
- Öffnen Sie zunächst das Terminal und geben Sie den folgenden Befehl ein, um eine .desktop-Datei im Autostart-Verzeichnis zu erstellen: sudo nano /etc/xdg/autostart/display.desktop . Wir haben display.desktop als Dateinamen verwendet, aber Sie können Ihre Desktop-Datei beliebig benennen.
- Fügen Sie in der .desktop-Datei die folgenden Codezeilen hinzu:
[Desktop Entry]
Name=PiCounter
Exec=/usr/bin/python3 /home/pi/PiCounter/display.py - Ersetzen Sie in dieser Datei den Wert für das Feld Name durch Ihren Projekt- / Skriptnamen. Ebenso haben wir unser Programm display.py hinzugefügt, das jedes Mal ausgeführt wird, wenn der Raspberry Pi hochfährt.
- Sie können es jedoch durch jedes Programm ersetzen, das Sie ausführen möchten. Sie können sogar planen, ein Programm eines Drittanbieters wie den Chrome-Browser auszuführen. In diesem Fall sollte die .desktop-Datei den folgenden Code enthalten:
[Desktop Entry]
Name=Chrome
Exec=chromium-browser - Drücken Sie danach STRG + O , um die Datei zu speichern, und geben Sie dann sudo reboot ein , um den Pi neu zu starten.
Sobald Ihr Pi hochfährt, sollte auch Ihr GUI-Programm automatisch gestartet werden. Wenn Sie möchten, dass Ihr Programm beim Start nicht mehr ausgeführt wird, wechseln Sie einfach zum Autostart-Ordner und entfernen Sie die soeben erstellte .desktop-Datei.
Erfolgreiches Ausführen eines Programms beim Start auf Raspberry Pi
Obwohl es viele Möglichkeiten gibt, ein Programm beim Start auf Linux-basierten Systemen auszuführen, sollten die in diesem Handbuch erwähnten Methoden Ihnen beim Planen von Programmen auf dem Raspberry Pi helfen.
Unabhängig davon, welche Art von Programm Sie ausführen möchten – benutzerdefiniertes Skript oder eine Drittanbieteranwendung – sollten diese Methoden Sie abdecken. Außerdem sollten Sie in der Lage sein, den zusätzlichen Schritt zu reduzieren, der erforderlich ist, um das Programm jedes Mal auszuführen, wenn Sie es ausführen möchten.