Es war ein ziemlicher Krampf lirc, Mythbuntu und xbmc zusammen zum laufen zu bekommen, aber nach einiger Artbeit war es dann endlich geschafft.
Diese Anleitung zeigt wie man xbmc auf Mythbuntu 10.04 (kann aber auch Ubuntu&co sein) mit einer Fernbedienung seiner Wahl zum laufen bekommt (eine Fernbedienung mit Mediatasten sollte es schon sein
).
Meinen IR Empfänger habe ich bei Blue Backlight gekauft (Die Seite ist grauenhaft, aber der Empfänger funktionierte auf Anhieb).
LIRC installieren
sudo aptitude install lirc
installiert alle nötigen Pakete. Bei den Abfragen die erscheinen “custom” auswählen.
xbmc istallieren
sudo apt-get install python-software-properties pkg-config
sudo add-apt-repository ppa:team-xbmc
sudo apt-get update
sudo apt-get install xbmc xbmc-standalone
sudo apt-get update
Dies reicht aus um xbmc zu installieren.
Wer VDPAU (GPU Beschleunigung von NVidia) benutzen möchte, muss noch folgende Pakete installieren:
sudo apt-get install libvdpau1 nvidia-185-libvdpau
Fernbedienung aufzeichnen mit irrecord
Falls noch keine remote.conf der vorhandenen Fernbedienung zur Hand ist, müssen wir jetzt die Befehle der Fernbedienung aufzeichnen.
Eine Liste schon vorhandener Konfigurationsdateien gibt es in
/usr/share/lirc/remotes/
Dazu starten wir das Programm irrecord mit dem Namen der Datei in dem das Profil gespeichert werden soll:
irrecord myRemote
Der Name sollte das Modell der Fernbedienung sein. Ich habe z.B. eine “Thomson Scenium ROC4507″, habe die Datei demnach “Scenium_ROC4507” genannt.
Jetzt ist es nur noch eine Sache den Anweisungen zu folgen.
In neueren Versionen von irrecord muss man per default den Namespace von Tastennamen befolgen. Dies kann mit dem “-n” Switch unterdrücken, sodass man den Tasten eigene Namen vergeben kann.
Wer sich an dem Namensraum halten möchte, bekommt mit irrecord -l alle gültigen Namen angezeigt.
Wenn alle Tasten aufgezeichnet wurden, verschieben wir die Datei:
sudo mv myRemote /usr/share/lirc/remotes/hersteller/myRemote.conf
Der Ordner vom Hersteller muss natürlich vorher angelegt werden, wenn noch nicht vorhanden.
remote.conf in LIRC benutzen
Damit LIRC auch weis, dass wir dieses Profil nutzen möchten, müssen wir die Datei /etc/lirc/lircd.conf bearbeiten.
sudo nano /etc/lirc/lircd.conf
und folgende Zeile hinzufügen:
include "/usr/share/lirc/remotes/hersteller/myRemote.conf"
Wie vermutlich mitbekommen, sollte der Pfad den des gewünschten Profils entsprechen.
LIRC konfigurieren
Jetzt muss noch LIRC korrekt eingestellt werden. Die Datei hardware.conf anpassen:
sudo nano /etc/lirc/hardware.conf
Alle REMOTE* Zeilen auskommentieren und folgendes einsetzen:
REMOTE="myRemote"
REMOTE_MODULES=""
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_LIRCD_CONF=""
REMOTE_SOCKET="/var/run/lirc/lircd"
“myRemote” wieder mit dem eigenen Modell ersetzen.
LIRC testen
LIRC mit
sudo /etc/init.d/lirc restart
neu starten.
Jetzt das Programm irw starten und die Fernbedienung benutzen. Es sollten die soeben konfigurierten Tastenbefehle auftauchen.
xbmc konfigurieren
Jetzt wird es etwas aufwendiger. Es müssen die LIRC Tastenbefehle mit den xbmc Aktionen verknüpft werden. Dafür gibt es die Dateien Lircmap.xml und remote.xml.
Lircmap.xml
Lircmap mappt, wie der Name schon sagt, die LIRC Tastennamen zu xbmc internen Aktionen.
Die Datei liegt in ~/.xbmc/userdata/Lircmap.xml und muss angelegt werden, wenn sie noch nicht existiert.
Der Aufbau ist Simpel:
<lircmap>
<remote device="myRemote">
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
...
</remote>
</lircmap>
- device – Name des LIRC Profils.
- left/right – Sogenannte “Button String”. Alle Verfügbaren Namen gibt es hier (Linke Spalte)
- KEY_LEFT/KEY_RIGHT – Name des LIRC Befehls. Wurde am Anfang bei irrecord vergeben.
Hier müssen alle Tasten eingetragen werden, welche später in xbmc benutzt werden sollen.
remote.xml
Diese Datei muss in ~/.xbmc/userdata/keyfiles/remote.xml gespeichert werden.
Der Aufbau ist ähnlich, jedoch werden hier die vorhin beschriebenen Aktionen zu Befehlen umgeschrieben, mit denen xbmc etwas anfangen kann.
<keymap>
<global>
<remote>
<left>Left</left>
<right>Right</right>
</remote>
</global>
</keymap>
- global – Der Bereich für den diese Befehle gelten. Die Globalen Befehle können mit lokalen überschrieben werden, welche dann z.B. nur im Dateibrowser gelten. Eine Liste der Bereiche gibt es hier. (Erste Spalte).
- remote – Inputmöglichkeit. Dadurch ist es möglich Tastaturen oder Gamepads eine andere Konfiguration zu verpassten.
- left/right – Die oben vergebenen Aktionen.
- Left/Right – xbmc Befehle. Komplette Liste mit Erklärungen gibt es hier.
Autostart xbmc mit angepasstem LIRC socket
Das größte Problem ist, dass lirc vor einiger Zeit sein default Socket von /dev/lircd nach /var/run/lirc/lircd verschoben hat, aber xbmc auf /dev/lird horcht. Deswegen müssen wir beim Start von xbmc den lirc Socket ändern.
Ich nutze xbmc auf einem Mediaserver, welcher direkt in xbmc starten soll, deswegen setze ich den entsprechenden befehl direkt in Autostart rein:
Applications->Einstellungen->Sitzung und Startverhalten->Automatisch gestartete Anwendungen.
Hier einen Eintrag hinzufügen:
- Name: xbmc
- Beschreibung: xbmc starten
- Befehl:
/usr/bin/xbmc --lircdev /var/run/lirc/lircd
Wenn xbmc nicht mit Autostart gestartet werden soll, muss die entsprechende Verknüpfung um den --lircdev Switch erweitert werden.
Fertig
Jetzt sollte xbmc Problemlos mit der Fernbedienung zu bedienen sein. Fragen und Verbesserungsvorschläge bitte in die Kommentare posten.