ubuntuusers.de

(Wie) Funktioniert lircrcd?

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Bei meinen Recherchen zu Lirc und .lircrc bin ich auf folgendes Problem gestoßen: Das Programm lircrcd, dass, soweit ich es verstanden habe (und Christoph Bartelmus, der das ganze entwickelt hat, mir versucht hat zu erklären) verschiedene Programm-Modi synchronisieren soll, verhindert bei mir die Ausführung von Befehlen für Programme mit Lirc-Unterstützung (z.B. für Rhythmbox - immer -, teilweise auch für VLC, dann, wenn es nicht mit der FB, also ohne expliziten Aufruf des Modus verwendet wird).

Leider ist mir nicht klar, was da genau passieren soll. Christoph Bartelmus vermutete, dass es sich (zumindest bei Rhythmbox) um einen Bug handeln könnte; vielleicht stimmt aber auch irgendetwas in meiner .lircrc nicht. Daher meine Frage: funktioniert lircrcd bei jemand anderem auch nicht?

Und wenn es funktioniert, was bewirkt es tatsächlich (also: gibt es Beispiele, die deutlich machen, was die Synchronisation für Folgen hat)?

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Bin inzwischen ein wenig schlauer:

lircrcd soll dafür sorgen, dass Programme mit LIRC-Support, die beim Start in der .lircrc lesen und dann auf "ihre" Programmangaben (prog = <Programmname>) reagieren, nicht in Konflikt mit anderen Programmen kommen, die ebenfalls nur auf die eigenen Einträge reagieren.

Wenn mehrere Programme ohne einem Modus (also ohne einer Anweisung mode = <Programmname>) gestartet werden (was ja für alle Programmstarts "ohne" Fernbedienung der Fall ist), ist unklar, welcher Befehl für welches Programm ausgeführt werden soll. Das kann dann natürlich zu "Kuddelmuddel" führen (z.B. gleichzeitiges Ausführen von Befehlen für alle Programme; Fehler bei der Ausführung - es hat anscheinend auch mit der Reihenfolge des Programmstarts zu tun, was genau passiert, aber das ist schwer nachzuvollziehen). lircrcd soll das verhindern, es "verwaltet" sozusagen die Programme bzw deren "Modi".

(Teil meiner Konfusion resultiert sicher auch aus diesem Terminus: es sind anscheinend damit nicht die Modi gemeint, die per "mode = <Programmname>" aufgerufen werden.. 😕 , sondern die zusammengefasst gedachten prog = <Programmname>-Anweisungen. Die können zwar eine in einem Mode-Block stehen, müssen es aber nicht...)

Mit lircrcd lesen Programme mit LIRC-Support (wenn von "außerhalb" gestartet) allerdings die .lircrc-Datei so aus, wie es "eigentlich" vorgesehen ist: ohne die mode-Blöcke. Finden sich aber außerhalb des definierten mode-Blocks keine prog = <Programmname>-Anweisungen, weil die alle im mode-Block zusammengefasst sind, dann reagieren Programme auch nicht auf Tastendrücke, bzw. erst dann, wenn der mode explizit mit einer entsprechend belegten Taste aufgerufen wurde....

Die Verwendung scheint also nur dann sinnvoll zu sein, wenn keine mode-Blöcke verwendet werden und sich alle Anweisungen auf der "Grundebene" befinden. Die Verwendung von lircrcd und mode-Blöcken schließst sich zwar nicht grundsätzlich aus, aber mit lircrcd werden (siehe oben) die mode-Blöcke ohne explizite Anweisung nicht ausgelesen... ("Is it a bug or is it a feature?")

Was das Ganze noch erschwert: Bei einige Programmen mit integrierter LIRC-Unterstützung (wie Rhythmbox und Totem) funktioniert die Fernsteuerung mit lircrcd anscheinend gar nicht, egal ob die Programme nun mit mode oder ohne aufgerufen werden; es erfolgt anscheinend kein Auslesen der prog = <Programmname>-Anweisungen; "verblüffenderweise" werden aber in den entsprechenden mode-Blöcken irexec-Anweisungen erkannt und ausgeführt (vielleicht ist das auch gar nicht so verblüffend, sondern es ist "ganz normal", weil die "Synchronisierung" für irexec funktioniert; aber "noamaal is das nich..." 😬 )

Meine "Fazit" bisher: Ich verwende die lircrcd-Funktion nicht, sonder starte die Programme immer per FB, und mit entsprechenden mode, dann klappts auch mit dem Rhythmbox...

so long
hank

xrolly

Avatar von xrolly

Anmeldungsdatum:
26. September 2007

Beiträge: 4322

Wohnort: NRW; 51° 39′ N, 7° 21′ O

Hallo Heinrich Schwietering, war mal interessant und wieder was dazu gelernt .. 😉

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

xrolly schrieb:

Hallo Heinrich Schwietering, war mal interessant und wieder was dazu gelernt .. 😉

Soll wohl heißen "mit was für 'relevanten Dingen' sich die Leute doch beschäftigen..." 😀 ...
Benutzt du lircrcd? 😊. und wenn ja, mit welchem Effekt? 🤓

so long
hank

pjw1965

Anmeldungsdatum:
23. März 2009

Beiträge: 47

Hallo

Was das Ganze noch erschwert: Bei einige Programmen mit integrierter LIRC-Unterstützung (wie Rhythmbox und Totem) funktioniert die Fernsteuerung mit lircrcd anscheinend gar nicht, egal ob die Programme nun mit mode oder ohne aufgerufen werden; es erfolgt anscheinend kein Auslesen der prog = <Programmname>-Anweisungen; "verblüffenderweise" werden aber in den entsprechenden mode-Blöcken irexec-Anweisungen erkannt und ausgeführt (vielleicht ist das auch gar nicht so verblüffend, sondern es ist "ganz normal", weil die "Synchronisierung" für irexec funktioniert; aber "noamaal is das nich..." 😬 )

Bin auf diesen Thread gestossen, da nur Totem nicht funktioniert hat. Entweder ist der Bug in der Zwischenzeit behoben oder ich habe DIE Lösung gefunden. Totem hat ein LIRC Plugin, habe dieses aktiviert und siehe da: Es funktioniert! Jetzt steuere ich MythTV, MPlayer und Totem und eigene Programme (via irexec) mit meiner Fernbedienung. Toll!

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11314

Wohnort: Bremen

Hi!

Das Totem-Lirc-Plugin ist nicht der Punkt, hier geht es um das Programm "lircrcd", das die Modi von verschiedenen Anwendungen synchronisieren soll. Hast du das in deiner .lircrc drinstehen: als erste Zeile ein "#!lircdrcd" ?

so long
hank

pjw1965

Anmeldungsdatum:
23. März 2009

Beiträge: 47

Jetzt habe auch ich es auch begriffen. Hast natürlich recht.

Lircrcd möchte das Leben vereinfachen, es funktioniert aber nicht mit Totem/Rhythmnbox, also verzichte ich darauf.

Gruss

Antworten |