J’ai toujours été ennuyé de ne jamais pouvoir faire fonctionner la première Mandrake Linux, numérotée 5.1 qui était une Red Hat 5.0 avec KDE 1.0, dans une machine virtuelle. L’affichage partait à chaque fois en arachide dopée à l’EPO.
Quand j’ai entendu dire que pour les 20 ans du projet KDE, des codeurs avaient réussi à récupérer et adapter le code de KDE 1.1.2, j’ai sauté sur l’occasion pour tester l’ensemble dans une machine virtuelle. Dommage que ce ne fut pas la 1.0.0. Trop complexe à récupérer et adapter ?
Pour mémoire, KDE 1.1.2 est sorti en septembre 1999, KDE 1.0 en juillet 1998.
J’ai installée une base Archlinux à laquelle j’ai rajouté Xorg en entier avec xorg-xinit et yaourt via git. Puis j’ai récupéré et fait compiler les quatres paquets AUR suivants, ce qui a demandé une quinzaine de minutes sur mon vieux bousin… Du code datant 1999 adapté pour être recompilé, c’est du rapide à traiter !
Un peu plus de quatre mois après le premier billet, j’ai voulu voir où en était le port. En regardant le rapport de bug concernant la migration du code de GTK2 vers GTK3, à savoir le bug 627699.
Le travail a bien avancé, et il reste une douzaine de bugs ouverts au 6 septembre 2014. Progrès notable, Flash (et les greffons utilisant GTK2) sont supportés. Le bug 624422 concernant ce problème a été clos. Même s’il reste un dernier petit bug en cours de correction au moment où j’écris cet article, le bug 1051209.
Deuxième article de la série. Après l’article sur les implémentation libres de la technologie Adobe Flash, voici donc la deuxième partie. J’avoue que j’ai longtemps hésité avec un autre logiciel, mais je pense qu’il sera le sujet du troisième volet. Pour le moment, vous ne m’en voudrez pas de garder un silence pudique sur le dit logiciel.
Mais revenons-en au sujet de l’article. Le port d’environnement de bureau. Outre qu’il y a un nombre croissant d’environnement de bureau, et heureusement que c’est un domaine autrement plus ardu que le développement d’une distribution – sinon pensez au résultat que cela donnerait – avoir un environnement de bureau donné sur toutes les distributions (ou presque) est assez commun et pratique.
Cependant, il existe un environnement de bureau qui est assez dépendant de sa distribution mère, c’est Unity.
Conçu en partant des mêmes constats que pour Gnome Shell (qui a précédé l’autre ? C’est un peu l’histoire de la poule et de l’oeuf, surtout si on recherche des captures d’écran de Gnome Shell 2.28), Unity est fortement lié à la distribution de Canonical qui lui sert de base. Et Cinnamon avec LinuxMint dans une moindre mesure. Je m’en explique en fin d’article.
GTK3 est sorti en septembre 2010, en même temps que le premier Gnome 3.0 et son déjà détesté Gnome Shell. Les logiciels développés avec GTK2 sont depuis lentement transféré vers la nouvelle génération, au fur et à mesure que GTK3 se stabilise.
Dans les gros morceaux, il y a des monstres comme Mozilla Firefox qui tourne encore avec GTK2. Porter un logiciel aussi gros n’est pas une mince affaire.
Apparemment, seul le port pour Archlinux est maintenu. Le port entamé pour Fedora Linux semble être un brin mort. La dernière modification remontant au… 4 mai 2013 ! Des infos sur ce port pour Fedora Linux ?
Je concluais le précédent article ainsi :
Que dire pour conclure ce rapide article : que l’environnement est vraiment très avancé dans l’utilisation qu’on peut en faire quotidiennement. Mis à part Mozilla Firefox qui m’a fait un gros caca nerveux, et modulo les lenteurs liés à la carte graphique peu véloce, Unity sur Archlinux est très proche d’être utilisable sans soucis.
J’ai voulu voir quels étaient les progrès du port. Il faut partir d’un environnement Gnome 3.4.x installé et fonctionnel (c’est plus pratique, non ?). Ensuite, étant donné que l’ancien dépot http://unity-xe-xe.org/ semble un brin à l’arrêt, on peut passer par un autre dépot, http://unity.humbug.in/ dont la date de compilation complète au moment où je rédige cet article n’est vieille que de 48 heures. La version proposé d’Unity est le port de la 6.8.0, celle proposée avec Ubuntu 12.10.
Il faut rajouter en haut de la liste des dépots dans le fichier /etc/pacman.conf :
[unity]
Server = http://unity.humbug.in/$arch
[unity-extra]
Server = http://unity.humbug.in/extra/$arch
J’ai décidé cet après-midi de voir l’état du port d’Unity pour Archlinux. J’ai utilisé le dépot précompilé disponible sur http://unity.xe-xe.org/. Cette version de dépot est vieille d’une semaine, du 17 septembre 2012, donc peut-être que le port compilé à la main est plus avancé, mais je n’avais pas envie de passer 6 heures à le faire recompiler entièrement.
Après avoir suivi les recommandations de la page, en partant d’une Archlinux avec un Gnome 3.4 et son shell parfaitement fonctionnel, j’ai lancé les commandes d’installation, en rajoutant un yaourt -S unity-extra histoire d’avoir le port le plus complet possible.
Pour la petite info, la Archlinux en question est complètement systemd-isée. Pour activer le démarrage de LightDM, j’ai saisi la commande suivante en tant que root :
Ayant entendu parlé via Phoronix de l’existence d’un dépot proposant Unity pour la Fedora Linux j’ai pu lire dans les commentaires qu’il y avait un dépot de paquets à compiler par soi-même pour obtenir unity sur Archlinux.
Si on suit le fichier README du portage, il y a quelques chose comme 75 paquets à faire recompiler, dans un ordre précis, même si deux ou trois paquets sont optionnels.
Et j’ai serré les fesses en lançant la compilation de chaque paquet, sachant que certains paquets officiels sont remplacés par des versions « spécifiques ». Liste non exhautive :
glib2-ubuntu -> glib 2.0 with Ubuntu patches
gtk2-ubuntu -> GTK toolkit 2.0 with Ubuntu patches
gtk3-ubuntu -> GTK toolkit 3.0 with Ubuntu patches
qt-ubuntu -> Qt toolkit with Ubuntu patches
gconf-ubuntu -> A configuration database system
gsettings-desktop-schemas-ubuntu-> Shared GSettings schemas for the desktop
gnome-settings-daemon-ubuntu -> Daemon handling the GNOME session settings
gnome-session-ubuntu -> GNOME Session Manager
gnome-control-center-ubuntu -> Utilities to configure the GNOME desktop
gnome-screensaver-ubuntu -> Screensaver and screen locking for GNOME
nautilus-ubuntu -> File manager and graphics shell for GNOME
compiz-core-ubuntu -> Compiz core components
libcompizconfig-ubuntu -> Compiz configuration system library
compizconfig-backend-gconf-ubuntu -> GConf backend for Compiz
compizconfig-python-ubuntu -> Compizconfig bindings for Python
ccsm-ubuntu -> Compiz configuration manager
compiz-plugins-main-ubuntu -> Compiz main plugins
compiz-plugins-extra-ubuntu -> Compiz extra plugins
Inutile de préciser que cela prend un certain temps, même si on ne compile pas les paquets dédiés à kde ou xfce. La version spécifique de qt, qt-ubuntu prend environ 1 h 15… J’ai commencé à 17 h 33 ce 19 juillet, et l’ensemble des paquets a été terminé vers… 23 h 30… Oui, près de 6 heures pour compiler l’environnement au complet. Et encore, j’ai du rajouter lightdm et son paquet lightdm-gtk-greeter pour le lancer 🙂
Après le premier lancement, j’ai rajouter quelques outils de gnome, ainsi que Mozilla Firefox, LibreOffice ou encore Gwibber.
Une petite vidéo pour montrer l’ensemble en action. C’est loin d’être parfait, surtout que je suis resté aussi basique que possible, spécialement pour Light DM. J’avoue aussi que l’ergonomie d’Unity me laisse pantois.
Bilan rapide : le code semble avoir été travaillé pour devenir portable, mais c’est au prix d’une longue compilation. Ce qui m’a fait spécialement tiqué, c’est l’obligation de recompiler certains paquets « sensibles » comme le serveur X, alors que tous les autres environnements de bureau et gestionnaire de fenêtres qui existe ne demande aucune recompilation.
Il est aussi dommage que le menu global ne soit pas fonctionnel, à moins que je sois tombé sur une version portée qui souffre d’un bug dans ce domaine.Je terminerais en posant une question : pourquoi la LinuxMint a pris comme base mutter, devenant Muffin, pour gérer l’affichage de son interface Cinnamon ?