Before moving, I was using Hejmo, a home automation project I’ve created. But in my new appartment my needs have changed and I’ve realized I have too many other projects and not enough time. I’ve decided to stop developing Hejmo, and to use simple scripts for my limited needs…
Playing music without any user interface
Honestly, my goal is not to get rid of any user interface. But my home automation system has a very small screen, which would not allow to display much information. That’s why I need something able to play my music without watching at any screen.
The obvious choice for someone who knows many music players on Linux is MPD (Music Player Daemon). This tool is a daemon running in the background and playing whatever we want it to play. Perfect for my needs. But it needs a client to tell it which tracks to play. There are many clients which are able to control a MPD server (on computers, phones, tablets…) but I don’t see « power up a computer and tell the mediacenter to play some files » as an option.
Windows Media Center remote + Logitech Z-680 with LIRC
For my home automation project (using Hejmo), I’m using a remote made for Windows Media Center. I also have a Logitech Z-680 5.1 sound system, which I control using the LIRC « irsend » command. For all of this to work, here are the necessary steps…
Home automation: Installing Hejmo
I will continue using hejmo for my home automation, I’ll also improve resources, probably create new ones…
First, I need to download hejmo :
cd /usr/src svn checkout http://hejmo.googlecode.com/svn/trunk/ hejmo
Hejmo bus
All hejmo parts communicate through the Hejmo bus, based on D-Bus.
A special instance of D-Bus is started for hejmo, listening on the network.
cd /usr/src/hejmo/hejmobus/ sudo make install sudo update-rc.d hejmobus defaults sudo /etc/init.d/hejmobus start
Python-hejmo
Hejmo resources are often (let’s even say always for now) programmes in Python, the python-hejmo package helps a lot…
sudo apt-get install python-dbus python-gobject python-daemon cd /usr/src/hejmo/python-hejmo sudo python setup.py install
X10 controller
I’m using a CM15A X10 controller.
I’ve managed to make it work by using the IPLC driver, slightly modified because of the recent modifications in the Linux kernel.
I’ve compiled it on my home automation controller from hejmo‘s repository.
First, the source code may be modified, according to the Linux kernel version ; on line 46, the include statement shoud point either to <linux/autoconf.h> or <generated/autoconf.h>.
cd /usr/src/hejmo/x10_driver/cm15a sudo -s make make install exit
Resources
First I’m gonna install (but not activate) all resources I’ve created so far.
cd /usr/src/hejmo/resources sudo ./install.sh
cd /usr/src/hejmo/resources-starter sudo make install
Home automation and media center: hardware
I’ve been through different ideas for home automation and media center, adding improvements every time I change my home automation infrastructure.
Now, I’m gonna use two computers for this purpose.
Asus EeePC 900
I’ve collected an Asus EeePC 900, perfectly working but with a nearly-empty battery.
It is now meant to be used as the home automation controller and music player.
I’ve detached the screen and hanged it vertically on the wall for global information display.
For the moment, I’ve only started xclock in order to validate the computer’s ability to run 24/7 without overheating or other crash sources.
Operating system
I’ve installed Xubuntu 10.04.2 LTS on this computer :
- Xubuntu for the interface lightness
- 10.04 for the long-term support
Kernel
This computer only has 1 GB RAM, so the PAE kernel version is useless.
apt-get install linux-image-generic linux-headers-generic linux-image-generic-pae linux-headers-generic-pae
Packard Bell iMax Mini
I’ve bought a Packard Bell iMax Mini (clone of the Acer Aspire Revo) years ago. At this moment, this computer served as my media center and home automation controller. Now, I’m planning to use it for video viewing only : it is connected to my TV.
Operating system
I’ve installed the latest Ubuntu version on this computer, in order to get profit from any recent improvements.
Mon installation d’Ubuntu
J’utilise un système d’exploitation GNU/Linux depuis 1998. J’ai commencé avec Red Hat, Mandrake, puis longtemps Debian, et enfin Ubuntu (avec GNOME, et j’ai parfois essayé Kubuntu avec KDE). Cette page décrit mon installation, avec deux objectifs :
- Pouvoir m’y référer pour installer un autre PC ou réinstaller le mien
- Donner des idées à ceux et celles qui consultent cette page, partager mes connaissances
De manière générale, je réinstalle mon PC à chaque sortie d’une nouvelle version d’ Ubuntu, pour profiter des dernières mises à jour. Je n’aime pas faire une mise à jour majeure, où il y a toujours des artefacts des anciennes installations…
Voici donc quelques notes sur ces installations. Ce billet a pour vocation d’évoluer au fil des nouvelles versions d’Ubuntu.
Firefox 4 vs Chromium : match (presque) nul
Lorsque Google a édité son navigateur Chrome ainsi que le navigateur libre Chromium sous-jascent, j’ai décidé d’essayer ce dernier. Il faut avouer que j’ai rapidement été conquis. Peu de perte de place, Javascript très rapide, de nombreux avantages par rapport à Firefox 3.
Il y a quelques jours, Firefox 4 est sorti, et dans un pur esprit libriste, j’ai décidé d’en faire mon navigateur principal au travail, sans même passer par une phase de test. Migration de mes marque-pages, changement des icônes dans mes interfaces, etc.
Malheureusement, j’en suis revenu. La principale raison de ma déception est double…
D’une part, Firefox 4 est beaucoup plus gourmand en mémoire que Chromium 10 : à utilisation égale (une dizaine d’onglets, navigateur ouvert pendant une semaine), Firefox utilise 2 Go de RAM, contre 1,2 Go pour Chromium.
D’autre part, lorsqu’une page devient très consommatrice de processeur ou de mémoire, c’est Firefox dans son ensemble qui se met à ramer, au point de m’empêcher de travailler. La page qui a bloqué Firefox 4 il y a 10 minutes est actuellement en train de charger dans Chromium, la page ne répond plus, je vais peut-être fermer l’onglet en question… mais je peux toujours terminer d’écrire cet article sur mon blog, dans un autre onglet de la même fenêtre du même navigateur !
Ensuite, il y a quelques aspects cosmétiques, celui qui m’a le plus dérangé est le suivant : Lorsque l’on déplace un onglet avec Chromium, le résultat est visuellement très abouti, l’onglet « suit » le curseur tout en restant dans la barre d’onglets ; lorsque l’on fait ce même déplacement d’onglet avec firefox, c’est une icône qui suit le curseur au pixel près, les onglets ne se déplacent pas « en live » dans la barre d’onglets, l’opération qu’on effectue est moins évidente « à l’œil ».
J’ai cependant constaté une nette amélioration par rapport à Firefox 3 : un visuel plus agréable, beaucoup moins de place à l’écran consommée (surtout quand on désactive la barre de menus, on se retrouve à quelque chose d’équivalent à ce qu’on avait avec TinyMeny), un Javascript beaucoup plus véloce. Mais la faculté de Chromium de réellement séparer les différents onglets dans des processus totalement séparés est maintenant pour moi une fonctionnalité majeure, qui permet d’éviter toute perte de temps potentielle liée à une page tierce… Un point d’amélioration majeur de Firefox, j’espère, qui me permettrait de retourner à ce superbe navigateur.
Ecran ultra-large, Ubuntu, et division par deux
Au travail, on vient de me donner un poste fixe, avec un écran 16/9… C’est large ! Si je mets une fenêtre en plein écran, il y a beaucoup trop de place perdue. Afin de gagner de l’espace, j’aimerais diviser l’écran en deux… Après un peu de recherche sur Internet, je suis tombé sur Fake Xinerama ; c’est exactement ce que je veux !
Voici donc la procédure que j’ai suivi pour mettre ça en place :
wget http://ktown.kde.org/~seli/fakexinerama/Xinerama.c sudo apt-get install libx11-dev libxinerama-dev sudo gcc -O2 -Wall Xinerama.c -fPIC -o /usr/local/lib/libXinerama.so.1.0 -shared cd /usr/local/lib sudo ln -s libXinerama.so.1.0 libXinerama.so.1 sudo ln -s libXinerama.so.1 libXinerama.so
sudo ldconfig
Ensuite, il faut créer le fichier ~/.fakexinerama, qui permet de définir les écrans virtuels. Dans mon cas, j’ai un écran de 1920×1080 pixels, que je divise en 1062×1080 + 858×1080 :
2 0 0 1062 1080 1062 0 858 1080
Et voilà ! Il n’y a plus qu’à se déconnecter et se reconnecter, et l’écran est vu comme un périphérique Xinerama. Avec l’écran vide, on ne se rend pas compte qu’il est divisé en deux ; par contre, quand j’agrandis une fenêtre elle ne prend qu’une partie de l’écran (gauche ou droite, selon où elle était placée auparavant).
Face-de-bouc, ou pas
Wow ! Deux éditos à trois jours d’intervalle ! C’est une période de changement, j’vous dis…
J’ai prévu de faire du ménage dans ma vie, notamment sur Internet, notamment sur Facebook. J’ai donc décidé de supprimer une grande partie des informations sur mon compte Facebook.
- Où j’ai habité, où j’ai étudié, où j’ai travaillé : quel est l’intérêt pour moi de mettre toutes ces informations sur Facebook ? Aucune ! Pour eux ? Les revendre, pardi !
- Mes photographies : j’ai un site prévu pour héberger mes photographies, dont c’est l’unique but, un service professionnel que je paye annuellement afin de m’assurer la qualité dont j’ai besoin. Je n’ai pas besoin d’un hébergement de photographies bas-de-gamme
- Mes « fan pages », mes groupes, ce que j’aime : quel intérêt à partager tout ça ? Si je veux suivre l’évolution d’un musicien, d’une association, d’un groupe quelconque, je peux suivre leur site web, je n’ai pas besoin de Facebook pour ça
- Mes amis : cet aspect est plus sensible. Clairement, le mot « ami » sur Facebook a une signification spéciale ; pour moi, un « ami » sur Facebook, c’est simplement une personne que l’on connait : ami proche, pote de pote, connaissance lointaine… C’est pourquoi j’ai décidé de supprimer ce lien envers toute personne que je n’arrive pas à identifier : les gens que je n’ai jamais croisés, les gens qui en fait n’en sont pas (groupes de musiques qui ont créé un profil personnel, par exemple), les gens que je ne reconnais pas, les gens dont je ne me rappelle pas…
Au final, Facebook me servira simplement à rester en contact avec des personnes que je ne vois pas souvent, et que je ne peux pas facilement contacter par d’autres moyens… mais dont les nouvelles peuvent m’intéresser !
La messagerie peut également servir à me contacter, mais ce n’est de loin pas le meilleur moyen de me joindre : le téléphone et le courrier électronique, c’est déjà pas mal, non ? En tout cas, je vais beaucoup moins lire mes messages sur Facebook.
J’invite toute personne un tant soit peu curieuse à lire les conditions d’utilisations de Facebook (que chaque utilisateur a acceptée, souvent sans les lire) : http://www.facebook.com/terms.php. Voyez notamment les articles suivants :
- 2, Partage de votre contenu et de vos informations : vous accordez à Facebook un droit d’utilisation de tout ce que vous publiez, sous-licenciable (cela permet à Facebook de transmettre ce droit d’utilisation à quelqu’un d’autre), sans redevance et mondial
- 4, Inscription et sécurité des comptes : vous vous engagez à ne pas donner de fausse information (exit les pseudonymes), à n’avoir qu’un seul profil personnel (exit la séparation vie privée / vie professionnelle que certains font)
- 5, Protection des droits d’autrui : vous autorisez Facebook à juger si un contenu que vous publiez est en infraction et à supprimer des contenus (Facebook vous permet de « faire appel » s’ils ont fait une erreur), justice privée, tout ça…
- 10, À propos des publicités et d’autres contenus commerciaux diffusés par Facebook : vous autorisez Facebook à donner votre contenu aux annonceurs (dans la limite des paramètres de confidentialité que vous avez configurés dans votre profil – qui le fait ?)
Quoi qu’il en soit, je ne suis pas nécessairement attaché à toute disparition d’Internet : je suis facile à trouver, que ce soit avec mon pseudonyme ou avec mon nom complet. Une simple recherche sur un quelconque moteur suffit !
Et les changements continuent…
Et voilà, c’est fait ! Je viens de quitter Devoteam, j’ai bouclé mes projets (ou presque…) et j’ai rendu mes affaires.
Une page se tourne, je vais maintenant prendre une semaine de repos avant de rejoindre AlterWay, pour un challenge très intéressant !
Beaucoup de projets géniaux cette année. Entre Carambal où on organise des bals folk qui marchent d’enfer, notre vie privée qui évolue très positivement, le nouvel accordéon qui arrivera cet été, et ce changement d’environnement professionnel… ça en fait des choses ; et c’est bon !
Ubuntu : Retour aux anciennes notifications
Une chose que j’ai très peu apprécié a été le passage, en 2009 (Ubuntu 9.04 Jaunty Jackalope), aux nouvelles notifications d’Ubuntu : Notify-OSD.
Ce sont ces espèces de bulles noires qui apparaissent en haut à droite de l’écran :

Je leur trouve deux énormes inconvénients :
- leur placement est fixe, en haut à droite, sans aucune configuration possible
- il est absolument impossible d’interagir avec ces notifications
Ce dernier point est, selon la page décrivant cette solution (https://wiki.ubuntu.com/NotifyOSD), une fonctionnalité : ça empêcherait les clics malencontreux sur les notifications. À mon avis, cela est une régression, car lorsqu’une notification apparaît, si celle-ci nous intéresse, il faut dans ce cas rechercher l’évènement lié (arrivée d’un message instantané, nouveau tweet, etc), et ça peut être particulièrement compliqué.
J’ai conservé Notify-OSD plus d’un an et demi, essayant de m’y habituer, mais ses limitations me dérangent vraiment.
J’ai donc décidé de repasser à Notification Daemon, l’ancienne solution (et, si j’ai bien compris, la solution par défaut sur les autres systèmes… je n’ai pas testé cela). Je le concède, cette solution est moins jolie que Notify-OSD. Mais il est possible :
- de déplacer les notifications à un autre coin de l’écran (le coin haut droit me dérange, je préfère le coin bas droit)
- d’interagir avec les notifications (fermer la notification, ouvrir une fenêtre de messagerie, etc.)

Pour retourner vous aussi à Notification Daemon, c’est facile :
sudo apt-get install --purge notification-daemon notify-osd-
N’oubliez pas ensuite de fermer et rouvrir votre session !
Darktable et F-Spot
Comme je l’ai annoncé, j’utilise Darktable comme outil de développement de mes photographies numériques. Utilisant F-Spot « depuis toujours » pour gérer mes photographies, j’étais un peu embêté par ce changement d’outil. Du coup, j’ai décidé de garder F-Spot, et d’utiliser Darktable uniquement comme une passerelle.
Par conséquent, je vais travailler de la manière suivante :
Je désactive l’import automatique de mes photographies sur F-Spot. Je mets en place deux arborescences, une pour mes photos à développer (~/Photos-Source) et une pour les photos à visualiser (~/Photos). Je copie les nouvelles photographies dans l’arborescence « à développer », puis je les importe dans Darktable. Je traite les photographies puis les exporte vers l’arborescence « à visualiser », et j’importe les photos dans F-Spot. Je peux ensuite étiqueter les photographies, les publier, etc.
Tout cela en attendant une bonne gestion de la bibliothèque dans Darktable…
EDIT 30/12/2010 : finalement, dans F-Spot je n’intègre pas les photographies à l’arborescence du logiciel comme je l’avais prévu ; j’importe les données sans toucher aux fichiers, comme ça si je change de logiciel la migration sera plus facile…
Maison en 3D : SketchUp et Kerkythea
Avec Flavie, nous pensons au futur à moyen terme depuis quelques mois. Et on envisage de construire une maison. Comme on a plein d’idées, on a décidé de les modéliser afin de voir ce que ça donnerait « en vrai ».
C’est pourquoi j’ai commencé à faire ça avec Sweet Home 3D, qui est un bon logiciel dans certains cas, mais assez limité. J’ai ensuite choisi d’utiliser Google SketchUp, qui est très simple et m’offre énormément de flexibilité. Je suis actuellement en train de dessiner une idée de maison.
Mais, en plus de la modélisation, on voulait un bon rendu… Et c’est là que les logiciels de ray-tracing entrent en jeu. Après avoir essayé les versions « gratuites/démo » de Indigo Renderer et Twilight Renderer, j’ai décidé de tester Kerkythea. Avouons-le, ce logiciel n’est pas facile à utiliser. Mais il offre une maîtrise totale sur le rendu des images, et je suis sûr qu’en m’investissant un peu pour apprendre je pourrai obtenir de superbes rendus… que je posterai sur notre site dédié lorsque le modèle sera fini !
Darktable : mieux traiter ses photos sous Linux
Jusqu’ici, j’utilisais F-Spot pour gérer mes photographies, et je les développais avec Ufraw. Je me suis habitué au logiciel, j’arrive à faire des traitements sympathiques sur mes photos. Mais il a quelques limitations… C’est alors que j’ai découvert Darktable, qui offre une approche plus professionnelle de la « dérawtisation ».
Webalizer sur OVH mutualisé
Cela fait pas mal de temps que je veux avoir des statistiques sur mes sites. Actuellement, l’outil par défaut d’OVH mélange les visites de tous les sites hébergés sur mes sous-domaines.
J’ai donc recherché quel outil installer… La dernière fois que j’avais mis en place des statistiques sur un site web, Webalizer était mort, AWStats (que je n’aime pas) évoluait doucement, AWFFull reprenait le flambleau de Webalizer, tout allait bien… Mais maintenant, AWFFull ne semble plus maintenu, j’ai été désespéré… avant de réaliser que le développement de Webalizer a repris, alors c’est parti, on saute sur l’occasion !
