ich habe es nun sowohl unter 21-ng als auch 22-no mehrfach gehabt, dass nach dem Booten nicht nur vdr lief (wie gewollt, da START_PRG=vdr in der ~/.profile), sondern auch noch Kodi.
Ich habe selbst 2 Instanzen von CE22-no laufen und das Problem noch nie gehabt.
Die systemd unit switch_kodi_vdr.path prüft, ob die Datei /storage/.cache/switch_kodi_vdr geändert wurde und startet dann die unit switch_kodi_vdr.service. Und diese Unit startet das Script /usr/local/bin/switch_kodi_vdr.sh.
Das Script liest dann erst /storage/.profile und dann /storage/.cache/switch_kodi_vdr. Und je nachdem, welchen Wert die ENV Variable START_PRG am Ende hat (START_PRG='vdr' oder START_PRG='kodi') wird entweder VDR oder Kodi gestartet.
Bei sieht es z.B. (nach dem Reboot und ohne Wechsel nach Kodi) so aus:
/storage/.profile: START_PRG=vdr
/storage/.cache/.switch_kodi_vdr ist leer
Und damit wird nur VDR gestartet. Beim Start von VDR wird als erstes Kodi gestoppt systemctl stop kodi.
Wenn bei dir beides läuft und der VDR gestartet werden soll, dann kann ich mir nur vorstellen, daß der Stop von Kodi nicht funktioniert. Aber warum sollte das so sein?
Beim booten passiert folgendes:
Das System selbst findet eine /storage/.config/autostart.shund ruft das Script auf. Das Script selbst ruft unter anderem auch /usr/local/bin/autostart.sh auf. Und darin findet sich dann
# Start either Kodi or VDR on reboot
. /storage/.profile
if [ "${START_PRG}" = "vdr" ]; then
systemctl stop kodi
if [ "Amlogic-ce" = "Amlogic-ce" ]; then
echo 4 > /sys/module/amvdec_h264/parameters/dec_control
fi
systemctl start vdropt
fi
Das /storage/.profile wird noch gelesen um die Variable START_PRG zu bestimmen. Und falls der Wert vdr ist, dann wird Kodi gestoppt und vdr gestartet. Der Default ist ein Start von Kodi.
Eine versteckte Datei .watch_prg habe ich in /storage/.cache noch nie gesehen.
Das muss eine Altlast eines Dokumentationsfehlers sein. Die Datei, auf die gelauscht wird ist /storage/.cache/switch_kodi_vdr.