SH-Script Tastendruck keine Eingabe möglich

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    habe folgendes Problem bei starten eines sh-scripts, welches intern ein python script (subprocess omxplayer) abruft. Ich möchte durch Tastendruck (Bsp. F4) das script starten. Bisher schaffe ich es soweit, dass das script startet und das Video läuft, wenn ich F4 drücke (Nutze sudo nano ~/.config/openbox/lxde-rc.xml). Aber leider reagiert der omxplayer dann nicht mehr auf Eingaben.
    Wenn ich das Skript über die Konsole ausführe (lxterminal sh ...), dann funktioniert alles tadellos.

    Über eine Hilfe bezüglich meines Problems würde ich mich sehr freuen!


  • ... wenn ich F4 drücke (Nutze sudo nano ~/.config/openbox/lxde-rc.xml). Aber leider reagiert der omxplayer dann nicht mehr auf Eingaben.

    Was soll nano bewirken?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    • Offizieller Beitrag

    Um warum startet ein shell script ein python script? Warum nicht gleich python? Und überhaupt versteh ich das Problem noch nicht so wirklich :denker: + das was rpi444 sagt ;)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hallo!

    Vielen Dank für die Antworten! Natürlich könnte man auch das .py file direkt ausführen, aber das habe ich auch schon getestet und prinzipiell ist das auch nicht Kern meines Problems.
    Mein Problem besteht darin, dass der OMXplayer keine Eingaben (pause, etc.) versteht, nachdem ich die F4 Taste drücke aber wenn ich das .py oder .sh script direkt aus der Konsole starte dann funktionieren die Eingaben.
    Hoffe dass das Problem jetzt klarer dargestellt ist :)

    Vielen Dank im Voraus!

  • Hallo!

    Innerhalb von sudo nano ~/.config/openbox/lxde-rc.xml schreibe ich:
    <keybind key=”F4″>
    <action name=”Execute>
    <command>sudo python omxloop.py</command>
    </action>
    </keybind>

    und innerhalb von omxloop.py steht folgende Schleife:

    #!/usr/bin/python
    import sys
    import subprocess
    import os
    import glob
    path ='/media/usb/'
    ...
    while(1):
    for infile in glob.glob(os.path.join(path, '*.mp4')):
    a = subprocess.call( [ "omxplayer", "-o", "hdmi", infile])

    Über eine Rückmeldung würde ich mich sehr freuen!

  • Hi,

    -----------------------

    Konfigurationsdateien und Code der im Forum gepostet wird immer in code Tags setzen!
    Dazu einfach den entsprechenden Text markieren und auf das Raute Zeichen (#) im Editor drücken

    -----------------------

    Das Problem kannst du lösen indem du den Befehl zum starten vom omxplayer z.b. über das lxterminal ausführen lässt.
    Somit wird auch bei jedem Aufruf ein Terminal gestartet über dass der omxplayer mit der Tastatur gesteuert werden kann.

    Also entweder:
    Den command in der lxde-rc.xml erweitern

    Code
    <command>sudo lxterminal -e "python omxloop.py"</command>


    ODER
    Den subprocess.call anpassen

    Code
    a = subprocess.call( [ "lxterminal", "-e", "omxplayer", "-o", "hdmi", infile])

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (2. Dezember 2014 um 16:56)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!