Newbie // Raspberry PI 4b // Script und cec-client beim starten des Pi´s automatisch ausführen und in der Konsole offen lassen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Wundeschönen guten Tag,

    ich bin leider ein kompletter Noob im Bereich Raspberry, Linux, etc.

    Allerdings habe ich ein Projekt vor mir, indem ich Raspberry Pi 4b´s so einrichte, dass sie an mehrer TV´s angeschlossen werden und auf 3 verschiedene Websites zugreifen und diese im Minutentakt wechseln und abbilden. Dies ganze im Kisokmodus und möglichst wartrungsfrei. Ein weiterer Punkt ist, dass man mithilfe der zugehörigen TV-Fernbedienung den PI stuern kann.

    Gute Nachricht, den Kioskmodus sowie die Websiterotation habe ich bereits umgesetzt und einen cec-client der die TV-Fernbedienung über die HDMI-Schnittstelle ausliest ist auch bereits installiert.
    Auch das für die Fernbedienung benötigte Script ist bereits geschrieben und auf dem pi.

    NUN MEIN PROBLEM: Wie sorge ich dafür, dass der PI beim starten den cec-client ausführt und anschließend das cec-remotescript.sh und dieses offen lässt, sodass man den PI mit der TV-Fernbedienung stuern kann.

    Falls jemand eine Lösung weiß, bitte möglichst kleinschrittig, da ich natürlich selber gegoogelt habe und es mit rc.local, etc. probiert habe.


    Details:
    cec-client = Dateityp: Programm ; Pfad: /bin
    cecRemoteScript.sh = Dateityp: Shell-Script; Pfad: /home/admin

    Falls ihr grundsätzlich bessere Ansätze habt das Monitoring von 2-3 Websites über einen PI (oder auch nicht über einen PI) möglichst pflegeleicht und professionell umzusetzen, helft mir gerne auf die Sprünge :)

    Bei Fragen gerne melden :)

  • Newbie // Raspberry PI 4b // Script und cec-client beim starten des Pi´s automatisch ausführen und in der Konsole offen lassen? Schau mal ob du hier fündig wirst!

  • Hallo Cere,

    willkommen im Forum! :)

    Ich zitiere mal den Titel:

    Zitat

    Script und cec-client beim starten des Pi´s automatisch ausführen und in der Konsole offen lassen

    ... verstehe ich nicht! Du meinst im Hintergrund oder meinst Du in einem Terminalfenster? Letzteres mach zwar keinen Sinn, weil Du ja den Browser anzeigen lassen möchtest, aber fragen wollte ich trotzdem mal. ^^

    Testen kannst Du das ganze vorher per SSH mit

    Code
    DISPLAY=:0 /home/admin/cecRemoteScript.sh

    falls das Skript einen passenden Shebang hat und ausführbar ist.

    Wenn dieser Test funktioniert, dann wäre das

    und es mit rc.local, etc. probiert habe.

    der nächste Schritt. Hierzu entweder einen Cronjob, in etwa so:

    Code
    @reboot DISPLAY=:0 /home/admin/cecRemoteScript.sh

    erstellen oder eine Systemd Service Unit.

    ODER

    Du erstellst gleich eine entsprechende *.desktop-Datei in das Verzeichnis /home/admin/.config/autostart/.

  • Moin,

    Erstmal vielen Dank für die schnelle Antwort :) !
    Ich habe versucht deine Lösungen zu tryn, aber dabei ist mir aufgefallen, dass selbst der cec-client noch reltativ buggy ist. Manchmal kann man ihn mit dem einfachen befehl: cec-client : aufrufen und er liest die eingabe der Fernbedienung aus und manchmal nicht..... muss mich damit nochmal genauer beschäftigen.

    das ganze über den autostart laufen zu lassen funktioniert allerdings noch nicht :/

    ob mit rc.local und über cron, beides irgednwie nicht wirksam.

    Es funktioniert bisher so, wenn der pi gestartet ist und ich in die Konsole

    cec-client | /home/admin/cecRemoteSkript.sh

    eingebe, dann liest der PI die Remote aus und ich kann mit hilfe des Skriptes die Maus steuern, das ganze müsste nun nurnoch bei jedem Start automatisch ausgeführt werden.

    Sowohl das Programm des cec-clients sowie auch das RemoteSkript müssen in der Konsole sozusagen Aktiv?! bleiben, damit zu jeder zeit jede eingabe der Remote ausgelesen und verwendet werden kann.

    Sprich, ich gebe den cec-client | RemoteSkript.sh Befehl ein und muss die Konsole offen lassen, da diese auf eine Eingabe Wartet. Wenn ich nun die Remote bediene, kann ich den Cursor bewegen. Wenn ich die Konsole schließe, funktioniert dies nichtmehr.

    (Konsole bleibt Aktiv, damit meine ich = ich führe den Befehl aus un der Strich spring eine Zeile runter und blinkt weiß..... :D wenn ich dann etwas eintippe, wird in der Konsole direkt abgebilded welchen Knopf ich drücke etc.)

    Einmal editiert, zuletzt von Cere (2. Februar 2023 um 10:36)

  • Alsoooo,

    wenn ich

    Code
    DISPLAY=:0 cec-client | /home/admin/cecRemoteSkript.sh

    per SSH ausführe, dann wird zwar erfolgreich ausgeführt und eine Abfrage aktiviert, aaaber es funktioniert nicht am pi, da die daten der TV-Remote nur an die Putty/Konsole/SSH weitergegeben und irgednwie nicht an den TV/PI/Konsole :D also kurz = es geht per shh nicht.

    Das funktioniert NUR wenn ich: cec-client | /home/admin/cecRemoteSkript.sh HÄNDISCH am Pi in die Konsole knalle....

    Habe es mal so in den Cronjob gehauen und auch das funktioniert nicht :| Es öffnet sich bei Start keine Konsole und auch die TV-Remote funktioniert nicht.

  • Also die ausgabe vom echo $DISPLAY = :0

    Über die LXDe Autostart, funktioniert es auch nicht.
    Ich Denke es müsste: Nach dem Start automatisch ein Terminal im Backhground geöffnet werden und inherlb dieses Terminals der Aufruf von
    cec-client | /...cecremote.sh aufgerufen werden.

    Denn egla wo ich diese Befehle in den Autostart einbinde, öffnet sich nie eine Konsole die die TV-Remote Abfrage weiterverarbeiten bzw. zuordnen kann.
    Am Pi funktioniets, wie gesagt auch nur wenn die Konsole im Hintergrund offen ist und der Befehl
    cec-client | /..cecRemoteSkript.sh aufgerufen wird.

  • Moin.

    Ich habe das grade mal ausprobiert.

    in die .bashrc, ganz unten eingetragen :
    cec-client | /home/admin/cecRemoteSkript.sh &
    sollte zum gewünschten Ergebnis führen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Moin imperator,

    ich habe deine Lösungsvariante einmal ausprobiert und tatsächlich sehe ich, wenn ich strg. alt. t drücke, wie die Konsole Arbeitet.
    Nun habe ich leider immernoch mit dem verbuggten cec-client zu kämpfen, da der umständlich scheint.

    Ich bedanke mich schonmal vielmals bei euch beiden (Hyle und Imperator) !

    Habt ihr spontan eine Idee wie man das ganze noch anderweitig umsätzen könnte.

    10 TVS mit 10 RaspberryPis auf welchen 3 verschiedene WebMonitore angezeigt werden.
    Ich habe einfach per LXDE 3 Websites im KioskChromium aufgerufen und ein TabRotationsBrowserPlugin installiert.
    Dieses wechselt alle 3min das Tab, nun wäre es nur schön, wenn man selber mal schnell das Tab wechseln könne oder ähnliches.

    Habt ihr eine Alternative zur TV-Remote ?

    Einmal editiert, zuletzt von Cere (3. Februar 2023 um 11:04)

  • DistroEx Das wäre eine Möglichkeit, ABER da sollen ja auch Websites im Kioskmodus angezeigt werden. Da würde ein Terminalfenster stören. ;)

    Ich hatte ja mehrfach eine *.desktop-Datei vorgeschlagen, denn damit könnte man ein "virtuelles" Terminal mit dem Eintrag arbeiten lassen. Zumindest war das mein Hintergedanke.

  • Wie kann ich automatisch beim starten des Rasppi den Webbrowser (Chrome oder Firefox, ist mir egal) sich öffnen lassen?

    Ziel der im Browser eingegebenen Startseite ist eine Node-RED-Applikation im Kiosk-Modus.

    Antwort gern zur Eingabe im Terminal per Copy-Paste.

    Danke im Voraus :helpnew:

Jetzt mitmachen!

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