Arch Linux – LIRC Konfiguration (mceusb) seit systemd Umstellung

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. mrgreen - Arch Linux - LIRC Konfiguration (mceusb) seit systemd Umstellung

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

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

2 Gedanken zu „Arch Linux – LIRC Konfiguration (mceusb) seit systemd Umstellung“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert