Das yavdr-frontend bietet schon die Möglichkeit Programme zu starten - da ich dafür möglichst wenig zusätzliche Skripte haben wollte, habe ich bislang zwei Möglichkeiten eingebaut, die das recht generisch ermöglichen:
- .desktop-Dateien - die werden bei praktisch allen Debian-Paketen, Snaps, Flatpaks usw. für GUI-Programme mitgeliefert, also braucht man für die meisten Programme keine extra Konfiguration (solange die beim Start nicht forken und sich auf ein SIGTERM hin brav beenden)
- Systemd-Units für die User-Session - die sind für Programme gedacht, die eine Sonderbehandlung benötigen (z.B. KODI, weil das in der Vergangenheit bei einem SIGTERM gerne mal hängen geblieben ist oder wenn Programme beim Start forken, so dass man den Prozess nicht so einfach nachverfolgen kann)
Die lassen sich programmatisch starten (was z.B. für KODI in der menuorg.xml genutzt wird: https://github.com/yavdr/yavdr-an…uorg.xml.j2#L50 ) - einfach frontend-dbus-send switchto kodi absetzen und das yavdr-frontend schaut, ob es eine passende Systemd-Unit (kodi.service - die hat Vorrang, wenn sie existiert) bzw. .desktop-Datei (kodi.desktop) gibt, stoppt das aktuell aktive Programm/VDR-Frontend und startet danach das andere.
Das vdr-pluign-desktop zeigt die .desktop-Dateien nach Kategorien sortiert an (aber funktioniert wie es aussieht nicht für Spiele (also mit Categories=Game;) - ich habe noch nicht herausgefunden, was da in der gnome-applications.menu, die die Menükategorien definiert, nicht passt),
Außerdem gibt es noch die Möglichkeit das yavdr-frontend inaktiv zu schalten, wenn man ein anderes Programm hat, das ungestört werkeln soll - dann reagiert yavdr-frontend auch nicht mehr auf die Fernbedienung: frontend-dbus-send toggle_noninteractive - wenn man das rückgängig machen will, kann man den Befehl erneut ausführen.
Das sollte also kein großer Aufwand sein, wenn man da einen eigenen Anwendungsstarter dazu nehmen will, solange der sich mit dem yavdr-frontend arrangiert.