Gnome-shell et Unity : comparatif subjectif

Début avril le projet Gnome sortait la version stable de Gnome3 avec son interface gnome-shell. Fin avril, Canonical sortait Ubuntu 11.04 avec Unity comme interface par défaut. Ces deux sorties ont fait pas mal de bruit dans le monde de Linux. J’ai donc voulu tester les deux interfaces et je vais ici vous faire part de mes impressions. C’est évidemment fort subjectif, mais ça peut sans doute en intéresser certains.

Introduction

Pour les deux interfaces, j’ai cherché un peu d’info à gauche à droite, mais ai voulu me mettre dans la peau du nouvel utilisateur face au système. Je sais que certains problèmes que je mentionne peuvent être corrigés via divers hacks, mais je n’insisterai pas dessus, autant tester l’interface comme livrée par les développeurs. Les deux interfaces ont toute une série de raccourcis disponibles (surtout unity il me semble), mais je n’y ai prêté que peu d’attention, car je juge qu’une bonne interface doit être intuitive et ne dois pas demander trop de connaissance au préalable.
Pour les deux interfaces, il y a certaines choses que je n’ai pas réussi à obtenir, mais sais qu’elles sont possibles, car vu sur certains screenshot. Je n’ai pas cherché en profondeur comment les obtenir, mais je ne pouvais pas non plus parler de tout (l’article est déjà bien assez long :D ).

Pour éviter les mélanges assez fréquents, je tiens à préciser les choses.
Gnome est un environnement de bureau, c’est-à-dire (pour citer Wikipédia) « l’ensemble de programmes apportant une interface graphique à l’ordinateur ». Gnome shell est basé sur Mutter, un gestionnaire de fenêtre (comme Compiz ou Metacity) pour X11.

Unity, quant à lui, est un plug-in pour Compiz. On dit aussi parfois que c’est une interface shell (mais là c’est vraiment pour mélanger tout :P ). Unity fonctionne avec gnome 2, mais rien n’interdit un jour qu’il utilise gnome 3. Par contre, gnome shell et unity ne sont pas compatibles, car n’utilisent pas le même gestionnaire de fenêtres.
Dans cet article, lorsque j’utilise le terme gnome3, je sous-entends l’utilisation de gnome shell (n’ayant pas testé l’un sans l’autre).

Gnome shell

Ça faisait longtemps que j’attendais du changement chez Gnome. KDE sortait les versions 3 à 4.6 alors qu’on restait toujours à 2.x chez Gnome. Je ne suis pas forcement un grand partisan des changements de numéros versions fréquentes à la Google Chrome (10 versions en un peu plus de 2 ans), qui donne l’impression de numéroter pour numéroter (puisque ne change pas des masses), mais un changement en profondeur de temps à autre empêche de laisser un projet mourir.

La sortie de gnome 3 a été repoussée de nombreuses fois, au point où on trollait en le comparant à la sortie de Hurd et Duke Nukem Forever. Telle une sortie de Debian, l’idée était : ça sortira quand ça sera prêt et laisse moi coder en paix! (j’exagère) Gnome 3 et gnome shell sont finalement sortis en versions stables le 6 avril (soit en retard sur la dernière prévision).

Parmi les critiques que l’on a faites à gnome-shell ressortait souvent son manque de personnalisation et l’intégration poussive de Mutter qui empêche toute utilisation de celui-ci avec un autre window manager (pas de lettres de feu sous shell, désolé).

Unity

Du coté de Ubuntu, on était habitué au changement. Canonical a fort poussé le développement pour le out-of-the-box, et je considère que c’est une bonne chose. Les décisions n’ont pas toujours plu à tout le monde, loin de là. Certains voyaient les différentes décisions comme une trahison par rapport à la philosophie du libre (intégration de logiciels propriétaires et payants, utilisations de drivers fermés,…). Il est vrai que le manque de remontée vers les autres projets est un peu dommage mais il a permis d’améliorer l’image de Linux comme étant réservé aux geeks. Beaucoup de changement certes, mais je ne m’attendais pas à l’annonce de Unity.
Suites à des désaccords de points de vue entre les développeurs de gnome shell et ubuntu, ces derniers ont annoncé développer leur propre interface. Selon l’équipe de Unity, Mutter serait trop lent. Dur à dire en raison des conditions de tests fort différentes (voir plus bas).

Au moment de sa sortie (et même avant), on a eu droit à un lunchage généralisé. Les gens voyaient cette sortie, juste après la release de gnome 3, comme un bras d’honneur envers le projet gnome et une rupture entre Ubuntu et le reste de la communauté. On reprochait massivement aussi le manque de stabilité apparent de l’interface.
Puis fait amusant, une ou deux semaines après la sortie de Natty mon flux rss et twitter s’est remplis de références du style « comment ajouter x ou y sous unity » ou « liste des raccourcis sous unity ». Les gens s’habituent vite…

Les tests

Sur ce point, on part mal : les deux ont été assez difficiles à tester. Pour Gnome 3, j’ai testé plusieurs supports : compilation sous Ubuntu 10.10 (long et non sans quelques erreurs), live cd Fedora 15 (mettons les très nombreux bugs sur le compte du stade beta de Fedora), live cd openSUSE du projet Gnome (non fonctionnel en 64bit, ok en 32) et finalement upgrade depuis Archlinux 64bit (fonctionnel).

Pour Unity, j’ai essayé en vain les live usb de la 11.04 mais sans accélération graphique (pas réussi à activer ni les drivers nvidia, ni unity2D) pas de unity. J’ai donc du installer Ubuntu 11.04 dans VirtualBox (j’attends en général un mois ou deux avant de faire une upgrade de mon système). Je suis ennuyé de n’avoir testé unity que de cette façon. En testant gnome shell sur plusieurs systèmes et méthodes différentes, j’ai pu me faire une idée de ce qui était lié au système hôte et de ce qui était lié à l’interface.

Premier abord

Une fois démarrées les deux interfaces, j’essaye de retrouver mes repères.
Première déception pour gnome-shell : clavier en qwerty (chouette pour taper le mot de passe) sur gdm alors que correct pour le bureau normal (fix). Le lanceur d’application à disparu sous shell, je le retrouve assez vite dans le mode « activity ». On y accède avec ALT+F1, touche « Windows » ou simplement la souris dans le coin supérieur droit. De là, je retrouve mon application en tapant quelques lettres. Deux surprises agréables : je n’ai besoin de cliquer nulle part pour faire cette recherche et la description du programme suffit (taper « ftp » me permet de trouver filezilla). On remarque aussi les boutons recherche Google et Wikipédia. Pourquoi devoir ouvrir un browser pour faire une recherche internet ? Je n’ai pas trouvé comment ajouter de nouveaux moteurs de recherche (réponse : modifier un fichier xml). Le mode activity me permet de voir toutes mes fenêtres présentes sur le bureau façon Mac et de les réorganiser, fort pratique.

Recherche d'applications

Sous unity, je retrouve beaucoup plus rapidement mes repères. Unity a été annoncé comme maximisant l’espace disponible sur les écrans, particulièrement les petits. Mon écran étant un 15 pouces, ce n’est pas un netbook mais sûrement pas une dalle. J’avais déjà naturellement positionné mon lanceur d’application verticalement pour maximiser l’espace vertical et me débarrasser d’une barre de tâche. Unity propose ce comportement par défaut. Une fois maximisée, la barre de raccourci disparaît, j’apprécie.
Pour lancer une application, la petite icône Ubuntu me permet d’ouvrir une recherche d’application comme sous shell. Cette fois, la fenêtre ne prend qu’une part de mon écran (maximisable) et je me sens moins à l’aise pour retrouver les applications. Après avoir installé filezilla, j’ai du le lancer explicitement (en tapant le nom complet) avant qu’il soit ajouté le menu. Avant de le lancer, le mot « ftp » me donne une application totalement inconnue sans rapport apparent, qui d’ailleurs a disparu une fois que filezilla ai été lancé une première fois. J’ai eu plusieurs bugs similaires avec des recherches ne fonctionnant que très approximativement. Plus non plus de tri par catégories (multimédia, internet,…) que je trouvais pourtant comme étant une force de gnome. Point positif par contre : il me propose des applications que je pourrais installer, mais (il y a toujours un mais) seulement depuis le raccourci « application » dans la barre verticale (redondance inutile par rapport au lanceur sur l’icône ubuntu).

Recherche d'applications

ALT+F2 m’ouvre le menu application alors que sous shell, il m’ouvrait le lanceur habituel (l’autocompletion a disparue par contre). Unity est mieux si je veux lancer une application existante (plus cohérent) mais je ne peux plus faire de commande spécifique sans passer par un terminal (snif plus de « free the fish »).
Le mode workspace permet de voir les 4 workspaces (utile quand on a beaucoup d’applications) et de voir les fenêtres ouvertes sur un bureau, mais plus moyen de les réorganiser comme sous shell.

La gestion des fenêtres

Sous shell, la gestion des fenêtres est un peu perturbante. Plus de boutons minimiser et maximiser, plus de liste des fenêtres actives, par défaut pas plus d’une instance d’un programme (sauf si bouton droit>nouvelle fenêtre). Un changement assez fort que j’ai perçu comme une limitation.
Étonné de ces choix, je me suis renseigné du pourquoi de cette décision et après lecture des explications d’un développeur j’ai un peu changé d’avis. Il faut comprendre que la gestion de fenêtre ne repose plus sur la même logique que celle dont on était habitué dans les précédentes versions de gnome. Un programme par tâche, on arrange ses programmes sur les différents bureaux (qui se créent au fur et à mesure que l’on met des applications dessus). Comme il n’y a pas de liste de fenêtre, il serait illogique de minimiser une fenêtre, on a l’impression qu’elle a été fermée alors qu’elle existe toujours. Pour maximiser il suffit de déplacer la fenêtre dans un coin de l’écran (haut pour maximiser complètement, cotés pour prendre un demi-écran, façon Windows Seven), assez agréable et pratique si on veut passer à du touchscreen.
Le dossier ~/Bureau est devenu un simple dossier, son contenu n’apparaît plus, il est prévu de ne même plus exister. Bon d’un coté ce n’était que du brol qu’on mettait sur le bureau (virtuel comme réel soit dit en passant) mais passer par nautilus prend plus de temps.

Visualisations de toutes les fenêtres

Avec Unity, on ne peut s’empêcher de penser à Mac OsX. Le menu a été placé dans la barre de tâches supérieure. On apprécie ou non, c’est différent. Cela permet de minimiser la taille prise par une fenêtre et de se focaliser uniquement sur la tâche offerte par le programme. Fort bien réussi à mon avis. Comme sur gnome shell, une fenêtre à la fois, mais à l’exception qu’il est ici plus difficile d’en ouvrir une deuxième (si le programme permet dans menu fichier > nouvelle fenêtre). Si deux sont ouvertes, un double clic sur l’icône permet de montrer les deux, façon gnome shell, assez agréable. La liste de fenêtre est mélangée avec les raccourcis dans la barre verticale, pas mal, mais dès qu’on a trop d’applications ouvertes (ce qui arrive très vite), on se retrouve avec un menu déroulant…
Ici le dossier ~/Bureau a le comportement habituel.

Visualisation de tous les bureaux

Intégration

Voyons un peu comment les applications s’intègrent dans l’interface.
Sous shell c’est très beau. Les applications de base passent très bien, le chat sous pidgin apparaît dans le bas de l’écran me permettant de voir et même répondre aux messages sans ouvrir la fenêtre. J’ai toute une série d’info qui apparaissent en bas de mon écran, moins intrusif que les notify-send sous Ubuntu.

Notifications en bas de l'écran

Sous unity, comme je le mentionnais plus haut, les menu de fenêtres sont très bien intégré dans la barre de tâche façon mac. Mais si on passe ça, je n’ai rien remarqué de fort différent.

Au passage de la souris, les menus apparaissent

Personnalisation

Bon maintenant que j’ai un peu joué, j’aimerais changer quelques trucs pour mieux avoir quelque chose qui me correspond mieux.
Changer le fond d’écran sous Unity se fait facilement d’un clic droit. Sous shell par contre, je suis obligé d’aller chercher le programme (« desktop » me le trouve, dommage que « wallpaper » non).
Même chose pour changer le thème. Le sélecteur de thème existe toujours sous Unity, mais plus sous shell. Pour changer de thème, il faut modifier celui existant (et il n’y a pas moyen de base sans passer par les fichiers de config). Bon c’est du css donc ça permet de faire facilement ce qu’on veut mais quand même, « love it or leave it » c’est pas très sympa. Notons quand même que je trouve shell plus beau que le thème gtk classique avec unity.

Le menu de raccourcis d’applications est facilement personnalisable avec gnome 3. Comme pour maximiser les fenêtres, on fait ce qu’on veut à coup de drag&drop. J’aime la cohérence. Pour supprimer, un simple clic droit sur l’icône. Sous Unity par contre, j’ai cherché longtemps avant de me rendre compte qu’une fois une application ouverte (et donc présente dans la barre verticale), il y avait la possibilité de faire clic droit>keep in launcher. Le drag&drop aurait été apprécié.

Conclusion et remarques diverses

Les deux systèmes ont du bon et du mauvais. Visuellement, les deux sont assez réussi avec une préférence pour gnome-shell (mais c’est personnel). Le minimalisme est mis en avant sur les deux pour se focaliser sur une tâche quand on en a besoin.

Sous Shell je n’arrive pas à comprendre la logique de certaines choses. J’ai du chercher sur internet avant de trouver que pour éteindre ou redémarrer mon système, j’avais besoin d’appuyer sur la touche ALT en ouvrant le menu pour voir apparaître le bouton « shutdown » (waw je l’aurais pas deviné tout seul) ! Rien de plus frustrant que des choses comme ça. Le fait de ne pas voir la barre de raccourcis n’est pas très pratique. Pour moi il est important de faire les tâches importantes (comme lancer ses applications favorites) rapidement. Et avec shell, j’ai besoin d’un clic ou mouvement en plus. Gnome shell ne brille pas non plus par sa personnalisation. Je dois assez rapidement allez fouiller dans les fichiers de configs qui demandent l’accès root.

Sous Unity, le lanceur d’application est clairement problématique. C’est un produit qui demande pas mal d’amélioration pour retrouver ses logiciels facilement. La barre verticale est trop vite surchargée ce qui rend la gestion des programmes ouverts plus difficile. J’aime bien l’intégration des fenêtres, mais ça ne suffit pas à me faire adopter l’interface.

En soit gnome shell chamboule plus les habitudes. J’ai l’impression qu’avec 2, 3 tweaks on arriverait à obtenir de unity quasiment la même interface que celle dont on a l’habitude. Et malheureusement pour eux, ces changements ont encore des lacunes. Unity est sorti, trop tôt je pense. D’ici Ubuntu 11.10, espérons que la plupart des défauts aient été corrigés.
Gnome 3 n’est pas exempt de défaut, loin de là. Seulement après avoir joué un peu avec et compris la logique qu’il y a derrière les choses, je l’apprécie beaucoup plus. Il est important de ne pas essayer d’obtenir ce dont on a l’habitude, sinon on arrivera à un blocage. Les choses sont fluides et naturelles (essayer ATL+TAB sous les deux et vous comprendrez). L’affichage de toutes les fenêtres en appuyant sur la touche windows est rapide et très pratique. Je ne regrette pas d’avoir attendu si longtemps, mais espère que le développement va continuer (parce qu’il en a besoin) et qu’une plus grande personnalisation sera autorisée. « Love it or leave it » j’ai dit plus tôt. Et bien, je le garde !

Vus : 9429
Publié par mart-e : 65