• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Lirc Daemon nach Einstecken eines IR Empf. starten

Rayofhope

Newbie
Hallo Linux Gemeinde,
ich möchte gerne meinen (selbstgebauten) USB IR Empfänger unmittelbar nach dem einstecken auch gleich nutzten können. Hierfür möchte ich Lirc benutzten.

Mein Problem: Eigentlich ist der Lircd Daemon (lircd) ja dafür vorgesehen durchgängig zu laufen. Das tat er zumindest als ich noch einen seriellen IR Empfänger hatte. Leider beendet sich lircd aber nach dem abziehen des USB Empfängers, ist also bei einem erneuten Einstecken nicht verfügbar.

Ich müsste also einen Weg finden, LIRCD nach dem Erkennen des Empfängers bzw. nachdem udev den Knoten /dev/lirc erzeugt hat, zu starten. Früher konnte wohl Hotplug entsprechend Programme starten, bei SUSE 10.1 gibt es das Packet aber nicht mehr.

Kennt ihr irgendwelche Lösungen? Von mir aus auch KDE/Gnome spezifische, denn die können mir zumindest neue USB Sticks ja auch melden. Vielleicht kann man diese Funktionalität erweitern?

--------------------------------
Habe eine Lösung gefunden: Für die Suchmaschinen poste ich diese jetzt einfach mal hier rein. Ich habe mir Mühe gegeben, das auch für Anfänger einigermaßen verständlich zu schreiben. Bitte korrigiert mich, wenn ich was falsch wiedergebe.

Alle angeschlossenen Geräte sind ja nach Möglichkeit über einen Eintrag in Ordner /dev zugänglich. Das Erstellen und Verwalten dieses "Ordners" übernimmt in neueren Linux Distributionen das Programm udev, jedoch ohne das vorher verwendete Hotplug Packet, welches z.B. Programme nach dem Erkennen eines Gerätes starten konnte. Diese Funktion kann jedoch auch mit udev alleine nachgebildet werden.

In diesem Falle muss in der irgendwas-lirc.rules Datei im Ordner (/etc/udev/rules.d/; Achtung: SUSE spezifisch!!) folgendes stehen:
Code:
KERNEL="lirc[0-9]*",    NAME="lirc", RUN="/usr/sbin/lircd-estart"

Der Pfad zur Scriptdatei und der Dateiname müssen natürlich angepasst werden.
In der Scriptdatei (Bashscript) selber steht folgendes (wobei der Pfad zum Lirc Daemon noch angepasst werden muss!):
Code:
#!/bin/sh
# Copyright (c) 2006 David Gräff | david.graeff (at) web dot de
# Abzulegen im selben Ordner wie lircd (#which lircd)
if test -e "/dev/lirc"
then
    /usr/sbin/lircd 1>> /root/.lirc-debug 2>>/root/.lirc-debug
fi
exit 0

Meine Quelle: http://vrfy.org/log/recent-state-of-udev.html

Vielleicht konnte ich damit ja jemandem Helfen.
Have Phun ;)
 
Oben