Vor ein paar Tagen hat mich Marius per Mail angeschrieben, dass er Probleme hat, LIRC auf Arch Linux mit systemd zum Laufen zu bekommen. Ach genau, da war ja was! 😉
/etc/lirc/hardware.conf nun /etc/conf.d/lircd.conf
# Parameters for lirc daemon # LIRC_DEVICE="/dev/lirc0" LIRC_DRIVER="default" LIRC_EXTRAOPTS="" LIRC_CONFIGFILE="/etc/lirc/lircd_mceusb.conf"
/etc/lirc/lircd.conf nun /etc/lirc/egal_was.conf (jeder beliebige Name)
Bei mir ist diese Datei mittlerweile nur noch ein Link.
ls -lsa /etc/lirc/ 0 lrwxrwxrwx 1 root root 48 2012-11-05 23:52 lircd_mceusb.conf -> /usr/share/lirc/mceusb/lircd.conf.mceusb # Link erstellen ln -s /usr/share/lirc/mceusb/lircd.conf.mceusb /etc/lirc/lircd_mceusb.conf
lirc.service bearbeiten
Die originale Startdatei von systemd für LIRC muss angepasst werden, da sonst die lircd.conf nicht eingelesen wird. (Bugreport)
vi /usr/lib/systemd/system/lirc.service
[Unit] Description=Linux Infrared Remote Control [Service] EnvironmentFile=/etc/conf.d/lircd.conf ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd ExecStart=/usr/sbin/lircd -d $LIRC_DEVICE -P /run/lirc/lircd.pid -H $LIRC_DRIVER $LIRC_CONFIGFILE Type=forking PIDFile=/run/lirc/lircd.pid [Install] WantedBy=multi-user.target
StartUp Skript erstellen, ehemals rc.local
Damit nicht der Kernel die Eingaben der Fernbedienung bzw. des IR-Empfängers verarbeitet, sondern LIRC, muss noch ein zusätzlicher Befehl beim Starten ausgeführt werden. Früher haben wir diesen einfach in die rc.local gepackt, diese gibt es nun seit systemd nicht mehr. (man kann auch eine udev Regel erstellen oder es über tmpfiles.d tun, ich finde es so aber „klarer“)
Da der ein oder andere von euch, auch noch mehr Befehle beim Starten ausführen möchte, legen wir eine systemd Startdatei an, die ein Shell-Skript ausführen soll.
vi /etc/systemd/system/my_startup.service
[Unit] Description=Startup After=network.target [Service] ExecStart=/root/my_startup.sh [Install] WantedBy=multi-user.target
Nun das Shell-Skript, welches beim Starten ausgeführt werden soll …
vi /root/my_startup.sh
#!/bin/bash ################################################### ### USB-IR nicht fuer den Knerel, sondern fuer LIRC echo lirc > /sys/class/rc/rc*/protocols # ODER #ir-keytable -p LIRC
…, ausführbar machen und aktivieren.
chmod 700 /root/my_startup.sh systemctl enable my_startup
So das wars eigentlich schon, so viel hat sich gar nicht geändert – aber man muss es halt wissen.
Weiterführende Links:
Arch Linux – LIRC Konfiguration mit MCE RC6 IR und Lircmap.xml für XBMC (Logitech Harmony)
HTPC – Media Center – Logitech Harmony reagiert träge unter Windows und Linux
Kann mich nur nochmal für die wunderbare Hilfe bedanken! Mit dieser Anleitung wird das Einrichten wirklich zum Kinderspiel.