Wird der VDR (Video Disk Recorder) als reiner Server betrieben – etwa zur Netzwerk-Streaming-Ausgabe oder als Backend für Kodi – ist die Konfiguration und der Betrieb des LIRC (Linux Infrared Remote Control) Dienstes in der Regel nicht nötig. Der in den offiziellen Debian-Repositories enthaltene VDR ist jedoch mit LIRC-Unterstützung kompiliert. Das führt dazu, dass VDR beim Start versucht, eine Verbindung zum LIRC-Socket (/var/run/lirc/lircd
) aufzubauen – unabhängig davon, ob LIRC konfiguriert oder installiert ist. Der VDR schreibt dann den Systemlog mit LIRC Fehlermeldungen voll.
Eine Deaktivierung des LIRC-Zugriffs ist weder über /etc/default/vdr
, setup.conf
, noch über Startparameter vorgesehen. Stattdessen wird ein „Fake“-LIRC-Socket bereitgestellt, der VDR einen erfolgreichen Zugriff vorgaukelt. Dadurch werden die LIRC-Fehlermeldungen zuverlässig unterdrückt.
ERROR (lirc.c,43): /var/run/lirc/lircd: Datei oder Verzeichnis nicht gefunden
Diese Lösung ist insbesondere für serverseitige VDR-Installationen ohne lokale Infrarot-Hardware geeignet. Sie ermöglicht den Betrieb des VDR unter Debian ohne LIRC-Abhängigkeit und ohne störende Fehlermeldungen, ohne dass tiefgreifende Systemanpassungen oder eine Neukompilierung erforderlich sind.
Voraussetzungen
- Debian 12 oder kompatibles System
- VDR installiert über APT (
apt install vdr
) socat
ist installiert:
1 | sudo apt install socat |
Schritt 1: systemd-Dienst für Fake-LIRC-Socket erstellen
Erstelle die Datei:
1 | sudo nano /etc/systemd/system/fake-lircd.service |
Füge folgenden Inhalt ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [Unit] Description=Fake lircd socket for VDR Before=vdr.service After=network.target [Service] ExecStartPre=/usr/bin/mkdir -p /var/run/lirc ExecStart=/usr/bin/socat UNIX-LISTEN:/var/run/lirc/lircd,fork,mode=0666 EXEC:/bin/cat Restart=always RestartSec=2 Type=simple [Install] WantedBy=multi-user.target |
Diese Unit startet einen socat
-Prozess, der einen leeren UNIX-Domain-Socket unter /var/run/lirc/lircd
erstellt. VDR findet diesen Socket und stellt keine weiteren Anforderungen, da er technisch gesehen geöffnet werden kann.
Schritt 2: Dienst aktivieren und starten
1 2 3 | sudo systemctl daemon-reload sudo systemctl enable fake-lircd.service sudo systemctl start fake-lircd.service |
Schritt 3: Funktionskontrolle
Prüfen, ob der Socket existiert und die Berechtigungen stimmen:
1 | ls -l /var/run/lirc/lircd |
Die Ausgabe sollte etwa so aussehen:
1 | srw-rw-rw- 1 root root 0 ... /var/run/lirc/lircd |
Prüfe zusätzlich, ob die Fehlermeldung verschwunden ist:
1 | journalctl -u vdr -b | grep lirc |
Wenn keine Ausgabe erscheint, ist der Zugriff erfolgreich unterbunden worden
by Speefak