[resolved] ansible - yaVDRFrontend

  • Beim Upgrade von xenial zu bionic und anschließenden Upgrade mittels ansible, funktioniert kein Start von Programmen mehr wie zB kodi, firefox ...

    VDR Python und Dbus Pake sind da.


    ii python-hdftool 0.0.2-0yavdr1 all python dbus bindigs for vdr-plugin-clearsilver
    ii python-uinput 0.11.2-0yavdr2~bionic amd64 Python uinput module - module encapsulating access to the uinput subsystem
    ii python3-avahi 0.0.1-1yavdr1~bionic all python3 bindings for avahi
    ii python3-dbus2vdr 0.0.4-2yavdr2~bionic all python3 dbus bindigs for vdr-plugin-dbus2vdr
    ii python3-pydbus 0.6.0-2yavdr1~bionic all Pythonic DBus library for python3
    ii python3-pydbus2vdr 0.0.10-0yavdr0~bionic all python3 pydbus bindigs for vdr-plugin-dbus2vdr
    ii python3-uinput 0.11.2-0yavdr2~bionic amd64 Python3 uinput module - module encapsulating access to the uinput subsystem
    ii python3-yavdrfrontend 0.0.58-0yavdr0~bionic all yaVDR-Frontend implemented in python3
    ii vdr-plugin-dbus2vdr 20181026140000experimental-0yavdr3~bionic amd64 A VDR plugin, control VDR via DBus
    ii yavdr-frontend-tools 0.0.58-0yavdr0~bionic amd64 Collection of tools used by python3-yavdrfrontend


    Das steht im Log beim Versuch kodi zu starten.


    Nov 3 17:29:55 vdr vdr: message repeated 56 times: [ audio/alsa: broken driver 0 state 'RUNNING']
    Nov 3 17:29:55 vdr vdr: [2395] executing command 'frontend-dbus-send switchto kodi'
    Nov 3 17:29:55 vdr vdr: audio/alsa: broken driver 0 state 'RUNNING'
    Nov 3 17:29:55 vdr vdr: message repeated 7 times: [ audio/alsa: broken driver 0 state 'RUNNING']
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:SystemdUnitFrontend:init SystemdUnit with name: kodi and fe_type: unit
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:SystemdUnitFrontend:set_unit_name: kodi.service
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:called set_next_fe with fe_type=kodi, fe_name=
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:called switch()
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:called stop(extern=False)
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:stop: current frontend is VDR-Frontend
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:self.frontends[0].is_running: None
    Nov 3 17:29:55 vdr yavdr-frontend[2542]: DEBUG:yaVDRFrontend:switch(): got result (True, 'OK')


    Kann mir wer Tipps geben, wo ich noch suchen kann?

  • yaVDR hat noch nie ein Release-Upgrade unterstützt. Ich denke mal, es wird einfacher, eine Neuinstallation durchzuführen.

  • Was steht denn in den Logdateien von KODI (/var/lib/vdr/.kodi/temp/kodi.log)?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zum eigentlichen Start von kodi kommt es gar nicht.

    Was steht denn in den Logdateien von KODI (/var/lib/vdr/.kodi/temp/kodi.log)?


    Es ist auch egal ob kodi oder andere Anwendungen gestartet werden.


    Wie startet frontend-dbus-send eigentlich die Apps aus den VDR Anwendungsmenü?


  • Wie startet frontend-dbus-send eigentlich die Apps aus den VDR Anwendungsmenü?

    Das hatte ich hier schon mal erklärt: Ansible - OSD-Menüstruktur beeinflussen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das ist doch ein guter Tipp, der mit in eine zukünftigen ansible Dokumentation mit einfließen sollte.


    Da steht:

    Das yavdr-frontend nutzt dann eine Instanz der Unit /usr/lib/systemd/user/app@.service, um das Programm zu starten (entweder über die .desktop-Datei oder eine gleichnamige Systemd-Unit in der User-Session).


    Dazu die Frage:

    Wann und in welcher Reihenfolge? Erst das .desktop file und dann systemd-unit aus der user session?


    Ein manueller Aufruf (aus app@.service) startet bei mir das gewählte Programm erfolgreich.

    /usr/bin/run-desktop-file firefox

    oder

    /usr/bin/run-desktop-file /usr/share/applications/firefox.desktop


    Ein manueller Aufruf von "starter" oder "start-desktop" jedoch nicht!

    /var/lib/vdr/plugins/desktop/starter /usr/share/applications/firefox.desktop

    Rückgabe ist: use_systembus


    Ebenso nicht ein manueller Aufruf wie bereits oben beschrieben.

    frontend-dbus-send switchto firefox


    Offensichtlich nutzt in meinem Fall das yavdr-frontend keine Instanz der unit app@.service.

    Wo könnte ich nun weiter suchen?

  • Jetzt werden meine Programme wieder gestartet.


    Lösung:

    Die alten trusty Pakete aufspüren: dpkg -l | grep vdr | grep trusty

    Die alten Pakete via apt-get purge vollständig deinstallieren

    Die neuen bionic Pakete wieder mittels apt-get install installieren.


    Evtl kann eine Prüfung in ansible mit eingebaut werden.

  • Ein Upgrade von trusty auf bionic? Das ist nun wirklich nicht vorgesehen - damit hast du auch noch die ganzen Template-Leichen von yaVDR 0.6 im System.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)