Welcome, Guest
Username: Password: Remember me
Software
  • Page:
  • 1
  • 2

TOPIC: Python App Autostart mit Raspbian und Pixel

Python App Autostart mit Raspbian und Pixel 1 year 5 months ago #7

  • PiLo-Heinz
  • PiLo-Heinz's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 9
  • Thank you received: 6
Für den Autostart von Programmen und Scripts gibt es unter Linux diverse Methoden für die es viele Anleitungen im Netz gibt.
Seit Einführung des Pixel Desktops unter Raspbian ist es dort aber ein klein wenig anders - aber trotzdem recht einfach.
Wenn die PiLogger Basis-Software zum permanenten Loggen benutzt wird, wäre ein Stromausfall oder ein, wie auch immer verursachter Reset fatal, wenn niemand da ist um das Programm wieder zu starten.
Deshalb will ich hier an diesem Beispiel beschreiben wie man das macht - für den Fall, dass Raspbian ganz normal in die grafische Oberfläche (GUI) gestartet wird:

1. Versteckte Dateien sichtbar machen
Wir öffnen den Dateimanager und gehen dort in das Menu 'Ansicht'. Dort klicken wir auf die Option 'Versteckte anzeigen' (falls noch kein Haken davor zu sehen ist).
Damit werden jetzt auch versteckte Dateien und Ordner angezeigt. Im Dateifenster sollten jetzt ein paar mehr Dateien aufgetaucht sein.

2. Zum Zielordner navigieren
Im Startverzeichnis /home/pi des Dateimanagers ist nun auch der Ordner .config zu sehen.
Wir navigieren nun zum Zielverzeichnis /home/pi/.config/lxsession/LXDE-pi indem wir nacheinander diese Ordner doppelklicken:
.config -> lxsession -> LXDE-pi
Hier finden wir die Datei 'autostart', die beim Systemstart als Letztes auszuführende Aktionen enthält.

3. Sicherheitskopie anlegen
Da wir nun diese Datei verändern wollen, ist es eine gute Idee eine Sicherheitskopie zu erzeugen.
Beim Kopieren und Einfügen in den selben Ordner werden wir gefragt, ob wir die Kopie umbenennen wollen.
Einfach ein .org hinten dran hängen und wir haben eine Sicherheitskopie für den Fall der Fälle.

4. Datei 'autostart' editieren
Nun Rechtsklicken wir auf die Datei 'autostart' ohne Endung und wählen im Kontextmenu die Option 'Text Editor'.
Damit wird die Datei direkt im Editor geöffnet.
Die letzte Zeile enhält @point-rpi , und wird nicht mehr benötigt. Sie sorgt lediglich dafür, dass nach dem Start als Letztes der Mauszeiger auf das Raspberry-Menu zeigt.
Diese Zeile ändern wir auf :
@python3 /home/pi/PiLogger/PiLogger.py

Nun noch die Datei speichern und schliessen.



Im Bild sieht man das verkleinerte Fenster des Editors mit der geöffneten und bereits geänderten Datei.

Diese Zeile startet den Python-Interpreter mit dem Programm der Basis-Software.
Wichtig: Das System befindet sich zum Zeitpunkt der Ausführung nicht im richtigen Verzeichnis, deshalb muss der vollständige Pfad angegeben werden.

In der Datei 'autostart' werden üblicherweise gerne Shell Scripts gestartet, weil diese eine ganze Reihe von Aktionen durchführen können, unter Anderem auch das Wechseln des aktuellen Verzeichnisses (Pfad).
Oft greifen Programme auf weitere Dateien zu - auch in unserem Fall die PiLogger-Software - wenn diese nicht vom aktuellen Pfad aus zu erreichen sind, kommt es zu einem 'not found'-Fehler und die Ausführung bricht ab - meist ohne jede Meldung.
Das sieht dann so aus als habe der Autostart nicht geklappt - was ja auch so ist, nur dass man nicht weiß warum.
Damit die PiLogger-Software nicht auf dieses Problem stößt, haben wir sie so angepasst, dass sie zuerst das Verzeichnis bestimmt, in dem sich ihre eigene Datei befindet, um dies als Pfad zu den weiteren Dateien zu verwenden.
Es muss also mindestens Version 1.2 verwendet werden (Download-Bereich).

Jetzt nur noch den Raspberry neu starten und ... !

Viel Spass und Erfolg !
Attachments:
The following user(s) said Thank You: deMicha

Please Log in or Create an account to join the conversation.

Nichts ist unmöglich :-)
Last Edit: by PiLo-Heinz.
  • Page:
  • 1
  • 2
Time to create page: 0.127 seconds