vendredi 15 mai 2009

Résoudre les problèmes de son sur Ubuntu, version Jaunty Jackalope

Très simplement, les mêmes causes produisant les mêmes effets, la version Jaunty Jackalope d'Ubuntu souffre de problèmes de son. Comme avec Intreprid Ibex, des logiciels tels que Flash ou Skype restent muets et sourd.

La solution est simple : il suffit d'appliquer la même méthode que pour Intrepid Ibex, à savoir supprimer PulseAudio.

vendredi 6 février 2009

Utiliser le thème GlassyBleu du portable HP Mini 1000 Mi Edition dans Ubuntu, version Intrepid Ibex

Le portable HP Mini 1000 Mi Edition est vendu avec Ubuntu. Le thème par défaut, noir, est splendide au point de vouloir l'utiliser sur son propre ordinateur.

Utiliser le thème GlassyBleu est très simple sur les systèmes à base de Debian qui ont GNOME comme interface. Le principe est de récupérer les paquets contenant les éléments du thème (fond d'écran, définition des éléments du thème, icones, etc), de les installer puis de les activer dans le compte courant. Cette opération peut être réalisée par un simple script.

#!/bin/bash

tmp=`mktemp -d` || exit 1
cd $tmp

# récupération des archives du thème
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/glassy-bleu-browser-skin_0.5_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/glassy-bleu-theme_21_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/universe/binary-lpia/gnome-backgrounds-hp_0.4_all.deb
wget http://hpmini.archive.canonical.com/mie/dists/hardy-hpmini/restricted/binary-lpia/hp-tbird-theme_0.5_all.deb

# on s'assure que l'interface d'OpenOffice.org sera correcte
sudo apt-get install openoffice.org-style-*

# installation globale des paquets du thème
sudo dpkg -i ./*.deb

# suppression des altérations de thème GTK
gconftool --unset /desktop/gnome/interface/gtk_color_scheme

# définition du fond d'écran
gconftool --type string --set /desktop/gnome/background/picture_filename "/usr/share/pixmaps/backgrounds/gnome/hp/default_background_solid.png"
gconftool --type string --set /desktop/gnome/background/picture_options "stretched"

# définition du thème
gconftool --type string --set /desktop/gnome/interface/gtk_theme "GlassyBleu"

# définition du thème des icones
gconftool --type string --set /desktop/gnome/interface/icon_theme "GlassyBleu"

# définition du thème de metacity
gconftool --type string --set /apps/metacity/general/theme "GlassyBleu"

rm -Rf $tmp

Ce script va définir un style personnalisé dans le tableau de bord « Apparence » d'Ubuntu, et l'activer; également, un thème pour firefox et thunderbird sera disponible pour pousser l'intégration. Il est important de noter que le script n'a besoin d'être effectué qu'une seule fois, et que les paquets installés ne seront jamais mis à jour par la suite. Le thème ainsi défini peut donc être personnalisé à volonté.

jeudi 15 janvier 2009

Résoudre les problèmes de son sur Ubuntu, version Intrepid Ibex

Historiquement, la gestion du son avec GNU/linux a souvent été une bataille pour l'utilisateur. Même si Ubuntu prend soin d'éviter de retomber dans les guerres de tranchées historiques, il n'en reste pas moins que les problèmes continuent d'exister.

Ubuntu a fait le choix de s'appuyer sur PulseAudio pour présenter à l'utilisateur la gestion du son. Pour faire simple, même si PulseAudio peut travailler de façon autonome le plus souvent il se comporte comme une surcouche à ALSA et à OSS, avec quelques fonctionnalités spécifiques supplémentaires.

Pour l'utilisateur, la principale différence avec OSS et ALSA est l'intégration de PulseAudio dans l'environnement du bureau : applet de gestion, vuemètres des entrées-sorties, panneau de préférences accessibles, etc. Rien de bien indispensable, mais qui donne une vision simple et pratique du réglage et de l'utilisation du son sur l'ordinateur.

Mais le problème est que PulseAudio ne peut pas être utilisé directement par les logiciels audio, ils doivent être programmés en conséquence. Et c'est alors que se pose le problème du point de vue technique, car de nombreux outils et services, anciens et répandus, travaillent différemment sur les niveaux de la pile des services audio. Des passerelles existent pour faire cohabiter et communiquer les logiciels entre-eux, mais le résultat n'est pas satisfaisant pour l'utilisateur final qui doit jongler entre plusieurs technologies.

Quelles sont pour l'utilisateur grand public les conséquences de l'utilisation de PulseAudio ? Principalement, il n'est pas assuré de parvenir à faire fonctionner un logiciel. Ainsi, Skype est réputé pour ses problèmes d'utilisation dans Ubuntu à cause des mixeurs; FlashPlayer nécessite l'installation de bibliothèques particulières pour accéder à PulseAudio; et c'est sans parler des logiciels comme RecordMyDesktop qui réalisent des captures de session.

Une solution simple à ces problèmes est de supprimer PulseAudio du système, afin de basculer complètement sur ALSA. Cela implique de quitter les technologies préconisées par Ubuntu pour s'occuper nous-mêmes de la chaîne audio. Il s'agit naturellement d'une manipulation entièrement réversible.

La première étape consiste à supprimer les paquets de PulseAudio :

apt-get --purge remove pulseaudio* libpulse*

On constate que la dépendance sur le paquet ubuntu-desktop va intervenir et nous obliger à retirer ce paquet. Aucun souci ici, il suffira de le remettre en place avant la prochaine mise à jour du système vers Jaunty Jackalope. Ensuite, nous installons des outils pour gérer ALSA, qui vont nous amener également par le jeu des dépendances les bibliothèques nécessaires (qui sont normalement déjà présentes sur le système) :

apt-get install alsa-utils gstreamer0.10-alsa

Il ne reste qu'à redémarrer la machine pour nettoyer les services. Le résultat est que Skype, FlashPlayer et d'une façon générales toutes les applications utilisant l'audio fonctionnent correctement, sans réglage particulier. Mais on a perdu au passage les jolis vuemètres de PulseAudio.

On pourra affiner le réglage des entrées-sorties audio par les outils alsamixer et gnome-sound-properties.

lundi 22 décembre 2008

Utiliser un ordinateur portable comme eBook pour lire des documents

Idée générale

Actuellement, mes travaux me demandent de lire beaucoup de documents numériques, principalement sous forme de fichiers PDF et OpenDocument. Je me suis alors posé la question d'une méthode de travail pour éviter les problèmes habituels liés à cette activité : fatigue oculaire, mauvaise position du corps, etc. Je présente ici ma solution actuelle.

L'idée générale est de pouvoir travailler dans mon environnement informatique habituel, d'être capable de basculer très simplement dans une situation de lecture, pour revenir à la situation originale. L'accent a donc été mis sur la simplicité d'utilisation, dans le cadre des configurations existantes.

Cadre technique

Le cadre technique est le suivant :

  • ordinateur : portable Dell Latitude D830
  • système d'exploitation : Ubuntu, version stable actuelle (Intrepid Ibex)
  • lecteur de PDF : evince
  • lecteur d'ODF : OpenOffice.org

La rotation de l'écran est assurée par l'extension RandR de X.org. Le pilotage de la rotation se fait par la commande xrandr.

Mise en place

Au niveau de l'utilisateur, la mise en place de l'environnement de lecture se fait par l'utilisation de scripts ouvrant les documents avec des modalités adaptées. Ainsi, pour un PDF on peut envisager le script suivant qui fait pivoter l'écran, ouvre le document en plein écran, et à la fin remet l'écran en mode horizontal :

#!/bin/bash

xrandr -o left
evince --fullscreen "$1"
xrandr -o normal

Ou encore pour une série d'images dans le dossier courant :

#!/bin/bash

xrandr -o left
gqview --fullscreen "$1"
xrandr -o normal

La situation typique d'utilisation est celle-ci :

  1. je travaille dans l'environnement traditionnel, avec un affichage en mode horizontal
  2. dans un terminal, j'appelle le script de lecture sur le document désiré
  3. l'ordinateur bascule dans l'environnement de lecture, avec un affichage vertical plein écran
  4. je lis
  5. à la fin de la lecture, je ferme le document
  6. l'ordinateur rebascule automatiquement vers l'environnement traditionnel

On peut constater que si pour le système d'exploitation la rotation ne pose aucun problème, l'ouverture du document dans un mode de lecture adapté dépend uniquement du logiciel : plein écran, réglage de barre d'outil, etc. Ici, je m'appuie sur ma configuration habituelle d'evince et spécifie que je souhaite ouvrir le document en mode « plein écran ». La rotation étant déjà effectuée, l'affichage se fait en conséquence. À la fin de la lecture, je n'ai qu'à fermer le document, et donc quitter evince, pour que le script exécute la dernière instruction et rétablisse l'orientation normale.

Exemple de lecture

eBook - portable stableL'ordinateur portable se cale très bien en position assise, légèrement en arrière, en prenant appui sur les cuisses.


eBook - prise en main Prise en main de l'ordinateur. En raison du poids (1,5kg) et de la chaleur, il est préférable d'avoir une position stable.


eBook - contrôle au touchpad et au clavier Le contrôle de la lecture se fait soit par le touchpad, à hauteur médiane, soit par le pavé directionnel, en bas.


eBook - page plein écran Les pages sont affichées une par une, en plein écran. Tout en haut se trouve une barre d'outil indiquant le numéro de page et qui permet la navigation par section.


eBook - contraste élevé Même dans le noir ou en pleine lumière, l'eBook est lisible. Un écran de qualité avec un angle de vue large permet de ne pas être figé dans une position unique durant la lecture.

Améliorations envisagées

Réaliser l'inversion des axes du touchpad pour permettre une utilisation aisée du pointeur en position verticale. Cela permettra d'utiliser la navigation hypermédia dans les documents, et d'envisager la consultation du web.

Mettre en place différents jeux de configuration pour les applications. Ces jeux de configuration, spécifiques à chaque environnement de travail (eBook, 2e écran vertical, portable en déplacement, etc), permettrait de basculer complètement de façon dynamique d'un environnement, pour avoir des réglages adaptés au niveau des applications.