Autostart eines Python-Scripts zum Abruf von Videos im Raspi Pi 5

  • Moin,

    für unser kleines Ortsmuseum habe ich auf einem neuen Pi 5 ein Python3-Script, das nach Tastendruck ein Video für die Besucher abspielt. Das funktioniert auch, nachdem ich gelernt habe, dass auf dem Pi 5 vieles anders ist (Abfrage der GPIO's z.B.)

    Ich öffne das LXTerminal und starte das Programm erfolgreich mit /home/admin/Videos/videobox.py. Demnach habe ich es ja auch erfolgreich "ausführbar" gemacht. Die Print-Anweisungen erscheinen dann im Terminalfenster (sowas wie "Bitte wählen Sie ein Video per Knopfdruck") und auf Knopfdruck startet dann der VLC-Player (--fullscreen).

    Nun soll das aber autostarten, es soll ja am Ende als Blackbox nur zu diesem Zweck laufen - einfach nach dem Einschalten.

    Ich habe mittlerweile 4 verschiedene Methoden ausprobiert - keine funktioniert. Mein Verdacht ist, dass sich alle Methoden, die ich in verschiedenen Beiträgen und Foren gefunden haben, auf die Versionen bis Pi 4 beziehen (so war das auch bei den GPIO's). Kann es sein, dass es im Pi 5 alles anders ist? Zumal ich auf einem Pi 4 für ein anderes Projekt auch schon ohne großen Stress ein Script im Autostart zum Laufen bekommen habe.

    Der Raspi ist neu, das aktuelle Bookworm OS ist frisch installiert.

    Das Python3-Script startet über eine Kommandozeile den VLC-Player, der die Filme vom USB-Stick abspielt.

    Ich habe autostart nach Anleitung aus verschiedenen Foren per crontab, per /rc/local, per .desktop probiert.

    Mit crontab oder .desktop passiert einfach gar nichts beim booten.

    Mit einem Eintrag in /rc/local scheint der Prozess zu starten, aber ich sehe nichts davon (weil nicht im Terminal?). Im Taskmanager steht das python-script als Prozess, und bei einem Versuch, es dann im LXTerminal "per Hand" zu starten, werden die GPIO's als belegt gemeldet, also läuft der Prozess wirklich schon irgendwo im Verborgenen. Aber im Taskmanager beenden ist nicht möglich, es gibt eine Fehlermeldung, dass die Operation unzulässig sei.

    Nach vielen Stunden des Suchens und Probierens und einem vor lauter Abkürzungen brummenden Schädel nun hier die Bitte an das Forum, dass mir jemand erklären kann, welche Schritte beim Raspi Pi5 mit Bookworm zum erfolgreichen Autostart eines Pythonscripts führen. Das muss doch irgendwie gehen!?!?

    Wenn's hilft, poste ich auch gerne das script oder weitere Details, aber erst mal hoffe ich, dass es doch sowas wie eine allgemeingültige Vorgehensweise gibt.

    Danke!

  • Autostart eines Python-Scripts zum Abruf von Videos im Raspi Pi 5? Schau mal ob du hier fündig wirst!

  • Für die Videoanzeige aus vlc brauchst Du einen, im Grafiksystem angemeldeten User.

    Deshalb kannnur aus dessen *.desktop Datei vlc erfolgreich gestartet werden.

    Zeige einmal Deine nicht funktionierende *.desktop und das py-Sript her und hib auch bekannt, in welchen Verzeichnissen Du was gespeichert hast.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke schon mal an RTFM und hyle für's Kümmern.

    Es geht zunächst ja nur um den (Auto-)Start des Python-Scripts, da wird der VLC-Player noch gar nicht angesprochen. Der VLC-Player soll erst starten, wenn man dann einen Knopf drückt. Und das klappt dann auch.

    Das Python-Script schreibt erst mal nur was in das Terminal-Fenster. Ich weiß aber auch nicht wirklich: Muss ich das im LXTerminal gestartet haben? Oder kann das auch "einfach so" funktionieren, wenn es denn erfolgreich per Autostart gestartet würde?

    Gut zu lesen, dass es mit videobox.desktop funktieren sollte, dann heißt es erst mal, damit weiter zu probieren.

    In der "videobox.desktop" habe ich auch schon viele Befehlszeilen ausprobiert, zuletzt:

    Code
    [Desktop Entry]
    Type=Application
    Name=Videobox
    Comment=Videobox starten
    NoDisplay=false
    Exec=lxterminal --command"/home/admin/Videos/videobox.py"

    Sie liegt auf /etc/xdg/autostart/videobox.desktop

    Vielleicht kann mir jemand ja ein Beispiel für eine auf dem PI5 funktionierende .desktop einstellen?

    Alleine scheine ich mit meinem Problem ja nicht zu sein...: https://forums.raspberrypi.com/viewtopic.php?t=364762

  • Von den drei, in < man xterminal > ersichtlichen möglichen Programmstart Optionen hast Du die vierte, nicht funktionierende erwischt. Es ist nur ein Leerzeichen, oder ein Gleichheitszeichen, das den Untrschied macht.


    Servus !


    Aha, zu spät. Aber warum gehören bei Dir nicht alle Verzeichnisse und Dateien im Ordner /home/admin dem User admin ?

    RTFM = Read The Factory Manual, oder so

    Edited once, last by RTFM (September 18, 2024 at 6:22 PM).

  • Hallo RTFM, verrätst Du mir auch, um welches falsche oder fehlende Leer- oder Gleichheitszeichen es sich handelt? In "man xterminal" ist leider gar nichts ersichtlich:

    Code
    admin@videoserver1:~ $ man xterminal
    Kein Handbucheintrag für xterminal vorhanden

    Danke!

  • man lxterminal (sorry, "l"ight vergessen)

    ...

    -e STRING --command=STRING --command STRING
    ...

    Servus !


    Code
    Exec=lxterminal --command"/home/admin/Videos/videobox.py" mindestens auf
    Exec=lxterminal --command "/home/admin/Videos/videobox.py" ändern.

    RTFM = Read The Factory Manual, oder so

    Edited once, last by RTFM (September 18, 2024 at 7:19 PM).

  • Zu 1): -rw-r--r-- 1 root root 146 18. Sep 17:01 /home/admin/.config/autostart/videobox.desktop

    Das wird es sein!

    Mach mal folgendes im Terminal auf dem Desktop:

    Code
    sudo chown -c $USER:$USER /home/admin/.config/autostart/videobox.desktop

    und dann mal einen Doppelklick auf die *.desktop-Datei

  • @ Simonz: Oups, danke!

    Laut "man lxterminal" müsste aber dann meine letzte Version richtig sein:

    Code
    [Desktop Entry]
    Type=Application
    Name=Videobox
    Comment=Videobox starten
    NoDisplay=false
    Exec=lxterminal --command "/home/admin/Videos/videobox.py"

    geht aber auch weiterhin nicht.

    RTFM:
    Die Frage "Aber warum gehören bei Dir nicht alle Verzeichnisse und Dateien im Ordner /home/admin dem User admin ?" kann ich gar nicht beantworten. Ich habe ja nur das Bookworm-OS per Speicherkarte installiert und mich dann mit dem Python-Programm beschäftigt.

    Wenn da der Fehler liegt - was müsste ich tun?

    Oh mann, ich will doch nur... sagen wir: mein lecker gekochtes Menu auf den Teller legen. Muss ich dafür wirklich erst lernen, Ton abzubauen, Teller zu töpfern, zu brennen und zu glasieren? Pardon...

  • Die Frage "Aber warum gehören bei Dir nicht alle Verzeichnisse und Dateien im Ordner /home/admin dem User admin ?" kann ich gar nicht beantworten.

    Wieder ein "sudo" Opfer

  • Vermutlich eher ein Opfer des Kopierens der *.desktop-Datei.

    möglich

    habe das Verzeichnis "autostart" erstellt und die .desktop-Datei da reingeschoben.

    Dann sollte aber noch geprüft werden, wem das Verzeichnis "autostart" gehört.

  • Oh mann, ich will doch nur... sagen wir: mein lecker gekochtes Menu auf den Teller legen. Muss ich dafür wirklich erst lernen, Ton abzubauen, Teller zu töpfern, zu brennen und zu glasieren? Pardon...

    Nö, ich hätte da einen Zweizeiler als einfache Lösung parat, aber da Du eine desktop-Datei nanntest, müsste diese trotzdem funktionieren.

    //Edit

    BTW: Die einfache Lösung wäre in der ~/.config/wayfire.ini die Zeilen

    Code
    [autostart]
    videobox=lxterminal -e /home/admin/Videos/videobox.py

    ganz unten in der Datei einzufügen.

  • hyle: Danke auch für
    "sudo chown -c $USER:$USER /home/admin/.config/autostart/videobox.desktop", habe ich durchgeführt und bekam auch eine Erfolgsmeldung.

    Autostart geht weiterhin nicht. Doppelklick auf die .desktop öffnet das Fenster "Die Textdatei Videobox scheint ausführbar zu sein" - bei Klick auf "Ausführen" und "im Terminal ausführen" passiert nichts, bei "öffnen" öffnet sich Geany mit dem Dateitext.

    In den Eigenschaften in den Berechtigungen steht als Besitzer und Gruppe "admin". Unter "Wer darf sie ausführen" stand "niemand", geändert auf "jeder".

    Das Verhalten ist unverändert.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!