Yavdr 07 Wechsel zwischen VDR und KODI

  • Ich benutze sowohl das Boblight Plugin im VDR, als auch das Boblight Addon in Kodi.

    Beides geht nicht gleichzeitig und deshalb muss ich vor dem Start von Kodi das Plugin detachen.


    Wo baue ich am besten einen Befehl zum aus bzw einschalten des Boblight Plugins ein ?


    Beim Kodi start

    svdrpsend plug vdrboblight mode detach


    Beim Kodi beenden

    svdrpsend plug vdrboblight mode atmo


    Ist der kodi.service der richtige Ort? und wenn ja, wie wäre die Umsetzung?


    Thank's

  • Ist der kodi.service der richtige Ort? und wenn ja, wie wäre die Umsetzung?

    Ich würde es mal mit so einem Drop-in versuchen:

    Code: /var/lib/vdr/.config/systemd/user/kodi.service.d/boblight.conf
    [Service]
    ExecStartPre=-/usr/bin/svdrpsend plug vdrboblight mode detach
    ExecStopPost=-/usr/bin/svdrpsend plug mode atmo

    Und dann noch innerhalb der Systemd-User-Session ein systemctl --user daemon-reload absetzen, von außen geht das so:

    sudo -u vdr DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/666/bus systemctl --user daemon-reload

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Auch von mir ein Dankeschön. Werde das mit meinem iMon-LCD genau so machen...

  • Leider klappt das starten von LCDd nicht

    Das LCD geht aus, aber LCDd wird nicht gestartet.

    Code
    root@vdr01:/var/lib/vdr/.config/systemd/user/kodi.service.d# cat imon.conf
    [Service]
    ExecStartPre=-/usr/bin/svdrpsend plug imonlcd off
    ExecStartPre=-/usr/bin/systemctl start LCDd
    
    ExecStopPost=-/usr/bin/systemctl stop LCDd
    ExecStopPost=-/usr/bin/svdrpsend plug imonlcd on

    Das mit dem LCd muss wohl anders gelöst werden?

  • Das dürfte an den Berechtigungen scheitern - die kodi.service wird im Kontext der Systemd-User Session ausgeführt und der Nutzer VDR darf keine System-Dienste starten bzw. stoppen. Braucht lcdproc root-Rechte oder könnte man das mit in die Session packen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Startet leider nur mit sudo

    Code
    darkwing@vdr01:/usr/lib/apt$ sudo /usr/sbin/LCDd -s 1 -f -c /etc/LCDd.conf

    Ohne sudo kommt nur ein Text:

  • Könnte das helfen? Den Service mit starten und stoppen wenn kodi beendet wird?

    https://serverfault.com/questi…systemd-unit-with-another

  • Systemd-Units für das System können leider nicht auf Systemd-Units der User-Session reagieren.


    Du kannst dem User vdr die Rechte geben sudo systemctl start LCDd.service und sudo systemctl stop LCDd.service ohne Passworteingabe auszuführen - dafür die /etc/sudores mit visudo bearbeiten (vgl. https://wiki.ubuntuusers.de/sudo/Konfiguration/) und so eine Regel hinzufügen:

    Code
    vdr ALL = NOPASSWD:/bin/systemctl start LCDd.service
    vdr ALL = NOPASSWD:/bin/systemctl stop LCDd.service

    Schöner wäre der Weg über polkit ( https://freethoughts.de/polkit-und-systemd-system-units.html, aber leider ist die polkit-Version unter Ubuntu dafür zu alt und der Wechsel ist auf Seite von Debian AFAIK noch nicht komplett vollzogen: https://bugs.launchpad.net/ubu…/policykit-1/+bug/1086783).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Habs eingebaut. Das funktioniert! Vielen Dank!

Jetzt mitmachen!

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