Le royaume de Eric Buist >> Informatique >> Configuration informatique
Me contacter Plan du site
<< Passage à Fedora Core 6 Passage à Ubuntu 7.04 Installation de Windows Vista >>

Passage à Ubuntu 7.04

Installer et configurer Linux correctement a toujours été pour moi une tâche longue et parfois difficile: problèmes de configuration du matériel, nécessité d'installer (parfois manuellement) plusieurs logiciels pour aboutir à une configuration fonctionnelle, etc. En cas de problèmes, trouver une solution en cherchant sur Internet demeurait long et très frustrant, car souvent, il n'y avait rien de simple ou cela concernait une autre distribution que la mienne. De plus, tout cela était à refaire à chaque mise à jour de ma distribution puisqu'il fallait alors tout réinstaller. Tous ces facteurs commençaient sérieusement à affecter mon désir de conserver Linux sur mes machines. J'en étais rendu à considérer la possibilité de rester avec une ancienne version fonctionnelle de Linux, Fedora Core 6 par exemple, ou encore revenir au bon vieux Microsoft Windows. Exécuter Linux dans une machine virtuelle, en utilisant VMWare par exemple, me passa aussi par la tête. Mais avant d'en arriver là, je me dis que cela pourrait valoir la peine d'essayer une autre distribution de Linux: Ubuntu. Plusieurs recherches de solutions pour divers problèmes aboutissaient sur des messages de forums concernant Ubuntu et quelques personnes, dont les membres du GULUM, m'en parlèrent en bien. J'en fis donc l'essai et j'en fus très satisfait. Malgré quelques petites lacunes (rien n'est parfait, après tout), Ubuntu s'avéra une distribution beaucoup plus simple à configurer et très fonctionnelle. Voici donc les grandes lignes de mon aventure d'installation, aussi bien sur mon PC de table que sur mon portable.

Avec Ubuntu, j'ai l'avantage de pouvoir mettre la distribution à jour sans tout réinstaller. Pour cela, je ne vais pas créer une page pour chaque version d'Ubuntu que je vais tester. Je vais plutôt mettre cette page à jour avec les éléments qui vont changer lors des mises à jour.

Installation sur le Salvator

Installation

Dimanche, 3 juin 2007

J'ai d'abord téléchargé l'image ISO du CD Desktop, version AMD64, depuis le site de Ubuntu. J'ai utilisé BitTorrent pour cette tâche, car le téléchargement est beaucoup plus rapide avec ce protocole qu'avec HTTP ou FTP utilisés par les navigateurs Web. J'ai gravé l'image ISO sur un CD-R que j'ai ensuite utilisé pour amorcer ma machine. Un menu s'afficha alors; je choisis de démarrer ou installer Ubuntu. Après un chargement qui dura au moins une minute, je me retrouvai devant un Bureau GNOME fonctionnel, quoiqu'un peu rudimentaire. C'est ainsi que je constatai que j'avais un live CD, c'est-à-dire un disque permettant de faire tourner Linux sans l'installer sur sa machine. Le live CD trouva pas mal tout mon matériel, incluant la carte son. Par contre, il n'installa rien pour mon synthoniseur TV.

Après avoir constaté que ça pouvait fonctionner, j'ai double-cliqué sur l'icône Install afin de débuter l'installation proprement dite. On me demanda de choisir la langue dans laquelle je voulais installer mon système si bien que j'optai pour le Français. Ensuite, je dus choisir mon fuseau horaire, ce qui me posa quelques difficultés mineures, car il y avait un grand nombre de villes dans la liste. Bien qu'il serait bon que les villes soient regroupées par pays, j'ai découvert plus tard que la sélection peut se faire plus simplement en cliquant sur la carte du monde qui s'affiche à cette étape de l'installation. Comme clavier, je choisis ensuite Canada dans la section Canada, ce qui me donna le clavier Canadien Français auquel je suis habitué.

Le partitionnement du disque dur, qui suit la sélection du clavier, demeure tout de même une étape délicate qui peut provoquer de gros dégâts en cas d'erreur de manipulation. Les options proposées, à savoir effacer tout le disque pour y installer Ubuntu ou redimensionner la partition Windows, ne me convenaient pas. Je dus alors accéder au partitionnement personnalisé et régler le point de montage à / pour la partition déjà créée qui devait abriter Ubuntu. Je dus également ajuster le nom des points de montage pour toutes les autres partitions afin que cela corresponde davantage à mes besoins. L'installation, par la suite, se passa très bien.

Ubuntu a installé le gestionnaire d'amorçage GRUB correctement et a même détecté ma partition Windows et mon installation de Fedora Core 6; il a inséré des liens permettant de les démarrer depuis GRUB.

Pendant l'installation, Ubuntu me demanda un nom d'utilisateur et un mot de passe afin de créer un premier compte sur lequel je pourrais me brancher. Ensuite, il m'offrait la possibilité intéressante d'importer mes données et paramètres depuis un compte sous Windows ou sous une autre distribution de Linux. Par contre, je trouvais dommage qu'il soit obligatoire de créer un compte utilisateur principal même si des comptes étaient créés à partir de paramètres importés. Par exemple, j'aurais voulu importer mes paramètres de mon compte eric défini sous Fedora Core 6, mais il m'aurait alors fallu créer un second compte, eric2 par exemple, pour satisfaire Ubuntu. Par contre, je découvris plus tard, lors d'un InstallFest, que je pouvais donner au système d'importation le nom du compte principal demandé par Ubuntu: pas besoin de créer deux comptes pour importer les paramètres.

L'installation terminée, le système me fit redémarrer après m'avoir conseillé de retirer le CD d'Ubuntu du lecteur. Malheureusement, il avait besoin du disque pour faire son redémarrage si bien que le système se planta. Heureusement, l'installation était finie à ce point. Ainsi, il ne fallait pas obéir au message indiquant de retirer le CD d'Ubuntu. Il fallait plutôt laisser le CD dans le lecteur jusqu'à ce que Ubuntu soit éteint, ensuite de quoi un message indiquait d'extraire le disque avant d'appuyer sur la touche Entrée. L'ordinateur redémarrait à ce moment-là.

Lorsque mon nouveau Ubuntu fut démarré, je me branchai en entrant mon nom d'utilisateur et mon mot de passe. Une icône apparut alors dans le coin supérieur droit de l'écran pour m'indiquer que des mises à jour étaient disponibles. Je cliquai sur l'icône, entrai de nouveau mon mot de passe et laissai le programme installer les mises à jour. Jusque-là, tout allait bien.

Pilote NVIDIA

Je constatai vite que le pilote de NVIDIA n'était pas installé sur ma machine; l'affichage n'était pas à sa pleine vitesse et glxgears que j'utilisai pour confirmer mes soupçons me donna un nombre d'images par seconde inférieur à 1000 tandis qu'il était à 4000 sous Fedora Core 6. Conclusion: pas d'accélération 3D, car pas de pilote NVIDIA. Je savais d'ores et déjà que apt-get permettait d'installer des paquets si bien que je tentai sudo apt-get install kmod-nvidia pour installer le pilote comme je le faisais sous Fedora, mais cela échoua, le paquet kmod-nvidia n'étant pas disponible.

La commande sudo permet d'exécuter la commande donnée en argument comme administrateur. Sous Ubuntu, cette commande fonctionne par défaut et exécute son argument après avoir demandé le mot de passe de l'utilisateur. Dans le cas de Fedora Core, il faut configurer /etc/sudoers manuellement, la façon standard d'exécuter des commandes d'administration étant de se brancher en administrateur en utilisant su.

Revenons maintenant au problème du pilote NVIDIA. Il fallait en fait installer nvidia-glx-dev ou nvidia-glx-new-dev pour obtenir le pilote NVIDIA. Je dus utiliser la commande nvidia-xconfig --add-argb-glx-visuals -d 24 pour reconfigurer xorg.conf afin que X.Org utilise le nouveau pilote.

Une autre technique pour installer le pilote consiste à utiliser le Gestionnaire de pilotes propriétaires accessible dans le menu Administration du menu Système.

Cette étape accomplie, l'accélération 2D/3D fonctionna parfaitement. Je n'eus pas à installer manuellement le pilote de NVIDIA, encore moins à compiler un module de noyau. Contrairement à Fedora Core, je n'eus même pas à ajouter une autre source de paquets pour obtenir le pilote.

Je testai de nouveau AIGLX et Beryl, mais encore une fois, cela bogua. Cette fois-ci, je me retrouvai avec des fenêtres sans barre de titre. J'eus beau tout essayer; rien n'y fit pour résoudre le problème!

Heureusement, je trouvai cette page qui m'aida beaucoup. C'est là que j'appris qu'il fallait ajouter l'option pour ARGB visuals dans xorg.conf et que le paquet à installer pour Beryl était beryl-ubuntu. La ligne nvidia-xconfig précédente tient compte de cette subtilité. Le réglage effectué, j'ai pu démarrer Beryl sans problème. J'ai aussi, suivant les conseils sur le même site, désactivé la synchronisation VBlank depuis Beryl, car cette synchronisation pouvait occasionner des blocages au moment de passer du mode console ou mode graphique ou en revenant d'un écran de veille.

Malheureusement, Beryl empêchait tout programme Java doté d'une interface graphique de fonctionner convenablement. Il me fallut attendre Compiz Fusion, qui ne fut disponible que sous la version 7.10 d'Ubuntu, pour enfin disposer d'une solution à ce problème.

Mettre le pilote NVIDIA à jour

Plus tard, je découvrirais que le pilote de NVIDIA proposé dans les dépôts d'Ubuntu n'est mis à jour à peu près que lors de la sortie d'une nouvelle version de la distribution. En général, ce n'est pas un gros problème, mais cela peut devenir gênant quand le pilote proposé ne fonctionne pas correctement. En effet, en décembre 2007, mon système Ubuntu 7.10 gelait régulièrement peu après le démarrage. Je devais alors soit appuyer sur le bouton reset, soit me brancher en SSH sur la machine, en utilisant mon ordinateur portable par exemple, pour tuer le serveur X. Heureusement, grâce à Envy, je pus effectuer la mise à jour du pilote et éliminer les plantages. Je devais par contre appeler Envy à chaque mise à jour du noyau, sous peine de voir revenir en force les problèmes de stabilité. Conjugué à un problème intermittent de démarrage, ce bogue faillit me pousser à changer ma carte mère pour rien!

Sous Ubuntu 8.04, il existe même un paquet nommé envyng-gtk qui permet d'installer Envy avec apt-get ou Synaptic. Il est donc possible de tenir son pilote NVIDIA à jour plus facilement encore!

Installation de Java

Comme on peut s'y attendre, Ubuntu vient avec GCJ plutôt que la version Sun de Java. Je voudrais bien utiliser GCJ, qui est libre contrairement à l'implantation de Sun de la spécification Java, mais encore faudrait-il qu'il prenne en charge Java 5, ce qui n'est pas encore le cas. Il me fallait donc installer la machine virtuelle de Sun. Avant d'utiliser la technique classique (exécuter l'installeur téléchargé depuis le site de Sun et configurer la variable d'environnement PATH pour rendre Java accessible), je fis quelques recherches et découvris qu'un simple sudo apt-get install sun-java6-jdk pouvait régler la question de Java! Il est aussi possible d'installer sun-java6-plugin pour le plug-in Java de Mozilla/Firefox, sun-java6-demo pour les exemples de programmes Java, etc. Mais avec une distribution AMD64, il n'est pas possible d'installer le plugin Java.

Pour le plugin Java sous AMD64, il faudra attendre Ubuntu 8.04 qui vient avec IcedTea, un prototype de Java 7. Installer le paquet icedtea-java7-plugin résoud le problème du plugin une bonne fois pour toutes! IcedTea en est peut-être encore au stade bêta, mais Fedora Core 8 et Ubuntu intègrent déjà des paquets pour cela et, avouons-le, l'installation du paquet est mille fois plus simple que mettre en place une version 32 bits de Firefox dans laquelle s'exécute le plugin de Sun! Sous les versions plus récentes d'Ubuntu, le paquet se nomme icedtea6-plugin.

Apparemment, les paquets relatifs à IcedTea pointent maintenant sur OpenJDK, qui correspond à la majeure partie de l'implantation Sun de Java 6 qui a été rendue open source. D'après ce que j'ai lu, OpenJDK ressemblerait à Java 6, mais je ne suis sûr de rien et n'ai encore jamais essayé de l'utiliser.

Malheureusement, appeler java, javac, etc. démarrait GCJ et non pas Java de Sun. Outre modifier manuellement la variable d'environnement PATH ou désinstaller GCJ, il existe une solution très simple et élégante sous Ubuntu: la commande sudo update-java-alternatives -s java-6-sun. La commande update-java-alternatives -l affiche une liste des machines Java installées, ce qui permet d'obtenir le bon nom de machine à passer comme argument à l'option -s.

Le plugin Java sous AMD64 souffre par contre d'instabilité chronique. Par exemple, sous Ubuntu 10.04, quand j'ai essayé d'ajouter des photos sur Facebook, le processeur s'est mis à tourner à fond la caisse et Firefox ne répondait plus. Je n'ai jamais trouvé de solution, à part installer une version 32 bits de Firefox. Plutôt que faire ainsi, j'ai trouvé FireUploader avec lequel je peux transférer les photos, sans passer par l'application de Facebook.

Eclipse

Pour compléter mon environnement Java, j'ai dû installer Eclipse (paquet eclipse). Malheureusement, il y a deux facteurs principaux qui font boguer Eclipse, surtout sur l'architecture x64. D'abord, il faut installer le paquet sun-java6-jdk pour ensuite utiliser sudo update-java-alternatives -s java-6-sun comme j'ai fait plus haut. Cela remplace la VM par défaut, GCJ, qui n'est vraiment pas assez performante pour faire tourner Eclipse efficacement, par la VM de Sun. Ensuite, il faut choisir la version d'Eclipse à utiliser: celle livrée avec Ubuntu ou encore la plus récente sur Eclipse.org et la configurer correctement pour ne pas constamment manquer de mémoire.

Faire fonctionner Eclipse sous Ubuntu est donc un casse-tête. Plusieurs personnes, d'après des messages lus sur des forums, ont préféré utiliser Fedora ou garder Ubuntu 7.10 plutôt que se battre avec Ubuntu 8.04 qui pose des difficultés additionnelles.

Eclipse intégré à Ubuntu

Pour Eclipse version Ubuntu, il faut installer le paquet eclipse. Il fallu plusieurs versions d'Ubuntu avant de pouvoir obtenir quelque chose de plus récent que la version 3.2. Rendu à Ubuntu 10.04, nous en étions à la version 3.5, mais Ubuntu 10.10 n'intégrait toujours pas la plus récente version 3.6 d'Eclipse.

Ensuite, le fichier /etc/eclipse/java_home doit contenir /usr/lib/jvm/java-6-sun sur la première ligne; cela va indiquer à Eclipse d'utiliser la VM de Sun et non GCJ. Le fichier ~/.eclipse/eclipserc doit ensuite être créé et contenir quelque chose ressemblant à ceci.

#!/bin/sh

VMARGS="-Xmx800m -Xms600m -XX:MaxPermSize=512m"

De cette façon, Eclipse disposera d'assez de mémoire pour travailler dans planter à répétition. Je n'ai malheureusement pas trouvé de manière de fixer ce paramètre globalement, pour tous les utilisateurs de la machine.

La plus récente version sur Eclipse.org

Pour Eclipse téléchargé depuis Eclipse.org et installé dans /usr/local/eclipse, il faut éditer le fichier eclipse.ini pour ajouter les lignes pour la mémoire. Dans mon cas, j'avais le fichier suivant pour Eclipse 3.3:

-showsplash
org.eclipse.platform
-vmargs
-Xms600m
-Xmx800m
-XX:MaxPermSize=512m

Ensuite, j'ai dû taper /usr/local/eclipse/eclipse -initialize pour terminer l'installation.

Si la version x86_64 d'Ubuntu est installée, il faut utiliser Eclipse pour x86_64 aussi, sinon il y aura une incompatibilité entre Eclipse et la machine virtuelle Java installée. Pour utiliser la version 32 bits d'Eclipse, une machine virtuelle 32 bits est nécessaire.

Plantages sous x64

Il arrive que le compilateur HotSpot de Java 6 bogue pour des raisons obscures, seulement sur les architectures 64 bits et peut-être même seulement sous Linux! Lorsque cela se produit, il faut indiquer à HotSpot de ne pas compiler les méthodes causant problème. Ce problème touche bien évidemment Eclipse qui est un système très complexe. Pour contourner cela, il faut créer un fichier ~/.hotspot_compiler et y mettre la ligne

exclude  org/eclipse/jdt/internal/compiler/parser/Scanner optimizedCurrentTokenSource3
exclude org/eclipse/jdt/internal/core/util/CommentRecorderScanner recordComment
exclude org/eclipse/core/internal/dtree/DataTreeNode forwardDeltaWith
exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding <init>

J'ai trouvé ces lignes en regardant les fichiers hs_*.log produits lors de plantages d'Eclipse. Il faut regarder dans quelle méthode il y a eu une erreur de segmentation et indiquer à la JVM de ne pas compiler ces méthodes. Il est en effet possible que, selon la version d'Eclipse, il soit nécessaire d'ajouter d'autres lignes de ce genre dans .hotspot_compiler. Les lignes que je montre ici convient pour Eclipse 3.3.2 et 3.4. Cette solution fonctionnait dans mon cas, mais Eclipse se mettait périodiquement à faire ramer le processeur à fond, surtout les premières minutes suivant son démarrage.

Eclipse en 32 bits

Si les instructions précédentes ne fonctionnent pas, il reste encore la possibilité de faire tourner Eclipse en 32 bits. Pour cela, il faut installer le paquet ia32-sun-java6-bin. Ensuite, il faut télécharger et installer la version 32 bits d'Eclipse depuis Eclipse.org, puis créer un script qui va appeler Eclipse avec l'option -vm /usr/lib/jvm/ia32-java-6-sun/bin/java. Malheureusement, cela n'a pas été très fructueux dans mon cas, car je ne pouvais pas accéder à CVS sous cet environnement 32 bits.

Une variante de cette solution est d'utiliser update-java-alternatives pour mettre la VM 32 bits par défaut, mais ce n'est pas idéal puisque cette VM ne devrait être nécessaire QUE pour Eclipse. Mais il se peut que faire ainsi règle le problème de connexion Internet pour CVS sous Eclipse.

NetBeans

À un moment donné, Eclipse me rendit fou, ne cessant de lambiner ou planter, au point où je voulus essayer NetBeans. Sous Ubuntu 8.04, je constatai alors son absence sur mon système, bien que je l'aie déjà installé. Je tentai de le réinstaller avec la commande sudo apt-get install netbeans, mais j'obtins alors des messages d'erreur:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  netbeans: Depends: libnb-apisupport1-java (>= 6.0.1) but it is not going to be installed
            Depends: libnb-ide8-java (>= 6.0.1) but it is not going to be installed
            Depends: libnb-java1-java (>= 6.0.1) but it is not going to be installed

M'inspirant de ce message d'erreur aussi clair qu'un morceau de plomb, j'essayai d'installer les paquets qui ne pouvaient être installés, ce qui me donna un autre message d'erreur avec davantage de paquets qui ne pouvaient pas être installés. Cela faisait beaucoup de paquets à énumérer sur la ligne de commande sans certitude que ça finisse par fonctionner un jour.

Un ami qui a rencontré ce problème a tout simplement contourné la difficulté en téléchargeant le logiciel sur NetBeans.org et en l'installant. C'est très ennuyeux de devoir faire ainsi, car après l'installation il faut tout faire soi-même pour intégrer le logiciel au système. À quoi bon disposer d'un système de gestion des paquets si, au final, il faut le contourner à tous moments?

Pour ma part, je suis parvenu à installer le logiciel avec la commande sudo aptitude install netbeans. Aptitude, contrairement à Apt-get, a détecté que le paquet tzdata-java, nécessaire pour NetBeans, n'était pas compatible avec la version installée de tzdata. J'acceptai la proposition d'installer une version antérieure de tzdata, ce qui permit d'installer tzdata-java et NetBeans!

Malheureusement, à chaque fois que j'activais le gestionnaire de mises à jour d'Ubuntu, je recevais un message m'indiquant que la mise à jour ne pouvait être effectuée complètement. Si j'acceptais de faire une mise à jour partielle, cela supprimait NetBeans!

Ce problème était connu sous Ubuntu 8.04 puisqu'on trouve un rapport de bogue sur LaunchPad. Par contre, rien n'était fait pour le résoudre! Pour une raison que je ne connais pas, Apt-get ne détectait pas de version ultérieure à 2008b pour tzdata-java tandis qu'il a pu trouver tzdata 2008c et plus tard 2008e! Il suffirait pour les responsables de la distribution Ubuntu de reconfigurer tzdata-java pour qu'il soit détecté par Apt-get, mais il fallut attendre octobre 2008 pour cela, que la version 8.10 d'Ubuntu voie le jour! Entre-temps, il existait deux solutions, à refaire à chaque mise à jour de tzdata:

  1. Le problème semble disparaître si les mises à jour en pré-version sont activées. Pour rendre ces mises à jour accessibles, sous Synaptic, activez l'option Dépôts du menu Configuration. Sous l'onglet Mises à jour, cochez la case Mises à jour en pré-version (hardy-proposed) et cliquez sur le bouton Fermer. Cliquez ensuite sur Recharger au haut de la fenêtre de Synaptic puis sélectionnez les paquets tzdata et tzdata-java pour mise à jour. Cliquez enfin sur Appliquer. L'installation terminée, vous pouvez désactiver les mises à jour en pré-version.

    Cette solution a pour sérieux désavantage d'impliquer une altération de la configuration du système. Si vous oubliez de désactiver les mises à jour en pré-version, le gestionnaire de mises à jour installera éventuellement tous ces paquets qui ne sont pas nécessairement encore bien testés. Pire encore, il sera ensuite difficile de déterminer quels paquets sont en pré-version, pour les désinstaller.

  2. Télécharger tzdata et tzdata-java sur packages.ubuntu.com/tzdata et les installer manuellement avec sudo dpkg -i. La commande dpkg -i prend en argument le nom des fichiers .deb contenant les paquets à installer; il faut donc lui donner le nom des fichiers téléchargés. C'est à mon avis la meilleure solution, car elle évite d'altérer temporairement la configuration du système.

Navigateur Web

Firefox 2 était déjà préinstallé par Ubuntu, ce qui est une bonne chose. Par contre, il manquait quelques plug-ins que je ne parvins pas à obtenir sous Linux 64 bits. Pour Java, il faut installer le paquet sun-java6-plugin tandis que pour Flash, le paquet flashplugin-nonfree est nécessaire. Ces deux paquets sont absents dans la distribution 64 bits de Ubuntu 7.04. Pour Flash, j'ai essayé avec un clone open-source nommé Gnash, mais cela ne fonctionna que plus ou moins bien.

Pour ce qui est de Adobe Reader, il n'est disponible qu'à condition de l'installer manuellement ou d'ajouter une nouvelle source de paquets, à savoir Medibuntu. Voir cette page pour plus d'informations. Mais il faut dire qu'Evince s'est assez amélioré pour rendre Adobe Reader pratiquement inutile, à part pour des formulaires PDF. Bref, pour avoir tous les plug-ins, j'aurais besoin d'une version 32 bits de Firefox comme sous Fedora Core 6. Je croyais que cela nécessitait de créer un environnement 32 bits, ce qui est plutôt long et pénible.

Ubuntu 7.10 a apporté une amélioration notable de ce côté, le paquet flashplugin-nonfree étant disponible pour AMD64! Le plugin Flash fourni par ce paquet est 32 bits, mais il peut fonctionner sous Firefox 64 bits grâce à un logiciel appelé NSPluginWrapper. Par contre, ce dernier logiciel n'était d'aucun secours pour Java.

Sous Ubuntu 8.04, le paquet icedtea-java7-plugin apporte une solution presque parfaite au problème du plugin. Il faut par contre garder à l'esprit que IcedTea en était encore au stade de développement si bien que des problèmes de stabilité pouvait résulter de l'utilisation du plugin.

Ubuntu 8.04 vient avec Firefox 3 bêta 5. Cela m'a déçu quelque peu, car je craignais pour la stabilité du navigateur encore en développement. Fort heureusement, Firefox 3 fonctionne très bien. Dans le pire cas, le paquet firefox-2 permet d'installer la bonne vieille version stable de Firefox 2. Mieux encore: dès que la version finale de Firefox 3 a vu le jour, une mise à jour a été disponible sous Ubuntu.

Malheureusement, Flash bogue parfois sous Ubuntu 8.04 à cause d'une incompatibilité avec PulseAudio. L'installation du paquet libflashsupport peut parfois résoudre le problème ou l'empirer en rendant Firefox instable. Mardi après-midi, 26 août 2008, c'était rendu que Firefox plantait à chaque fois que j'accédais à une page contenant du Flash! La seule solution que j'ai trouvée a été de désinstaller flashplugin-nonfree ainsi que libflashsupport pour ensuite installer Flash 10 en pré-version d'Adobe. Par chance, tout ceci est résolu sous Ubuntu 8.10 et 9.04!

Synthoniseur TV

La commande sudo apt-get install ivtv.* me permit d'installer IvTV 0.10, le module nécessaire pour mon synthoniseur TV Hauppauge WinTV PVR-150. Aucune compilation manuelle et aucune copie de micro-logiciel ne furent nécessaires comme c'était le cas sous Fedora Core. Tout fonctionna parfaitement du premier coup!

Non, pas tout à fait, en réalité. Pour tester le synthoniseur, j'installai le paquet mplayer-gui. Malheureusement, gmplayer /dev/video plantait au démarrage puisqu'il ne trouvait pas le fichier demandé. Il fallait en fait utiliser /dev/video0 pour accéder à l'image produite par mon synthoniseur TV. De plus, MPlayer était mal configuré, utilisant MGA au lieu de XV comme sortie vidéo. Je dus rectifier cela pour qu'il fonctionne correctement. L'image apparut ensuite si bien que le problème était dû à MPlayer et non pas à IvTV.

Configuration de X.Org

Outre le pilote NVIDIA, deux problèmes survinrent avec X.Org: les boutons latéraux de la souris ne fonctionnaient pas et la résolution était 1024x768 tandis que j'avais besoin de 1280x1024 pour mon écran LCD ViewSonic VG191b. Par chance, ces problèmes ne sont plus d'actualité sous Ubuntu 8.10 et 9.04. Sous les versions antérieures, je pus résoudre ces deux problèmes simplement en éditant /etc/X11/xorg.conf. Pour la souris, cela revient à la même chose que sous Fedora Core 6. D'abord, je dus localiser la section du fichier concernant la souris. Cette section se nommait Configured Mouse. Pour le protocole, je mis auto au lieu de ImPS/2, je réglai Emulate3Buttons à false et j'ajoutai une option réglant ButtonMapping sur 1 2 3 6 7 8 9. Sous Ubuntu 8.04, je dus par contre mettre ButtonMapping à 1 2 3 8 9 6 7 pour que les boutons latéraux fonctionnent sous Firefox 3. Mais avec ce changement, ils ne fonctionnent plus sous Firefox 2.

Pour la résolution, j'ai modifié la section nommée Default Screen pour ajouter "1280x1024" à chaque clause Modes, juste avant le texte "1024x768".

Pour ce qui est des touches spéciales de mon clavier, je pensais avoir résolu la difficulté en installant le paquet keytouch. Il me fallut ensuite démarrer KeyTouch et lui indiquer la marque et le modèle de mon clavier. Malheureusement, certaines touches additionnelles ne fonctionnent pas et il ne semble y avoir aucun moyen de rectifier la situation. D'après le site de KeyTouch, il y aurait des problèmes avec les claviers USB, la seule solution étant de rebrancher le clavier dans le port PS/2. Puisque ces touches additionnelles ne servent que peu, je n'en fis rien et laissai le clavier dans le port USB que je trouve beaucoup plus commode que le port PS/2.

Sous Ubuntu 8.04, KeyTouch faisait carrément planter GNOME lorsque j'éteignais ou redémarrais l'ordinateur. Sa suppression résolut le problème sans même m'enlever l'usage des quelques touches spéciales qui fonctionnaient! Conclusion: KeyTouch ne sert pas à grand-chose avec un clavier USB! Depuis quelques temps, ils ont réglé le problème, mais Ubuntu, même la version 9.04, n'intègre pas une version suffisamment récente de KeyTouch.

NTFS

Avec Ubuntu, j'obtins l'accès à mes partitions NTFS gratuitement, sans avoir à installer un paquet téléchargé sur un site Web ou à ajouter une source de paquets externe comme c'était le cas avec Fedora. NTFS est le système de fichiers utilisé par défaut sous Windows 2000/XP/Vista. Par contre, l'accès demeurait en lecture seule. Pour remédier à cela, il suffit d'installer les paquets ntfs-3g et ntfs-config. Dans le menu Outils systèmes de GNOME, je trouvai alors l'option Outil de configuration NTFS qui me permit d'activer l'écriture sans modifier manuellement /etc/fstab. L'écriture NTFS semble fonctionner très bien. Du moins, elle n'a pas causé de dommages sur mes partitions Windows pour le moment...

Un petit raffinement intéressant est d'ajouter l'option streams_interface=windows pour le montage des partitions avec NTFS-3G. Cela permet de lire et de créer des flux de données nommés pour n'importe quel fichier. Voir man ntfs-3g pour plus d'informations.

Puisque Linux peut dès lors lire et écrire du NTFS, est-ce la fin de FAT32, l'autre système de fichiers plus simple que Windows sait déchiffrer par défaut? Non, pas tout à fait, car FAT32 est encore le système le plus simple et universel. Il est excellent pour les clés USB et les lecteurs MP3, voire même les disques durs externes de faible capacité. Je ne formaterais par contre pas un disque de 500Go ou plus en FAT32, car il en résulterait des unités d'allocation beaucoup trop grandes faisant en sorte qu'un paquet de petits fichiers prendrait beaucoup d'espace sur le disque. Les outils FAT32 sous Linux sont fiables et éprouvés tandis que les outils pour le NTFS sont encore jeunes. Vu la nature propriétaire de NTFS et son incroyable complexité, c'est encore beau qu'on puisse lire et écrire sur des partitions de ce type! Il faut dire que le développement de NTFS-3G a nécessité des années de travail et il y a eu plusieurs autres tentatives de projets avant qui n'ont pas abouti.

Puisque j'utilise Linux la majorité du temps, durant l'été 2008, j'ai opté pour une autre solution afin d'éliminer FAT32 de mon disque dur: tout convertir en Ext3! Je n'ai gardé le NTFS que pour la partition de Windows. Pour accéder aux partitions Ext3 sous Windows,j'utilisais Ext2 IFS qui était tout simplement excellent! Cela fonctionnait même avec les versions 64 bits de Windows Vista! Malheureusement, l'incompatibilité de Ext2 IFS avec Ext4 et même certaines configurations de Ext3 en réduisit notablement l'utilité.

Medibuntu

Ajouter la source de paquets Medibuntu, en suivant les instructions sur le site, permet d'avoir accès à quelques paquets intéressants, notamment acroread pour Adobe Reader, googleearth pour Google Earth et xmms-wma pour que XMMS puisse lire les fichiers WMA. J'ai aussi pu installer w64codecs qui contient des codecs 64 bits pour quelques formats vidéos. Finalement, j'ai obtenu libdvdcss2 qui permet de décrypter les DVD protégés.

Mais Adobe Reader n'est presque jamais nécessaire, à part de temps en temps pour remplir des formulaires électroniques. Il vaut beaucoup mieux utiliser Evince ou tout autre lecteur PDF open source!

Gestion du MP3

Pour la gestion du MP3, je dus installer plusieurs paquets: gstreamer0.10-plugins-ugly pour GNOME, libk3b2-mp3 pour k3b (logiciel de gravure de CD/DVD), mpg123 pour lire des MP3 depuis la ligne de commande. Le paquet lame est quant à lui nécessaire pour pouvoir encoder des fichiers MP3, par exemple à partir de CD audio.

Réseau privé virtuel

Étant donné que le réseau privé virtuel (VPN) est employé à l'Université de Montréal, je voulais savoir si Ubuntu me permettrait d'établir un branchement de ce genre. J'ai alors découvert qu'il y a plusieurs types de VPN: PPTP de Microsoft, Cisco, OpenVPN et peut-être d'autres encore. Network Manager, sous GNOME, les prend tous en charge, à condition d'installer les paquets adéquats.

Pour le PPTP, celui qui m'intéressait, j'ai dû installer network-manager-pptp, ce qui a ajouté les options nécessaires pour créer une connexion. Pour tester cela, j'ai ajouté une connexion vers le VPN de l'Université de Montréal, comme montré ici. J'ai alors eu la surprise de constater que cela ne fonctionnait pas du tout.

Premier problème: il y avait un bogue avec le module VPN spécifique à x86_64! Voir cette page pour une discussion à propos de ce bogue. J'ai pu contourner le problème en téléchargeant cette patch et en l'installant, avec sudo dpkg -i. Heureusement, cela ne devrait plus être nécessaire avec Ubuntu 7.10 et les versions ultérieures.

Second problème: j'avais oublié de configurer le MTU et le MRU à 1500, ce qui était nécessaire pour le serveur VPN de l'Université. Lorsque ce fut fait, je pus enfin me connecter!

Troisième problème: le pare-feu Firestarter interféra et m'empêcha de continuer; je dus non pas seulement le désactiver mais le désinstaller, car il se réactivait quand la connexion VPN démarrait.

Quatrième problème: je n'avais plus accès à Internet lorsque le VPN était en marche. Cela s'explique par le fait que seul le réseau de l'Université est accessible depuis VPN et non pas Internet au complet. Il faut donc indiquer, dans les options de GNOME, que seules les transmissions vers 132.204.0.0 doivent passer par le VPN; tout le reste passe par la connexion réseau usuelle.

Cinquième problème: sous Ubuntu 8.10, l'option permettant de configurer le MTU a disparu! Il n'y a donc plus rien à faire pour obtenir le VPN de type PPTP avec l'Université de Montréal, aussi simple et stupide que ça! Même avec la version 9.04 d'Ubuntu, le problème persiste. La seule solution est d'utiliser PPTPConfig pour configurer le VPN, mais celui-ci n'est disponible que pour les machines 32 bits, pas 64 bits!

En 2009, peu après que j'aie été embauché chez Nuance, j'ai voulu essayer par curioristé de me raccorder au VPN Cisco de la compagnie, depuis Ubuntu 8.10. J'ai alors appris que c'était un réseau de type IPSec. Lorsque j'eus rassemblé les informations de connexion (nom du serveur, mot de passe de groupe) et intégré à cela mon propre nom d'utilisateur et mot de passe, j'ai pu me brancher. Dès lors, je pouvais accéder, depuis mon ordinateur personnel, à l'Intranet de la compagnie et me brancher sur le serveur de recherche de mon groupe de travail.

Étant donné que la compagnie me fournit un ordinateur portable (tournant sous Windows et sur lequel je n'ai jamais osé installer Linux!), je n'ai pas un grand besoin de me relier à l'Intranet depuis ma machine personnelle. Mais il m'est arrivé de le faire à quelques reprises pour obtenir une information sur le site interne, sans avoir à allumer mon portable. Le fonctionnement correct de la connexion a transcendé les versions, de 8.10 à 10.04! Je n'ai pas encore testé sous 10.10.

OpenOffice.org 3

Durant l'automne 2008, la version 3 de la suite bureautique OpenOffice.org a enfin vu le jour, offrant en particulier la prise en charge du format Office OpenXML, utilisé par Office 2007 de Microsoft. J'étais bien content de cette nouveauté, car avant cela, il n'y avait aucun moyen fiable sans Office 2007 de Microsoft de traiter un document venant d'Office 2007, outre demander à son auteur de le convertir vers un autre format et espérer qu'il accepte.

Malheureusement, je constatai vite l'absence de mise à jour vers OpenOffice.org 3 sous Ubuntu 8.04. Même la version 8.10, qui sortit en octobre 2008, après OpenOffice.org 3, n'offrait pas la nouvelle version de la suite bureautique. Pire encore, la nouvelle version n'était intégrée dans aucune distribution de Linux du moment, que ce soit Debian, Fedora, etc.

Pour avoir OpenOffice.org 3, il ne restait plus que la solution consistant à l'installer depuis son site officiel. Par chance, ce site offrait des versions 64 bits, pas seulement 32 bits. Au pire, la version 32 bits aurait en théorie pu fonctionner sur une plate-forme 64 bits; je n'aurais pas eu à revenir à une version 32 bits pour un seul logiciel, et je ne l'aurais pas fait étant donné que je n'avais pas absolument besoin de ce logiciel.

Par contre, pour 64 bits, il n'y avait que la version anglaise. Pour avoir la version française, je dus installer le pack de langue, offert pour 32 bits seulement, avec dpkg -i --force-architecture fr.debfr.deb est le nom du fichier contenant le pack de langue. Je dus, en d'autres mots, installer la version 64 bits anglaise d'OpenOffice.org, pour ensuite lui ajouter le pack de langue française 32 bits. Cela fonctionnait, mais ce n'est à présent plus nécessaire puisque la version française 64 bits est disponible.

Ensuite, comme je m'y attendais, OpenOffice.org n'était pas intégré au système: impossible d'y accéder depuis le menu de GNOME ou même avec une commande simple comme oowriter. La version officielle comprend certes un fichier .deb permettant d'intégrer le logiciel au bureau, mais installer cette version oblige à désinstaller OpenOffice.org d'Ubuntu, ce qui supprime par le fait même la vérification orthographique pour tous les programmes! Je renonçai donc à installer ce paquet et intégrai OpenOffice.org 3 comme je pus, ajoutant des raccourcis à la main dans les menus ainsi que le répertoire de programmes de la suite dans ma variable PATH.

Par contre, quelques temps après, je me rendis compte que le son ne fonctionnait pas dans les présentations PowerPoint. En particulier, si ma mère ou mon grand-père m'envoyaient un diaporama, la musique ne se faisait pas entendre. Avec OpenOffice.org 3, il n'y avait tout simplement aucun son et rien de ce qui était indiqué dans les forums ne fonctionnait pour arranger les choses! Avec la version de OpenOffice.org 2.4 intégrée à Ubuntu 8.10, j'avais du son qui sautait.

Pour arranger les choses, je tentai d'installer OpenOffice.org 3 en utilisant un PPA. J'obtins alors une meilleur intégration dans GNOME, mais le son était saccadé.

Pour résoudre le problème du son, je dus remplacer le paquet gstreamer0.10-plugins-ugly par la version d'Ubuntu 8.04, que je téléchargeai manuellement sur packages.ubuntu.com.

Avec Ubuntu 9.04, ces problèmes ont été résolus: OpenOffice.org 3 est intégré et les problèmes de sons semblent résolus. Par contre, utiliser un PPA permet d'obtenir OpenOffice.org 3.1 sous Ubuntu 9.04. Les versions 10.10, 10.04 et peut-être même 9.10 proposent la version 3.2.

Polices de caractères

Comme d'habitude, je dus ajuster la taille des caractères à différents endroits, pour GNOME, Firefox, Thunderbird et Emacs. Cela ne posa pas de difficultés particulières.

Par contre, un bon jour, je reçus un fichier PowerPoint que je tentai de lire avec OpenOffice.Org Impress. Le texte du diaporama affiché se trouva alors coupé, comme si les caractères étaient trop gros. J'en conclus qu'il devait manquer une fonte présente sous Windows, essayai de trouver comment ajouter des fontes et n'obtins pas grand-chose. Heureusement, je découvris que le paquet msttcorefonts permet d'ajouter les fontes standard de Microsoft Windows, en particulier Times New Roman, Arial, etc.

Il peut également être nécessaire d'installer les nouvelles fontes incluses avec Windows Vista et Office 2007 de Microsoft. Ces fontes ne sont malheureusement pas incluses dans le paquet msttcorefonts si bien qu'une méthode spéciale est nécessaire. Le site suivant explique comment procéder pour installer les fontes.

Un autre problème de fontes m'a frappé sous OpenOffice.Org: les caractères dans l'aide en ligne étaient beaucoup trop petits et aucune option ne permettait de les agrandir. Pour résoudre ce problème, je dus modifier le fichier /usr/lib/openoffice/help/fr/default.css afin d'en changer les éléments font-size.

Environnement 32 bits

Après avoir installé la version 64 bits de Ubuntu, j'ai constaté qu'aucune bibliothèque 32 bits n'était installée, à part les pilotes OpenGL de NVIDIA. Cela me mena à constater qu'il n'y a pas d'architecture double, sous Ubuntu, comme c'est le cas avec Fedora. Dans un système à double architecture, un paquet peut être disponible pour deux architectures. Ainsi, les bibliothèques sont installées en versions 32 bits et 64 bits. Cela permet d'installer des logiciels 32 bits dans un système 64 bits. Par contre, avec Ubuntu, un paquet ne peut pas être installé pour plusieurs architectures. Ainsi, aucun logiciel 32 bits ne peut tourner facilement, à moins d'être conçu spécifiquement pour la configuration 64 bits.

Il y a heureusement quelques exceptions. En installant ia32-.*, j'ai pu obtenir quelques bibliothèques 32 bits de base. Cela suffit pour installer Adobe Reader, depuis Medibuntu, et Firefox, depuis le site Web du logiciel, quoique je n'ai pas essayé. Par contre, Wine n'était pas disponible, en tout cas pas via AptGet. Je dus attendre Ubuntu 7.10 pour l'avoir.

Pour résoudre ce problème complètement, le mieux à faire consiste à se créer un environnement 32 bits comme décrit ici. Ce n'est pas très compliqué, juste un peu long. J'ai apporté quelques variantes à la procédure décrite sur le site que j'ai cité, car cela ne fonctionnait pas à mon goût. Je vais terminer cette section avec ces variantes. Sachant que j'ai détruit cet environnement avant de migrer à Ubuntu 7.10 et n'ai pas ressenti le besoin de le recréer par la suite, le lecteur pourra sans problème sauter à la section suivante.

La première étape de la procédure consiste à installer le paquet dchroot et à le configurer. Ensuite, en utilisant debootstrap, il faut créer une distribution Debian de base dans un répertoire qui deviendra l'environnement 32 bits. Ici, plutôt qu'utiliser cp pour copier resolv.conf dans l'environnement 32 bits comme c'est fait dans la procédure, j'ai employé ln qui crée un lien dur. Ainsi, chaque modification dans /etc/resolv.conf est automatiquement répercutée dans l'environnement 32 bits. La procédure demande aussi de copier d'autres fichiers dans l'environnement 32 bits. J'ai aussi utilisé ln pour relier les fichiers passwd, shadow, group, sudoers et hosts au lieu de les copier.

La procédure crée ensuite des points de montage dans l'environnement 32 bits. Au lieu de monter chaque sous-répertoire de /media indépendamment, j'ai jugé bon d'ajouter ceci dans /etc/fstab:

/media /chroot/feisty/32bits/media none rbind 0 0

Noter l'utilisation de l'option rbind au lieu de bind. Cela fait en sorte que tout le contenu de /media, incluant les systèmes de fichiers montés (CD-ROM, disques durs, etc.), est accessible dans /chroot/feisty/32bits/media.

Pour entrer dans mon environnement 32 bits, je dois taper dchroot -d. J'ai alors installé toutes sortes de choses, dont language-selector. En démarrant gnome-language-selector depuis mon environnement 32 bits, j'ai alors pu remettre le Français comme langue dans mon environnement 32 bits; par défaut, c'était l'Anglais.

Pour démarrer un programme 32 bits depuis l'environnement 64 bits habituel, je dois utiliser dchroot -d programme. Le script donné sur le site qui m'a enseigné à construire l'environnement ne fonctionnait malheureusement pas pour moi.

Tout ceci est bien compliqué pour rien. Heureusement, j'ai pu installer Firefox, Flash et Java dans cet environnement. Malheureusement, l'accélération 3D ne fonctionna jamais si bien que Wine ou Cedega ne pourraient pas faire tourner de jeux dans cet environnement.

Problèmes divers

Évidemment, je dus installer plusieurs paquets en utilisant apt-get puis plus tard Synaptic que je découvris. Le second logiciel, à interface graphique, est souvent nécessaire quand le nom du paquet à installer est inconnu. Le système Apt-Get, qui nous vient de Debian, est plus rapide que le RPM de Red Hat/Fedora/Mandriva. J'ai pu installer tous les logiciels dont j'avais besoin via Apt-Get, incluant GNU Emacs (éditeur de texte), LaTeX (création de documents), Eclipse (environnement de développement), GnuPG (cryptage de documents), Thunderbird (courrier électronique), Enigmail (extension GnuPG pour Thunderbird), etc. Un paquet intéressant à installer est ubuntu-restricted-extras qui ajoute plusieurs éléments simultanément dont Java et la gestion du MP3 sous GNOME et KDE. Seul un petit nombre de logiciels ne sont pas accessibles via Apt-Get, par exemple ManDVD, mais habituellement, ils ne me sont pas nécessaires.

Je me suis rendu compte que Totem ne parvenait pas à lire les DVD Vidéo. J'avais le son mais pas l'image et des messages d'erreur à la pelle. Solution: installer totem-xine! Cela supprima totem-gstreamer et commuta à Xine pour la lecture de vidéos plutôt que GStreamer. Sous Ubuntu 8.10 et les suivantes, par contre, les deux paquets peuvent être installés en parallèle et il existe des commandes pour passer d'un backend à l'autre; voir par exemple cette page. Mais la façon la plus simple d'avoir le backend Xine au lieu de GStreamer est encore de désinstaller totem-gstreamer, ce que j'ai fait. Malheureusement, depuis Ubuntu 9.04 ou 9.10, je ne me rappelle plus, le backend Xine de Totem n'existe plus du tout. Totem a semblé fonctionner au début, mais il souffre d'importantes limitations, comme l'impossibilité de rogner les barres noires ou d'envoyer le son 5.1 à travers S/PDIF et des instabilités lors de l'avance rapide ou du recul pendant la lecture de DVD. MPlayer, par chance, peut très bien lire les DVD Vidéos et fournit en plus un puissant logiciel d'encodage vidéo appelé MEncoder. Mais XBMC demeure la meilleure solution du moment pour la lecture de fichiers multimédias. Allié à MakeMKV, XBMC permet la gestion d'une bibliothèque de films stockée sur le disque dur.

L'absence de pare-feu sous Ubuntu est un autre problème que je trouve important. Certes, IPTables est inclus dans le noyau et peut agir comme pare-feu, mais sa configuration est plutôt compliquée. Sous Fedora Core, un utilitaire est disponible pour accomplir les tâches courantes, comme ouvrir un port pour permettre à SSH, Samba, Telnet, etc. de fonctionner. Sous Ubuntu, il n'y a rien. J'ai essayé avec le logiciel Firestarter qui semblait la référence pour ce genre de tâches, mais cela ne m'a apporté que des difficultés. Par exemple, avec Firestarter, l'exploration de réseaux Microsoft ne fonctionne plus et toute tentative de connexion VPN échoue. Firestarter démarre automatiquement lorsqu'une connexion réseau est établie, ce qui n'est pas toujours souhaitable, et laisse des traces lors de sa désinstallation. Pour effacer toutes ces traces, il faut démarrer Synaptic, cliquer du bouton droit sur firestarter et sélectionner le paquet pour une suppression complète. Le mieux est de ne pas installer Firestarter; votre système ne s'en portera que mieux!

Avec Ubuntu 8.04, il y a le logiciel UFW qui est très simple d'utilisation, mais, encore une fois, il faut renoncer aux réseaux Microsoft. Je pourrais facilement m'y résigner s'il y avait un moyen simple de mettre en place un serveur SSH sur une machine Windows, mais cela implique d'installer Cygwin et beaucoup de bidouillage pour que le serveur s'active au démarrage de la machine!

Depuis Ubuntu 7.10, j'ai bénéficié de Compiz Fusion qui me procure une fonction de zoom très utile. Malheureusement, lorsque Compiz était activé, la machine plantait régulièrement pendant que l'écran de veille était activé. Je découvris par chance que le plantage n'était causé que par un seul écran de veille: braid! Pour faire cesser les plantages, j'ai simplement modifié le fichier /usr/share/applications/screensavers/braid.desktop. À la fin de la ligne débutant par Exec=, j'ai ajouté -ncolors 16 -cycles 5 -count 5. Un bogue similaire est revenu sous Ubuntu 8.04, avec rd-bomb cette fois. Frustré par d'autres bogues qui commençaient à me faire envisager un changement de distribution de Linux, j'ai été moins délicat que la fois précédente: j'ai supprimé /usr/share/applications/screensavers/rd-bomb.desktop sans aucune forme de procès! Malheureusement, cela ne s'arrêta pas là si bien que je dus en fin de compte désinstaller le paquet xscreensaver-data-extra, ce qui m'enleva un certain nombre d'écrans de veille. Malgré cela, je suis parvenu à conserver Compiz sur ma machine de travail. Sur mon HTPC par contre, j'ai été obligé de l'enlever, car il est incompatible avec XBMC.

Sous Ubuntu 8.04, le logiciel mkisofs pour créer des images à graver sur des CD ou des DVD a été remplacé par genisoimage. Par contre, l'option -dvd-video de ce dernier logiciel, supposée permettre la création de disques compatibles avec les lecteurs DVD indépendants, ne fonctionne pas correctement. Le seul moyen de contourner le problème a été de télécharger et de compiler moi-même CDRTools qui fournit mkisofs. Ce qui est vraiment choquant, c'est qu'il faudra attendre Ubuntu 8.10 pour avoir une version de genisoimage corrigée!

Faire fonctionner dvd-slideshow et dvd-menu sous Ubuntu 8.04 a demandé un peu de bidouille. D'abord, j'ai dû installer libsox-fmt-all. Ensuite, dans /usr/bin/dvd-slideshow et /usr/bin/dvd-menu, j'ai remplacé -ab 192 par -ab 192k puis -compose src-over par -compose Over.

Ubuntu 9.04 ne détectait plus mon lecteur MP3 SanDisk E250 de Sansa. Lorsque je branchais le lecteur, absolument rien ne se passait. Pour résoudre ce problème des plus gênants, j'ai dû modifier /usr/share/hal/fdi/preprobe/10osvendor/20-libgphoto2.fdi afin d'y enlever toute référence à mon lecteur MP3. La solution m'a été donné par ce rapport de bogue. Sans cela, j'envisageais très sérieusement supprimer Linux de ma machine, car cette régression me frustrait très profondément. C'est un réel soulagement que le problème ait eu une solution relativement simple.

Conclusion

La migration vers Ubuntu m'a été initialement très bénéfique et a renouvelé mon enthousiasme pour Linux qui commençait à décliner. Avec la sortie de Windows 7 qui menace de prendre possession de tous les nouveaux ordinateurs, en réduisant la performance et peut-être même les fonctionnalités (à cause du DRM), il me semble important qu'une distribution de Linux facile à installer et à utiliser soit disponible en tant qu'alternative. Ubuntu est une distribution de ce type! Le système est facile à installer, beaucoup de paquets sont disponibles et l'exécution des programmes est rapide.

Par contre, la version x86_64 de la distribution semble plus difficile à configurer que sa cousine 32 bits en raison de l'absence de l'architecture double qu'on retrouve sous Fedora et Mandriva. De plus, certains bogues sont spécifiques à la version x64, notamment des plantages de Eclipse en raison de la machine virtuelle Java de Sun, un problème avec le VPN sous Network Manager et l'application GDesklets qui ne fonctionne pas du tout. Heureusement, ça s'est amélioré au fil des versions. J'ai rencontré beaucoup moins de bogues grossiers avec Ubuntu 10.04 et 10.10 qu'avec les versions précédentes.

De plus, peu importe l'architecture choisie, les mises à jour des paquets sont peu fréquentes. Par exemple, il faudra attendre Ubuntu 7.10 pour bénéficier de Thunderbird 2 et même de Pidgin qui a remplacé GAIM depuis quelques mois. OpenOffice.org 3 n'a été intégrée que dans Ubuntu 9.04 et Ubuntu incluait encore Eclipse 3.2 tandis que la version 3.4 a vu le jour. Utiliser des versions précompilées par les concepteurs des logiciels en question est envisageable, mais souvent seulement pour une distribution 32 bits. En effet, la plupart du temps, aucune version 64 bits n'est proposée par les concepteurs.

Il est possible de mettre la distribution à jour via Apt, sans tout réinstaller. J'ai expérimenté cela à deux reprises lors du passage à Ubuntu 7.10 puis à 8.04. Malheureusement, le téléchargement de giga-octets par HTTP ou FTP est plutôt long, d'où une mise à jour plutôt longue; c'est pratiquement plus efficace de tout réinstaller si on tient compte des problèmes possibles causés par la mise à jour.

Installation sur le Nightmare

Installation

Vendredi, 15 juin 2007

Cette fois-ci, cela se passe un petit peu moins bien. Évidemment, je dus télécharger la version 32 bits de Ubuntu pour cet ordinateur portable. Lorsque ce fut fait, je pus démarrer le live CD comme avec la version 64 bits. J'eus l'agréable surprise de constater que le pilote pour la carte réseau sans fil s'était installé de lui-même, sans intervention manuelle. Cela me libérait du plus gros problème de configuration que j'avais eu avec Fedora! C'est probablement ce soulagement qui me rendit moins attentif et qui fit en sorte que j'oubliai de sélectionner la langue au début de l'installation. Je me retrouvai ainsi avec un système en Anglais.

La solution la plus simple aurait été de laisser le système en Anglais ou au pire tout réinstaller pour l'avoir en Français, mais je ne voulais pas en arriver là, pas dès le début en tout cas. La meilleure façon de corriger le problème est d'accéder à la fonction Support linguistique du menu Administration du menu Système. De là, il est possible d'installer des nouvelles langues et de changer la langue par défaut. Ubuntu installe alors tout le nécessaire pour changer la langue et modifie automatiquement les paramètres adéquats! Par contre, avant d'accéder au support linguistique, il est crucial d'établir une liaison vers Internet, sinon seules les langues installées apparaîtront.

Connexion Internet sans fil

J'ai écrit dans la section précédente que Ubuntu a pris en charge ma carte réseau sans fil automatiquement, mais cela ne veut pas dire qu'il parvint sans assistance à établir une liaison vers Internet. En effet, je dus ajouter manuellement ma connexion puisqu'il ne la détectait pas. Je dus pour cela cliquer sur l'icône représentant le réseau sous GNOME et choisir l'option adéquate pour ajouter une connexion. À partir de là, j'indiquai que la connexion était de type WPA2 et je dus entrer mon mot de passe WPA. Lorsque mon portable fut enfin branché à mon routeur, la connexion Internet se fit sans histoire.

Mais le réseau sans fil bogua périodiquement, pour rien, peut-être cause du logiciel de régulation à code source fermé fourni par Intel qui plantait sans rien indiquer. À quelques reprises, en effet, je perdis l'accès au réseau, en particulier le jour où j'essayai de passer de Ubuntu 7.10 à Ubuntu 8.04. Je devais alors, dans ces circonstances, redémarrer la machine ou brancher le câble Ethernet dans la prise réseau. En filaire, ça fonctionnait à 100%!

Sous Ubuntu 8.04, j'eus encore plus de problèmes avec le réseau sans fil, assez pour envisager l'achat d'un dongle wi-fi USB. Malheureusement, de tels dongles sont souvent compatibles avec Windows seulement, ce qui est très décevant. La page linux-wless donne certes une liste d'adaptateurs pour la plupart compatibles, mais ceux-ci sont souvent anciens et non disponibles dans les magasins. Un des rares candidats que je parviens encore à trouver en ligne est le WUSB54G de Linksys, qui est un dongle USB. Une autre possibilité serait de remplacer ma carte réseau interne mini-PCI par un ancien modèle Wireless 2200 d'Intel, mais, encore une fois, je ne parviens pas à le trouver!

Le problème avec l'adaptateur Intel PRO/Wireless 3945 ABG sous Ubuntu 8.04 est dû au fait que le module original, ipw3945, a été remplacé par iwl3945 depuis le noyau 2.6.24 justement livré avec Ubuntu 8.04. Le nouveau module, complètement à code source ouvert contrairement à l'ancien, ne prend pas en charge la diode d'activité du réseau ainsi que l'interrupteur permettant de couper la communication sans fil. Pour la diode, il n'y a rien à faire tandis que pour l'interrupteur, il faut appeler sudo modprobe -r iwl3945 suivi de sudo modprobe iwl3945 pour décharger et recharger le module si jamais le réseau ne fonctionne pas.

Par chance, installer le paquet linux-backports-modules-hardy-generic et redémarrer suffit à résoudre les deux précédents problèmes en mettant à jour le pilote iwl3945! Cette solution a été trouvée sur un forum. Fort malheureusement, cela n'a pas suffi dans mon cas pour tout régler. La connexion était souvent très lente, à savoir moins de 200k/s pour un transfert en réseau interne versus 2Mo/s avant, et la carte réseau, très très sensible aux perturbations du signal radio! J'ai longtemps pesté à cause de ce bogue et soupçonné la carte réseau mini-PCI de mon portable puis mon routeur. Mais je suis parvenu à améliorer les choses en réglant, sur mon routeur, la puissance de transmisson à 84 mW au lieu de 28 mW. Il faut mentionner que j'ai la chance d'avoir un routeur WRT54GS v2.1 de Linksys acceptant le micro-logiciel alternatif ouvert DD-WRT, autrement je ne pourrais probablement pas ajuster ce paramètre. Plus tard, j'ai remarqué que le problème de ralentissement est plus marqué après un retour de veille.

Une solution plus radicale consiste à installer l'ancien module IPW3945, mais cela demanda un peu de bidouille étant donné que le module n'est pas compatible avec le noyau 2.6.24. Plutôt que faire cela, j'ai tenté ma chance avec NDISWrapper. Ce logiciel est supposé permettre d'exécuter le pilote réseau de Windows sous Linux, mais au lieu de cela, il n'a pu que faire planter ma machine complètement! Probablement que tous les pilotes ne sont pas compatibles. Une solution possible pour ceux qui migrent de Ubuntu 7.10 à Ubuntu 8.04 à l'aide d'une mise à jour de distribution est de ne pas utiliser le noyau 2.6.24 mais plutôt démarrer avec l'ancien noyau 2.6.22 encore installé. L'ancien pilote wi-fi s'activera alors sans bidouille. Cette solution ne m'est pas accessible, car j'ai dû faire une installation propre en raison d'une panne de disque dur qui a coïncidé avec ma migration à Ubuntu 8.04.

L'écran 16:9

Encore une fois, j'eus la résolution 1024x768 au lieu du 1280x800 que je voulais. Pour résoudre le problème, je dus simplement installer le paquet 915resolution. Ce dernier détermina lui-même la résolution à ajouter et fit l'ajustement dans le BIOS vidéo. Ainsi, un redémarrage du serveur X.Org plus tard, j'étais en 1280x800!

Une solution encore plus élégante que je trouvai plus tard sur cette page consiste à installer le paquet xserver-xorg-video-intel et à remplacer i810 par intel dans xorg.conf. Cela me fournit un pilote prenant ma carte graphique en charge et gérant lui-même la commutation du mode graphique, sans passer par le BIOS. Malheureusement, ce pilote ne prend plus en charge la gestion d'écrans multiples puisqu'il ne tient pas compte de l'option MonitorLayout dans xorg.conf. Il faudra attendre la venue de Ubuntu 7.10 pour une solution à ce problème, à travers XRandR.

Écran externe

Depuis X.Org 7.3, la configuration d'un écran externe a été grandement facilitée pour toutes les cartes graphiques pour lesquelles un pilote compatible avec XRandR 1.2 existe. C'est le cas avec la Intel GMA de mon portable. Il n'est maintenant plus nécessaire de disposer de plusieurs fichiers de configuration et de redémarrer X.Org pour passer d'une configuration à l'autre. Je suis même parvenu à obtenir un affichage différent sur l'écran intégré de mon portable et sur un écran externe, en suivant les instruction sur Intel Linux Graphics; ceci est appelé dual head en anglais. Dans ce mode, le bureau de GNOME se trouve en quelque sorte étendu aux deux écrans. Il est possible, par exemple, de placer une fenêtre d'Evince pour afficher une présentation sur l'écran externe et ouvrir une fenêtre de notes sur l'écran intégré.

Les informations trouvées dans cette section peuvent malheureusement encore servir, car les pilotes à code source fermé de NVIDIA et de ATI s'obstinent à ne pas prendre en charge XRandR 1.2. Le problème est que ces deux firmes ont développé leurs propres solutions pour le multi-écrans avant que XRandR 1.2 ne voie le jour et ne voient pas le besoin de mettre leur code à jour. Le wiki de Gentoo fournit aussi des informations très intéressantes pour configurer le dual head sur un système à base de NVIDIA ou de ATI. Mais on arrive inévitablement à un fichier X.Org pour le mode simple écran et un autre pour le mode multi-écrans.

Avec Fedora Core 6, j'avais réussi à me construire un petit script qui modifiait xorg.conf pour le branchement sur un écran externe. Malheureusement, ce script ne fonctionne pas sous Ubuntu, car les extensions de Python nécessaires à son exécution manquent et sont très difficiles à installer. Il faudrait au minimum que je recompile X.Org pour les avoir! Je n'ai pas réussi pour le moment et je ne voulais pas y passer un temps interminable. Je suis donc revenu à la solution la plus simple: créer plusieurs fichiers de configuration qu'un script permet de changer au besoin.

Ainsi, quand je veux me brancher sur un écran externe, je copie xorg.conf.crt dans xorg.conf avant de redémarrer X.Org. Mais pour une raison obscure, le pilote i810 de X.Org ne détecte pas l'écran et commute en 640x480! Si je redémarre X.Org, je me retrouve avec un écran noir ou de nouveau un affichage en basse résolution. Solution: attendre une dizaine de secondes en 640x480 puis redémarrer X.Org! Alors là, ça fonctionne! Ainsi, je n'ai pas eu à entrer manuellement les paramètres de l'écran sur lequel je travaille chez Bell Canada, comme j'ai eu à le faire avec Fedora Core 6. Cela m'a aussi permis de donner ma présentation, pour mon examen pré-doctoral, en utilisant Ubuntu. Si X.Org n'avait pas su détecter un écran, il n'aurait pas pu obtenir les paramètres du projecteur sur lequel je devais brancher le portable si bien que j'aurais eu un affichage en basse résolution. Utiliser Windows aurait alors été la seule solution.

Hibernation

La mise en veille et l'hibernation sont des éléments très instables sous Linux. Cela fonctionne avec certaines versions du noyau, cesse de fonctionner suite à une mise à jour, fonctionne de nouveau après quelques mois, etc. Pour faire fonctionner l'hibernation sous Ubuntu 8.04, j'ai dû effectuer les étapes suivantes.

Problèmes divers

La plupart des autres manipulations ont été semblables à celles nécessaires pour le Salvator, à l'exception de l'environnement 32 bits. KeyTouch prit admirablement en charge les touches multimédia de mon ordinateur Dell tandis que les boutons latéraux de ma souris externe se configurènt exactement comme sur le Salvator. Avec Ubuntu 8.04, je n'eus même rien à faire pour les boutons! KeyTouch, en fait, n'est même plus nécessaire! La mise en veille et l'hibernation fonctionnèrent à la perfection, sauf si l'ordinateur est branché sur un écran externe. Dans ce dernier cas, l'écran LCD intégré s'allume et devient blanc, mais au moins, ça ne plante pas. Malheureusement, sous Ubuntu 7.10, la mise en veille se remit à tout faire planter! Elle fonctionne de nouveau avec Ubuntu 8.04.

Établir la connexion PPPoE pour mon travail chez Bell Canada nécessita l'utilisation de pppoeconf; il n'y avait pas un module dans Network Manager pour cela. Pour me brancher en PPPoE, je dois utiliser pon dsl-provider, pas le Network Manager de GNOME. Pourtant, Network Manager permet de gérer tous les autres types de connexions dont j'ai besoin: connexion DHCP filaire, connexion sans fil et même VPN, jusqu'à un certain point.

L'incompatibilité entre Compiz et les économiseurs d'écran s'est aussi manifestée sur cette machine, surtout avec Ubuntu 8.04. Par contre, le problème est plus accentué, intermittent et touche plusieurs écrans de veille. Il n'y a rien à faire, à part désactiver Compiz (ce que je ne veux pas faire) ou sélectionner un écran de veille particulier qui ne plante pas; finis l'écran de veille aléatoire!

De temps en temps, l'écran externe branché au portable devient noir spontanément. Je peux alors basculer vers l'écran intégré qui fonctionne toujours, mais pour l'écran externe, il n'y a plus rien à faire à moins de redémarrer la machine. Le problème persiste depuis l'installation d'Ubuntu 8.04 et rien de ce que j'ai essayé ne l'a résolu. J'ai bien cru que c'était la machine qui donnait des signes de faiblesse, mais je ne peux tirer de conclusion de ce genre tant que la panne ne se produit pas sous Windows; cela ne s'est pas encore produit. Mais comme je travaille rarement sous Windows, il se peut que cela puisse arriver. En attendant, je m'accroche à l'espoir que le problème n'est pas encore survenu avec la version 2.3 du pilote vidéo d'Intel.

Conclusion

Passer à Ubuntu a été une bonne chose pour cet ordinateur portable aussi. Je n'y ai perdu aucune fonctionnalité et l'installation a été beaucoup plus simple que celle de Fedora. Par contre, les choses se sont dégradées avec Ubuntu 8.04 qui m'a apporté de nouveaux problèmes vidéo sans aucune solution, même après trois mois d'utilisation. Il semble que cette puce graphique Intel GMA soit un choix très regrettable, mais l'alternative disponible en 2006, une puce ATI, me semblait pire encore. Eh bien peut-être les choses ont-elles changé et ce serait mieux, ATI, maintenant? Ou peut-être aurait-il mieux valu attendre avant d'acheter mon portable puisque maintenant, Dell offre des configurations avec puce graphique NVIDIA.

Se faciliter l'installation

Après avoir installé Ubuntu, il est possible d'utiliser le script ECCHI pour installer automatiquement plusieurs paquets nécessaires, dont Adobe Reader, Flash, etc. Par contre, le script ne semble pas conçu pour x86_64 si bien que je n'ai pas osé l'essayer sur ma machine 64 bits. De toute façon, j'ai réussi à trouver tous les paquets dont j'avais besoin.

Évolution de l'installation

Avec Red Hat/Fedora et Mandrake/Mandriva, il est recommandé de reformater la partition abritant Linux afin d'effectuer une migration vers une version plus récente. Cette opération est longue et fait souvent survenir de nombreux problèmes. Dans le meilleur cas, il est nécessaire de refaire tous les paramétrages précédents et réinstaller tous les logiciels qui ne sont pas installés par défaut.

Avec Ubuntu, les choses sont différentes: il est possible de mettre à jour sa distribution sans reformater. Jusqu'à ce que je l'aie expérimenté moi-même, j'avais un peu de mal à y croire, mais cela fonctionne vraiment! C'est ainsi qu'en fin octobre 2007, je suis passé de la version 7.04 Feisty Fawn d'Ubuntu à la version 7.10 Gutsy Ribbon. La nouvelle version m'a donné Compiz Fusion, un gestionnaire de fenêtres avec effets 3D qui fonctionne enfin. Mon portable a également bénéficié de toutes les fonctionnalités de la version 2 du pilote vidéo Intel qui permet de reconfigurer l'affichage sans redémarrer X.Org. En particulier, je peux brancher la machine sur un écran externe sans redémarrage et surtout sans bidouiller les fichiers de configuration.