[Tech/Doc] Ma configuration d'Unity

Message 1, par Elzen

§ Posté le 12/02/2013 à 18h 53m 52

Coder mon propre environnement ne m'empêche pas d'apprécier ceux des autres. En l'occurrence, Unity, l'environnement de base d'Ubuntu, est actuellement l'un de mes préférés… à la condition d'y apporter quelques petites retouches pour mieux correspondre à mon usage.

Je viens de récupérer une nouvelle machine à mon boulot, sur laquelle j'ai installé Ubuntu (Comme vous le savez j'utilise plutôt Debian sur mes machines persos, mais comme je suis susceptible de ne pas être le seul à utiliser celle-la, je préfère un truc un peu plus grand public, au cas où). Je note donc ici, autant pour le cas où elles vous intéresseraient que pour que moi je les retrouve rapidement la prochaine fois que j'en aurais l'occasion, les modifications que j'ai apporté sur cette machine.

Si quelqu'un a des informations susceptibles de corriger ou d'améliorer ce que je raconte là-dessous, n'hésitez pas à le signaler 😉


(Ah, et pour les Unity-haters qui passeraient éventuellement par là, je tiens à préciser que le troll n'est pas à sa place ici et sera impitoyablement modéré. Trollons si vous voulez, mais dans des endroits appropriés)


Quelques détails [details]

Vous me connaissez : j'ai du mal à me limiter à parler d'un truc sans faire les quelques mises au point qui s'imposent. En l'occurrence, un peu d'explications sur ce qu'est Unity, et d'où ça sort.

Jusqu'à il y a quelques années, l'environnement par défaut d'Ubuntu, comme celui de nombreux autres systèmes GNU/Linux, était GNOME, dans sa version 2. C'était un environnement « classique », que certains qualifiaient d'un peu vieillissant (le développement avait débuté en 2001, me semble-t-il).

Et puis, coup de théâtre : la fondation GNOME, en charge du développement du projet, a décidé de l'abandonner complètement, pour mettre en place une troisième version qui changeait radicalement. GNOME 3 est un environnement susceptible de proposer plusieurs interfaces (ou « shells ») différentes, en fonction du gestionnaire de fenêtres.

Le shell sur lequel travaille plus spécifiquement la fondation, à savoir GNOME-Shell, n'est plus du tout une interface classique (il est même un peu trop perturbant à mon goût ; mais c'est affaire de préférences personnelles), et n'est fourni que par le gestionnaire de fenêtres Mutter.

Or, Canonical, la société qui produit Ubuntu, utilise depuis plusieurs versions un autre gestionnaire de fenêtre, Compiz, dont elle a employé le développeur principal (voir précision de didrocks juste en dessous). Ils ont donc décidé de mettre en place leur propre shell pour GNOME 3, qui est, de mon point de vue, un compromis intéressant entre le classicisme et la nouvelle mode d'interfaces.

Unity, c'est donc GNOME 3. C'est une interface spécifique pour GNOME 3, qui permet, entre autres, d'utiliser Compiz plutôt que Mutter (c'est aussi un plugin de Compiz, comme GNOME-Shell est un plugin de Mutter). Ce n'est d'ailleurs pas le seul shell alternatif : on peut également citer Cinnamon, développé par les gens de Linux Mint (qui m'a, personnellement, beaucoup moins convaincu, mais là encore, ce n'est qu'un avis personnel).


Comme son nom l'indique, Unity se veut une interface unifiée, compatible avec tous types de supports. En pratique, cependant, le fait qu'elle soit en grande partie axée vers une utilisation au clavier la rend plus adaptée aux ordinateurs classiques (fixes ou portables) qu'aux « tablettes ». Ça tombe bien : je n'ai pas de « tablette ».

Pour quelques détails concernant les raccourcis claviers disponibles, utilisez la touche « super » (la touche de votre clavier qui dispose d'un logo ; communément (mais pas toujours) un logo Windows pour les ordinateurs non-assemblés par Apple), ça vous en affichera une liste.


Aspect général d'Unity [general]

Là où GNOME 2 utilisait deux panels, par défaut en haut et en bas, Unity en utilise toujours deux, mais en haut et à gauche, adaptation au fait que les écrans ont tendance à s'élargir. Elles ne sont malheureusement pas déplaçables pour l'instant (l'équipe de développement a préféré miser sur la stabilité plutôt que sur la personnalisation : plus il y a d'options, plus il y a de comportements spécifiques à mettre en place et à tester ; je suis plutôt bien placé pour savoir que ce n'est pas un travail simple).

Le panel de gauche s'appelle launcher, c'est-à-dire « lanceur ». Il contient en effet les boutons permettant de lancer les applications, qui servent également de barre des tâches. Il peut également contenir des boutons permettant de monter/démonter les périphériques externes (clefs USB…), ainsi que le bouton permettant de lancer le dash, dont je vous reparlerai dans un instant.

Le panel du haut vous affiche le nom de l'application actuellement active, les menus de celle-ci, et divers indicateurs, sur lesquels je reviendrai plus tard. Lorsqu'une fenêtre est maximisée, sa barre de titre, pour gagner de la place, se confond avec ce panel supérieur.

Le dash, c'est le menu « intelligent » d'Unity. Il fournit des icônes pour lancer les applications, mais surtout une barre de recherche permettant de chercher dans les différentes lens présentes. Pour plus de détails à son sujet, consultez la page dédiée à Unity sur la documentation francophone d'Ubuntu.


Puisque je vous parle ici de personnalisation, une note sur le launcher : l'ordre des icônes semble fixe au premier abord (quand on tente simplement un glisser-déplacer vers le haut ou vers le bas, elles viennent toutes d'un coup). Pour déplacer les icônes les unes par rapport aux autres, il faut d'abord soit maintenir un clic d'une certaine durée, soit glisser la souris vers la droite, pour détacher l'icône saisie des autres.

Quand vous ouvrez une nouvelle application, dont vous souhaitez voir l'icône conservée dans le launcher, un clic droit sur cette dernière vous propose cette option.


Remise des menus dans la fenêtre [menus]

La barre de menus en haut de l'écran, plutôt que dans leur fenêtre d'origine, était quelque chose que je n'appréciais pas du tout dans Aqua (l'environnement de Mac OS X) ; je n'ai pas changé d'avis à son sujet pour Unity.

À la limite, il serrait assez intéressant, pour des soucis de gain de place, de les mettre dans le panel lorsque la fenêtre est maximisée, mais si elle ne l'est pas, c'est, de mon point de vue, anti-ergonomique de devoir aller chercher les menus tout là-haut.

Malheureusement, ce comportement assez fin ne semble pas possible, en tout cas dans l'état actuel des choses : soit les menus sont externalisés au démarrage de l'application, soit ils ne le sont pas, sans passage de l'un à l'autre.


Il semble qu'il n'existe aucune option de configuration permettant d'activer ou de désactiver ce comportement. La manière « propre » de procéder, c'est de régler le contenu de la variable d'environnement « UBUNTU_MENUPROXY » (mettez à vide pour désactiver le déportage).

En ce qui me concerne, j'ai appliqué la méthode de bourrin : j'ai supprimé les paquets correspondants (à savoir, appmenu-gtk, appmenu-gtk3, appmenu-qt, firefox-globalmenu et thunderbird-globalmenu. Le déportage ne prenait pas en compte toutes les applications, de toute façon).


Notez que, lorsque les menus sont situés dans la barre globale, Unity permet d'y accéder au clavier, sans avoir à déplacer la souris, grâce au Hud. Consultez la page de documentation ci-dessus.


Thème graphique et barres de défilement [theme]

Je ne suis pas un grand fan du système de barres de défilement miniaturisées, avec poignée au survol, qui est utilisé par Ubuntu depuis un moment. Je préfère des bonnes vieilles barres de défilement classiques, à épaisseur fixe. Pour ça, la doc qu'on trouve sur le net habituellement conseille la méthode de bourrin (supprimer le paquet overlay-scrollbar et les lib- correspondants).

Pourtant, il existe une manière propre, avec le logiciel dconf-editor (à installer depuis les dépôts pour la 12.04), qui permet de ne désactiver ça que pour la session en cours. Il suffit de trouver la clef « org → gnome → desktop → applications → interface → ubuntu-overlay-scrollbar » et de la désactiver.


À part ça, je trouve le thème Ambiance (le thème par défaut d'Ubuntu) assez sympa, et assez adapté à Unity, mais j'aime bien changer un peu les couleurs, de temps en temps. Ça tombe bien : il existe, sur gnome-look.org, une suite de thèmes reprenant le thème Ambiance, mais en changeant un peu les couleurs. Associé aux thèmes d'icônes de gnome-colors (nom du paquet présent dans les dépôts), ça rend assez bien 😊 .

(Pour changer le thème graphique et quelques autres trucs de ce genre, le logiciel MyUnity (lui aussi dans les dépôts) est très pratique).


J'utilise également le thème Ambiance coloré pour l'apparence des barres de titres des fenêtres. À ce sujet, on peut aussi modifier la disposition des boutons avec dconf-editor. Personnellement, j'ai simplement rajouté le bouton du menu à droite, mais certains voudront peut-être, par exemple, inverser la disposition, ou autres.

La clef concernée est « org → gnome → desktop → wm → preferences → button-layout ».


Seuls regrets : ces thèmes ne colorent pas leurs scrollbars, une fois qu'elles sont remises à l'épaisseur normale, et n'affichent pas l'icône de la fenêtre sur son bouton de menu. J'aurais préféré. Ça se change relativement simplement en allant modifier le thème, mais 'flemme pour le moment.


Les effets de Compiz [effets]

Comme je l'ai dit, Unity, c'est Compiz. Tous les effets habituels de Compiz sont donc utilisables, de ceux qui font mal aux yeux à ceux qui sont vachement chouettes. Tous les plugins ne sont pas installés par défauts, mais il suffit de passer par le gestionnaire de paquets pour régler ça. Profitez-en pour installer le compizconfig-settings-manager, qui est le logiciel qui permet de régler ça correctement.


Fut une époque, un bug du CCSM faisait en sorte que, si l'on tentait d'activer la disposition en « cube » des bureaux (au passage, mathématiquement parlant, ça n'est absolument pas un cube, même si vous n'avez que quatre bureaux (les faces supérieures et inférieures ne sont pas utilisables), puisqu'ils ne sont pas carrés. Par contre, quel que soit votre nombre de bureaux (au dessus de deux), c'est un prisme, ce qui aurait aussi fait un joli nom pour ce plugin. Mais bon…), Unity se désactivait. Il suffisait d'aller le réactiver à la main et c'était réglé, mais bon, ce n'était pas chouette. Heureusement, le bug a été corrigé contourné.


On a tous nos configurations préférées, donc je ne détaille pas ; je sais à peu près retrouver ce que je veux dans le CCSM, et je suppose que vous aussi.


Adapter Nautilus [nautilus]

Généralement, sur mon bureau, je case deux choses : un fichier ou deux, pas plus, qui en fait ne me servent jamais, et les icônes de mes périphériques. Dans Unity, les icônes des périphériques sont dans le launcher, donc plus besoin de les avoir sur le bureau. Et les trois fichiers qui se battent en duel, pas vraiment besoin, en fait.

Par contre, j'aime bien, quand j'ai un nombre de bureaux fixe, qu'ils aient chacun leur arrière-plan différent. Ce que nautilus, le gestionnaire de fichiers de GNOME, qui gère aussi l'affichage du bureau, ne sait pas faire : pour lui, il n'y a qu'un seul arrière-plan, pour tous les bureaux. Sous Unity, j'ai donc tendance à vouloir désactiver l'affichage du bureau par Nautilus, pour ne pas avoir d'icônes du tout, mais laisser Compiz tracer lui-même les fonds d'écran.


Bon, là, c'est l'autre truc dont je ne suis pas entièrement satisfait : bien que je sache le truc possible, j'ai eu beau fouiller dconf-editor dans tous les sens, je n'ai pas trouvé la bonne option (à l'époque de GNOME 2, on utilisait gconf-editor, et ça se trouvait assez facilement, mais là, non).

J'ai quand même réussi à le faire, mais en utilisant un autre outil, gnome-tweak-tool. Il est présent dans les dépôts aussi, mais son installation provoque, en dépendance, l'installation de GNOME-Shell et d'autres trucs dont je ne veux pas.

J'ai donc installé ce logiciel, changé l'option (qu'on trouve très facilement, par contre, ce coup-ci), puis je l'ai supprimé avec tout ce qu'il m'avait ramené « en trop ». Pas le plus pratique. Si quelqu'un a une meilleure idée, j'écoute.

Il suffit, comme le signale didrocks, de passer par la clef « org → gnome → desktop → background → show-desktop-icons » dans dconf-editor.


En tout cas, une fois que Nautilus ne gère plus le bureau, l'icône « Bureau » dans les raccourcis du navigateur(1) de fichier ne sert plus à grand chose. Ça tombe bien, on peut la supprimer. Il suffit de retourner dans dconf-editor, et d'activer l'option située à « org → gnome → nautilus → desktop-is-home-dir ».

Pour les autres options utiles de Nautilus (activer la suppression sans passer par la corbeille, par exemple), ça se fait bien dans dconf-editor, mais aussi directement dans le panneau de configuration de Nautilus.


Choisir ses indicateurs [indicateurs]

Dans le panel supérieur se trouvent quelques « indicateurs » affichant, comme leur nom l'indique, des informations, et permettant aussi de faire quelques actions. On peut en ajouter plusieurs (une liste vous est proposée dans la documentation Ubuntu-fr, passez par le lien fourni plus haut pour trouver la bonne page). Par exemple, j'en ai ajouté un de suivi de flux RSS, mais je ne l'ai pas encore configuré.


Ce que je voulais dire surtout à ce sujet est qu'avoir mon nom complet affiché à l'écran en permanence, je trouve ça assez lassant, personnellement. Le bouton en question sert à changer de session utilisateur, ce qui ne m'est pas d'une grande utilité, puisque je suis présentement seul à utiliser la machine. J'ai donc choisi de virer complètement l'indicateur concerné ; ça se fait, encore une fois, avec dconf-editor, en désactivant l'option

« apps → indicator-session → user-show-menu ».

Pour ceux qui voudraient juste ne pas avoir leur nom, mais garder l'indicateur quand même, une autre option située au même endroit doit pouvoir faire ça.


Autre chose : ce panel contient aussi ce que l'on appelle habituellement le « system tray », soit les icônes fournies par diverses applications. Seulement, Unity fonctionne avec une « liste blanche » n'acceptant les icônes, par défaut, que de certaines applications. Il est possible de régler ça aussi, encore une fois avec dconf-editor, en réglant l'option située à « desktop → unity → panel → systray-whitelist » sur la valeur « ['all'] ».


Quelques mots sur les lens [lens]

Les différentes « lens » présentes dans le dash sont sélectionnables par les boutons situé en bas dudit dash. Si vous ne sélectionnez pas une lens précise, la recherche du dash est une recherche globale, qui va chercher dans toutes les lens disponibles.

Ce comportement a été l'objet de quelques débats assez houleux depuis l'ajout, dans la version 12.10 d'Ubuntu, d'une lens de recherche commerciale : faire une recherche dans le dash renvoie donc, par défaut, des résultats liés à cette recherche commerciale, ce qui est loin d'être du goût de tout le monde.


Encore une fois, cet article n'est pas dédié au troll, donc ne nous étalons pas sur ce point ; je signale simplement aux personnes intéressées qu'il est tout-à-fait possible de désactiver cette recherche commerciale de manière propre, sans avoir à désinstaller le paquet concerné (ce que vous pouvez tout de même faire si vous êtes allergiques à ce genre de chose). Il me semble que cette désactivation peut se faire depuis le panneau de configuration de base, sans avoir besoin d'aller fouiller dconf-editor, pour cette fois.

Cependant, j'ai installé la version précédente, la 12.04, parce que c'est une LTS(2), donc je n'ai pas pu aller vérifier où c'était exactement. Je vous fais confiance pour trouver si vous en avez besoin.


Il y a d'autres réglages à faire au niveau des lens, mais je n'ai pas vraiment cherché à détailler de ce côté. C'est un ordi secondaire de travail, donc tout ce dont j'ai besoin est déjà dans mon launcher, en général, je n'ouvre pas souvent le dash.


Message 2, par didrocks

§ Posté le 13/02/2013 à 11h 02m 48

Bon article Elzen! Je te fais quelques retours ;)

- "Compiz, dont elle emploie le développeur principal" -> Sam continue maintenant à plein temps ses études de droit, il n'est plus employé Canonical. Par contre, il continue de contribuer activement :) Nous avons un autre mainteneur de Compiz qui est à l'origine de la plupart des optimizations qui sont arrivées depuis 1.5 an.

- dconf-editor est installé par défaut depuis quantal ;)

- "Heureusement, le bug a été corrigé." -> en fait, pas vraiment, c'est juste qu'on dit que unity n'a plus de conflit. Le vrai bug ccsm subsiste. Personne ne l'a corrigé.

- De mémoire, la clef pour que nautilus ne dessigne plus le background est maintenant: org.gnome.desktop.background show-desktop-icons, à mettre à false.

- apps → indicator-session → user-show-menu -> c'est à faux par défaut depuis Quantal :)

- pour info, la liste blanche est supprimée de Raring, il n'y en aura plus (seules les applications Wine et Java continueront de s'afficher par défaut, vu qu'on n'a pas de bindings pour eux)


Merci encore pour cet article ;)

Message 3, par Elzen

§ Posté le 13/02/2013 à 11h 10m 44

De rien, merci à toi ^^


Je fais quelques rectifs dans l'article, donc 😉


Pour la clef show-desktop-icons, j'ai l'impression qu'elle est un peu « capriceuse » : je suis presque sûr d'avoir fait l'essai sans que ça ait changé quoi que ce soit ; mais par contre, maintenant, ça marche. Bon, j'avais peut-être juste fait une fausse manip'…

(Suite au décès inopiné de mon précédent serveur, je profite de mettre en place une nouvelle machine pour essayer de refaire un outil de blog digne de ce nom. J'en profiterai d'ailleurs aussi pour repasser un peu sur certains articles, qui commencent à être particulièrement datés. En attendant, le système de commentaires de ce blog n'est plus fonctionnel, et a donc été désactivé. Désolé ! Vous pouvez néanmoins me contacter si besoin par mail (« mon login at ma machine, comme les gens normaux »), ou d'ailleurs par n'importe quel autre moyen. En espérant remettre les choses en place assez vite, tout plein de datalove sur vous !)