Logitech Harmony et GNU/Linux
J’ai récemment fait l’acquisition d’une télécommande universelle Logitech Harmony® 525. Suite à cela je me suis demandé comment j’allais configurer la bête depuis ma station Ubuntu Lucid Lynx car le logiciel fourni par Logitech est seulement compatible Windows ou Mac.
La première idée fut d’utiliser une machine virtuelle sous VirtualBox OSE avec comme système d’exploitation client Window XP mais le problème est que cette version de VirtualBox ne gère pas l’USB.
La deuxième idée, découlant de la première, fut de migrer sous VirtualBox PUEL qui elle gère les ports USB hôtes.
La dernière idée,celle qui a retenue mon attention, est l’utilisation de Concordance couplé à la GUI Congruity.
Concordance
Concordance est un logiciel codé en C++ sous licence GPLv3 (GNU General Public Licence), encore en version béta, qui permet de configurer/programmer les télécommandes universelles Logitech Harmony depuis GNU/Linux. Pour le moment tous les modèles ne sont pas supportés mais vu l’activité du projet cela va évoluer. Vous pouvez trouver la liste de compatibilité sur le site du développeur (lien).
A l’heure ou j’écris cet article la version disponible dans les dépôts Ubuntu est la version 0.21 tandis que sur le site du projet vous pouvez trouver la version 0.23.
Installation automatique
Si les dépôts de votre distribution dispose de la source d’installation une simple ligne de commande suffit:
# sudo apt-get install concordance
ou
# sudo aptitude install concordance
Si vous aimez les choses simple avec votre navigateur préféré il suffit de cliquer sur le lien suivant: apt://concordance.
NB: Si vous souhaitez installer la toute dernière version du logiciel, il vous faudra passer par l’installation manuelle.
Installation manuelle
Le logiciel étant développé en C++ si vous souhaitez l’installer manuellement vous aurez besoin du compilateur g++ ainsi que de la librairie libusb-1.0-0 et libusb-dev:
# sudo apt-get install g++ libusb-1.0-0 libusb-dev
ou
# sudo aptitude install g++ libusb-1.0-0 libusb-dev
Une fois les pré-requis installés il faut:
- Récupérer les sources d’installation:
- Détarer l’archive:
- Compiler libconcord:
- Compiler concordance:
# mkdir /tmp/concordance
# cd /tmp/concordance
# wget "http://sourceforge.net/projects/concordance/files/concordance/0.23/concordance-0.23.tar.bz2/download" -O concordance-0.23.tar.bz2
# tar -xvjf concordance-0.23.tar.bz2
# cd concordance-0.23/libconcord
# ./configure
# make
# sudo make install
# make policykit
# sudo make install_policykit
# cd ../concordance
# ./configure
# make
# sudo make install
A ce stade de l’installation, Concordance est fonctionnel mais seulement en ligne de commande.
Congruity
Congruity est une GUI pour Concordance egalement sous licence GPL.
Version disponible dans les dépôts officiels Ubuntu 1.3 et 1.5 sur le site du projet.
Installation automatique
Tout comme pour concordance, si les dépôts de votre distribution dispose des sources d’installations:
# sudo apt-get install congruity
ou
# sudo aptitude install congruity
Installation manuelle
Congruity dépend de python qui est généralement installé par défaut sur l’ensemble des distributions GNU/Linux.
Pour installer manuellement Congruity voici la marche à suivre:
- Télécharger la source d’installation:
- Détarer l’archive:
- Compiler:
# mkdir /tmp/congruity
# cd /tmp/congruity
# wget "http://sourceforge.net/projects/congruity/files/congruity/15/congruity-15.tar.bz2/download" -O congruity-15.tar.bz2
# tar -xvjf congruity-15.tar.bz2
# make
# sudo make install
Post installation
Si vous ne travaillez pas directement avec le compte « root » (ce que j’espère) et que vous utilisez habituellement « sudo » il va falloir créer une règle udev afin de pouvoir accéder tranquillement à votre télécommande Harmony via le port USB.
Récupérer les informations hardware de la télécommande
- Connecter votre télécommande en USB à votre ordinateur
- Dans un terminal lister les périphériques USB en filtrant sur Logitech
- Créer la règle udev
- Configurer ensuite votre navigateur afin qu’il vous prompte sur l’action à effectuer lors du téléchargement d’un fichier
# lsusb | grep Logitech
Bus 002 Device 002: ID 046d:c01d Logitech, Inc. MX510 Optical Mouse
Bus 001 Device 005: ID 046d:c111 Logitech, Inc.
Ici je dispose de 2 périphériques Logitech, le premier étant ma souris le second est donc la télécommande.
Par rapport au résultat de la commande précédente (Vendor Id 046d et Product Id c111) il faut créer une nouvelle règle udev:
# echo SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c111", MODE="666" \
> | sudo tee /etc/udev/rules.d/99-harmony.rules
SYSFS{idVendor}==046d, SYSFS{idProduct}==c111, MODE=666
# cat sudo tee /etc/udev/rules.d/99-harmony.rules
SYSFS{idVendor}==046d, SYSFS{idProduct}==c111, MODE=666
Sous Firefox il faut positioner la directive « browser.download.useDownloadDir » à « false » via « about:config »
Utilisation
Maintenant vous pouvez configurer votre télécommande, pour cela rendez-vous à l’adresse http://members.harmonyremote.com/ et suivre le guide.
NB: Il vous faudra créer un compte sur le site afin de créer votre profil car toutes les configurations que vous allez définir ne sont pas stockées sur votre ordinateur mais bel et bien sur le site.


22 janvier 2011 à 16 h 23 min
Excellent
Merci beaucoup plus besoin de booter mon XP quand je dois jouer avec logitech 520!
Ca marche sans probleme et toutes les options sont la !!!
Si seulement la meme chose pouvait exister pour mon TomTom
22 janvier 2011 à 16 h 40 min
Salut, concernant ton TomTom tu peux jeter un coup d’oeil aux projets http://pytomtom.tuxfamily.org/ et http://jtomtom.sourceforge.net/
23 janvier 2011 à 1 h 40 min
wow cool!
J’ai cherche il y a quelques temps mais j’avais abandonne
Serais mon sauveur qui me permettra de liberer 30Gig sur mon disque
23 janvier 2011 à 7 h 31 min
Tu me diras car je n’ai pas de TomTom sinon j’aurai fait un article