rpi-edid-lock.sh unter libreelec ausführen?

  • Moin, habe schon hier im Forum und im Netz gesucht, aber komme leider nicht weiter. Vielleicht kann mir hier jemand helfen

    Wie scheinbar viele andere habe ich das Problem, dass der HDMI-CEC-Handshake beim Einschalten meines Raspberry Pi 4 mit libreelec+Kodi oft nicht funktioniert. Jenachdem ob TV (Toshiba) und Soundbar (Samsung) zuerst angeschaltet wurden oder nicht, habe ich zuerst meist weder Bild noch Ton, dann manchmal auch nur Bild und keinen Sound. In der Regel funktioniert es erst nach mehreren nervigen Kalt- bzw. Neustarts der drei Geräte wie gewollt (also mit Bild und Sound...).

    Jetzt bin ich hier https://kodi.wiki/view/Raspberry…owered_on_first auf das Script https://github.com/neatsoft/rpi-edid-lock gestoßen und wollt es mal ausführen. Dazu habe ich das Script in das "root-Home" (/storage) kopiert und es mit chmod +x ausführbar gemacht. Doch obwohl ich per SSH als root auf dem System eingeloggt bin, kann ich das Script nicht ausführen (siehe Screenshot).

    Kann ich das Script bei libreelec im gebooteten Zustand (nicht beim Booten bzw. im Autostart, denn das Script soll ausgeführt werden: "after booting with TV/receiver powered on first") vielleicht irgendwo anders ausführen?
    Was mache ich ggf. falsch - oder geht es einfach generell nicht, bei libreelec Scripts abseits des Autostart auszuführen?

    Danke für eure Hilfe im Voraus und bleibt gesund zuhause :thumbup:

  • 1. Bitte nicht einfach ein Script runter laden und ausführen, wo du nicht weißt, was es tut. Das Script ist nicht für LibreELEC geschrieben, da dort Befehle mit "sudo" ausgeführt werden, was es unter LibreELEC einfach nicht gibt.

    Der Fehler kommt von dem Bereich:

    run "sudo -n uptime" "You need to be root to perform this command!"

    Da wird folgende Funktion aufgerufen:

    Code
    run() {
        if ! $1 >/dev/null 2>&1; then
            echo $2
            exit 1
        fi
    }

    Die Funktion checkt also, ob "sudo -n uptime" ausgeführt werden kann und wenn nicht, dann kommt die Fehlermeldung. Ein, wie ich finde, ziemlich schlechter check um nach root zu prüfen

    if [ $(id -u) -ne 0 ]; then echo "not root"; else echo "root"; fi ist da vielleicht besser geeignet, da root immer die ID 0 hat.

    Code
    [root@fedora-lap ~]# if [ $(id -u) -ne 0 ]; then echo "not root"; else echo "root"; fi
    root
    [root@fedora-lap ~]# Abgemeldet
    [davu@fedora-lap ~]$ if [ $(id -u) -ne 0 ]; then echo "not root"; else echo "root"; fi
    not root
    [davu@fedora-lap ~]$

    2. Das Script wurde vor 4 Jahren geschrieben. Da gab es den RPi 4 noch gar nicht.

    Wir hatten das Thema letztens im LE Team. Ich schaue da nochmal nach und werde dann hier wieder was schreiben. In der Zeit tu dir bitte selbst einen Gefallen und lösche das Script. Es wird nicht funktionieren, da es nicht für das Betriebssystem geschrieben wurde.

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

    Einmal editiert, zuletzt von DaVu (9. April 2020 um 23:23)

  • Alles klar, danke für die ausführliche Antwort. Ich hatte mir den Code auch kurz angesehen aber die Sache mit dem nicht vorhandenen sudo bei libreelec nicht bedacht.

    Danke erstmal und bin gespannt auf weitere News zu dem Thema!

    Edit: Für eine libreelec-Version des Scripts könnte man sich das ganze root-Geprüfe doch ohnehin sparen, weil es ja zumindest erstmal sowieso nur den root gibt. Liege ich da richtig?
    Edit 2: vorerst gelöst ohne Script, siehe Pi mit Kodi, kein Bild nach dem booten

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!