IREXEC startet Kodi mehrfach

  • Nabend,


    ich habe unter Stretch Kodi und Lirc installiert, Kodi steuern funktioniert soweit prima. Nun möchte ich Kodi mit der Fernbedienung vom Desktop starten, dazu nutze ich irexec. Funktioniert prinzipiell auch, aber Kodi wird bei Tastendruck zwei- oder gar mehrfach gestartet und dann läuft natürlich nichts mehr ...


    Hier meine lircrc:

    Code
    1. begin
    2. button = open-close
    3. prog = irexec
    4. config = pgrep kodi || kodi &
    5. # config = /home/pi/kodistart.sh
    6. repeat = 0
    7. end

    Wie man sieht, habe ich schon verschiedene Varianten getestet.


    Wenn ich die Variante mit dem Startskript nehme:

    Shell-Script
    1. #!/bin/sh
    2. if pgrep -x "kodi" > /dev/null
    3. then
    4. echo "Kodi is running"
    5. exit
    6. else
    7. kodi
    8. fi

    Dann ploppt ein Fenster auf und verlangt eine Authentifizierung um Kodi zu beenden (obwohl es noch gar nicht läuft). Gebe ich dort mein Passwort an, so stimmt das angeblich nicht. Außerdem bringt es mich ja auch nicht weiter, wenn ich dann doch eine Tastatur brauche, um Kodi zu starten :D


    Identisches Verhalten bei dieser Variante:

    Shell-Script
    1. #!/bin/sh
    2. enabled=$(ps -ef | grep -v grep | grep kodi.bin | wc -l)
    3. if [[ $enabled == "0" ]]; then
    4. systemctl start kodi
    5. else
    6. systemctl stop kodi
    7. fi

    In der Konsole sieht das dann so aus:

    Hab mir das natürlich alles irgendwo zusammen geklaut und verstehe die Skripte daher nicht vollständig 8)


    Wie kann ich sicherstellen, dass Kodi nur einmal gestartet wird?


    Danke euch!

  • Welchem Benutzer gehören die Kodidateien? Der User pi ist nicht berechtigt Kodi zu starten.

    Entweder das sh Skript wird aus passenden Benutzer gestartet (passend ist derjenige der berechtigt ist Kodi zu starten) oder als root.


    Ansonsten noch, hat der Pi auch noch andere Arbeiten zu erledigen außer Kodi? Sonst wäre OSMC die bessere Wahl

  • Moin,


    der Pi soll als "Desktop-Ersatz" in meinen Wohnwagen, hat daher viele Aufgaben und benötigt ein grafisches Betriebssystem.


    Welchem Benutzer gehören die Kodidateien? Der User pi ist nicht berechtigt Kodi zu starten.

    Also die Datei /usr/bin/kodi gehört root und hat die Rechte 755, falls Du das meinst. Ich kann auch als User pi einfach per "kodi" in der Konsole Kodi starten.

    Entweder das sh Skript wird aus passenden Benutzer gestartet (passend ist derjenige der berechtigt ist Kodi zu starten) oder als root.

    Wie macht man das?


    Ich glaube, dass der User pi es schon starten darf, fragt sich nur, als welcher User irexec es zu starten versucht ... Irgendwo hatte ich gelesen, dass man irexec über /home/pi/profiles automatisch starten soll. Da liegt vermutlich schon das Problem ...


    Wenn ich irexec stattdessen manuell starte mit

    sudo /usr/bin/irexec -d

    dann funktioniert zwar das Startskript, allerdings startet Kodi mit anderen Einstellungen (vermutlich weil ich es sonst als pi starte, nun aber als root).


    Also die Frage scheint zu sein: Wie realisiere ich den Autostart von irexec an der richtigen Stelle?


    Nachtrag:

    Mit

    pi@raspberrypi:~ $ /usr/bin/irexec -d

    funktioniert es auch (also ohne sudo) und dann startet Kodi auch mit den richtigen Einstellungen. Bleibt also die Frage, an welcher Stelle irexec beim Systemstart aufgerufen werden muss.

    Edited once, last by efyzz ().

  • Ich würds über nen Eintrag in die crontab per @reboot machen (nutze aber kein raspbian). Unter raspbian sollte man es aber über eine systemd unit machen. (der Crontab Eintrag funktioniert auch unter raspbian, gilt aber nicht mehr als "en vogue")

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Gelöst!


    In /home/pi/.config/lxsession/LXDE-pi/autostart eingetragen und nun funktioniert alles wie gewünscht.


    Danke nochmal für den Denkanstoß!