Cet article décrit le peaufinage de l’environnement de bureau GNOME sur un poste de travail tournant sous CentOS. GNOME est le bureau par défaut proposé par Red Hat et CentOS, mais son apparence par défaut est quelque peu terne. Je me propose donc de rendre la configuration plus attrayante, afin d’obtenir un outil de travail qui donne envie de travailler avec.
Pour la procédure d’installation détaillé, on pourra consulter cet article.
-
- À la redécouverte de GNOME
- GNOME sans l’évier de la cuisine
- Installer le thème GTK Arc
- Installer le jeu d’icônes Elementary-Xfce
- Modifier le pointeur de la souris
- Arranger l’aspect du bureau
- Configurer le verrouillage de l’écran
- Configurer le terminal graphique
- Installer une panoplie d’applications
- Personnaliser les entrées de menu
- Modifier la taille du menu Applications
- Afficher les répertoires avant les fichiers
- Création du profil par défaut
- Conclusion
À la redécouverte de GNOME
Ma relation avec GNOME est un peu compliquée. J’ai successivement utilisé GNOME 2.8 sous CentOS 4, GNOME 2.16 sous CentOS 5 et GNOME 2.28 sous CentOS 6. Je peux affirmer que je connaissais très bien ce bureau, dans la mesure où j’avais même écrit une série de scripts de compilation pour une version allégée tournant sous Slackware.
Mon premier contact avec GNOME 3 a été un désastre. Si je me souviens bien, c’était un CD de Fedora 15 avec GNOME 3.0. Je l’ai installé sur une machine de test, et je me suis retrouvé “comme le boeuf devant la nouvelle porte de l’étable”, comme on dit dans mon Autriche natale. L’expérience utilisateur a été lamentable, et j’ai un vague souvenir que même les opérations les plus élémentaires comme fermer la session ou éteindre la machine me posaient un problème. Je me sentais comme la proverbiale Madame Michu devant un bureau Windows 8. Le CD d’installation a carrément fini à la poubelle, et depuis ce jour, je m’étais juré de ne plus jamais toucher de près ou de loin à un bureau GNOME. À en juger d’après ce qui se disait dans les forums et sur les mailings lists, je n’étais pas le seul.
Et puis les années ont passé, et j’ai utilisé tout sauf GNOME, c’est-à-dire KDE, Xfce et MATE. La semaine dernière, j’ai expérimenté avec l’intégration de Compiz et Xfce. Je venais d’installer CentOS 7 sur mon nouveau petit portable 12″ Dell Latitude, et j’aurais bien voulu intégrer Compiz pour obtenir un effet d’exposé des fenêtres avec la souris. Le résultat, c’était un après-midi d’arrachage de cheveux, parce que visiblement Compiz et Xfce n’arrivaient pas à se mettre d’accord sur le nombre de bureaux virtuels et se tiraient mutuellement dans les pattes.
Sur une de mes machines de test, j’avais une installation standard de CentOS 7 avec un bureau GNOME 3.22. Elle semblait me faire de l’oeil, et j’ai donc commencé à jouer un peu avec cette installation. J’ai même parcouru l’excellente documentation en ligne, et au bout d’une demi-heure, je me suis dit que c’était probablement ce qu’il me fallait. J’ai donc sorti mon carnet de notes, et j’ai passé deux journées entières à expérimenter avec GNOME sous CentOS. Pour anticiper un peu sur la conclusion, ça tourne désormais sur mon portable, et j’adore travailler avec. C’est peut-être comme dans la vie, où les meilleures amitiés – et même les amours – passent par une phase d’antipathie initiale. Allez donc comprendre.
GNOME sans l’évier de la cuisine
L’installation par défaut de GNOME sous CentOS 7 comporte déjà toute une panoplie d’applications et d’assistants de configuration, même lorsqu’on n’a pas coché les groupes de paquets Applications Internet et autres. Lors de la première connexion à la session, on a droit à un assistant de connexion aux comptes Google et autres, et une fois qu’on est passé par tout ça, on a droit à un tutoriel vidéo GNOME qui vous saute à la figure, littéralement. Bref, c’est ce que les anglophones appellent une kitchen sink install, l’équivalent de ce que l’on obtient lorsqu’on installe l’évier de la cuisine sur notre machine.
On va donc tenter une approche plus minimale, et on va partir d’une installation qui comporte le serveur graphique X Window, et c’est tout. Le bureau GNOME est normalement fourni par le groupe de paquets GNOME Desktop
. L’installation de ce groupe récupère pas moins de 750 paquets avec un poids total de 550 Mo. Au lieu de cela, nous allons simplement faire ceci.
# yum install gnome-classic-session gnome-terminal xdg-user-dirs
Cette dernière commande récupère 140 paquets avec un poids de 60 Mo, et nous nous retrouvons avec un bureau GNOME réduit à son minimum syndical.
# systemctl set-default graphical.target
La session GNOME Classic, c’est un mode particulier de l’environnement GNOME destiné à tous ceux pour qui le GNOME Shell brut de décoffrage constitue une expérience trop disruptive, et qui préfèrent un paradigme de bureau plus traditionnel, avec un menu Applications, un accès direct aux Emplacements divers et variés du système, etc.
Installer le thème GTK Arc
L’interface arbore le thème Adwaita par défaut, qui se présente de manière plus ou moins acceptable. J’ai expérimenté avec une série de thèmes GTK, et à mon humble avis, le thème Arc offre de loin le meilleur rendu. Il est fourni par le dépôt EPEL.
# yum install arc-theme
La nouvelle politique de GNOME depuis la version 3.0, celle pour laquelle les développeurs ont dû essuyer pas mal de critiques, c’est l’absence de toute possibilité de personnalisation, du moins dans la configuration par défaut. On a beau aller chercher dans les Paramètres, on reste quelque peu surpris par l’absence d’options pour le peaufinage de l’interface.
Toute personnalisation passe en effet par le GNOME Tweak Tool, qu’il faut donc installer au préalable.
# yum install gnome-tweak-tool
Une fois qu’il est installé, on peut lancer GNOME Tweak Took par le biais de l’entrée de menu Outil de personnalisation. Le thème GTK Arc pourra être défini dans l’onglet Apparence.
Installer le jeu d’icônes Elementary-Xfce
Le jeu d’icônes Elementary a été développé initialement pour Elementary OS, une distribution originale à l’esthétique extrêmement réussie. Malheureusement, les mainteneurs du jeu d’icônes initial ont décidé de “simplifier” la panoplie des icônes disponible, et il en résultait des jeux d’icônes incomplets. Elementary-Xfce est un fork du projet initial, qui vise à maintenir un jeu d’icônes complet pour Xfce. Malgré ce que son nom peut suggérer, il fonctionne également très bien sur d’autres environnements de bureau comme GNOME, MATE, Cinnamon ou Unity.
Sous CentOS, Elementary-Xfce est fourni par le dépôt Nux-Dextop.
# yum install elementary-xfce-icon-theme
Le jeu d’icônes Elementary-Xfce sera également défini dans l’onglet Apparence de l’Outil de personnalisation.
Avec le nouveau thème GTK et le jeu d’icônes, notre interface est déjà bien plus présentable. À titre d’exemple, voici le navigateur de fichiers Nautilus.
Modifier le pointeur de la souris
Le pointeur noir par défaut est un peu terne et pas très visible. Nous allons installer et configurer un thème plus visible et plus agréable à l’oeil.
# yum install bluecurve-cursor-theme
Là encore, on passera par l’onglet Apparence de l’Outil de personnalisation, en définissant le thème Bluecurve-inverse pour le Curseur.
Arranger l’aspect du bureau
Dans la configuration par défaut, le bureau arbore un accès rapide vers les fichiers et la corbeille. En ce qui me concerne, je trouve que ces icônes ne servent pas à grand-chose, à plus forte raison que l’on dispose déjà du menu Emplacements. En contrepartie, j’aime bien que mon bureau me montre des icônes pour les périphériques montés comme les clés USB, les disques durs externes, les caméras GoPro, etc.
Une fois que j’ai activé la gestion des Icônes sur le bureau dans l’Outil de personnalisation, je prends soin de décocher Dossier personnel, Serveurs réseau et Corbeille, tout en gardant Volumes montés.
Le fond d’écran est en mode Zoom dans la configuration par défaut, ce qui fait que le logo de CentOS est légèrement tronqué sur les écrans 4:3. Pour corriger cela, je passe le mode d’affichage à Stretched (étiré) pour l’arrière-plan aussi bien que pour l’écran de verrouillage.
Configurer le verrouillage de l’écran
L’intervalle par défaut pour la mise en veille et le verrouillage de l’écran est de 5 minutes, ce qui est un peu court. On va donc ouvrir les Paramètres à l’onglet Énergie et passer cet intervalle à 15 minutes, en notant au passage que les développeurs ne nous laissent pas trop le choix pour la durée.
Une fois qu’on a fait ça, on va ouvrir l’onglet Notifications et désactiver les Notifications sur l’écran de verrouillage. Lors de mes tests, j’ai eu l’occasion de découvrir un bug assez prohibitif qui gelait l’écran de verrouillage lorsqu’une notification s’affichait par-dessus. Cette configuration nous permettra donc d’éviter ce cas de figure gênant.
Configurer le terminal graphique
Étant donné que je passe la moitié de mon temps dans un terminal – voire une flopée de terminaux ouverts en même temps – j’apporterai un soin particulier à rendre son utilisation le plus agréable possible.
Je lance GNOME Terminal et l’ouvre Édition > Préférences du profil. Je donne un nom (Microlinux) à mon profil. J’augmente la taille par défaut de mon terminal à l’ouverture à 105 colonnes sur 38 lignes. Je désactive le bip du terminal pour pouvoir travailler sereinement. Et je définis Monaco 12 comme police personnalisée par défaut. Non, ce n’est pas une police TrueType libre. Je l’ai cannibalisée sur une installation de Mac OS X. Oui, je sais, c’est pas bien.
La prochaine étape consiste à configurer les jeux de Couleurs dans l’onglet correspondant. Ici, je définis les deux palettes respectives Solarizé sombre et Tango. J’active la transparence de l’arrière-plan, et je la règle à 10% environ. Nous aurons l’occasion d’y revenir un peu plus loin.
La barre de défilement ne me sert pas à grand-chose dans mon terminal, étant donné que je me sers exclusivement des raccourcis clavier pour faire défiler l’affichage. Je la désactive donc en conséquence.
L’éditeur dconf me permet de peaufiner davantage la configuration de mon terminal.
# yum install dconf-editor
Je lance l’éditeur dconf, et j’ouvre la section org > gnome > terminal > legacy
. Le booléen confirm-close
me permet de désactiver la confirmation avant la fermeture du terminal.
Enfin, c’est ici que je peux définir la transparence de l’arrière-plan avec plus de précision. On notera encore l’organisation quelque peu chaotique des options de configuration.
Au final, voilà notre terminal graphique dans sa nouvelle configuration.
Installer une panoplie d’applications
Dans l’état actuel des choses, mon bureau n’est pas très fonctionnel, étant donné qu’il est juste composé d’un gestionnaire de fichiers et d’un terminal graphique. Je vais donc installer une série d’applications. Voici ma sélection de favoris.
- Internet & réseau : Mozilla Firefox, Chromium, Mozilla Thunderbird, Pidgin, Filezilla, Vinagre, client OwnCloud
- Bureautique : LibreOffice, Evince, PDFChain, panoplie raisonnablement complète de polices TrueType
- Graphisme : Eye Of Gnome, Gthumb, GIMP, GNOME Screenshot, Inkscape, LibreCAD, Scribus, Simple Scan, Gtkcdlabel
- Multimédia : Audacious, VLC, MPlayer, Asunder, HandBrake, Openshot, Audacity, WinFF, panoplie raisonnablement complète de codecs et de plugins
- Accessoires : Brasero, CherryTree, Conky, Gedit, GNOME Calculator, File Roller, Recoll, documentation GNOME
Je ne rentre pas dans les détails et le peaufinage de chacun de ces composants. Cela fera prochainement l’objet d’un article à part.
Personnaliser les entrées de menu
Cela fait longtemps que j’ai pris l’habitude de personnaliser les entrées de menu de mes postes de travail tournant sous Linux, dans le but de les rendre plus intuitives pour mes utilisateurs. Je dispose pour cela d’un petit script menus.sh
qui remplace les fichiers *.desktop
dans /usr/share/applications
par des versions personnalisées. Voilà à quoi ressemble ce script dans sa version actuelle.
#!/bin/bash # # menus.sh # # Ce script remplace les entrées de menu GNOME par défaut par une # panoplie d'entrées de menu personnalisées. # # (c) Niki Kovacs, 2018 CWD=$(pwd) ENTRIESDIR=$CWD/config/menus ENTRIES=`ls $ENTRIESDIR` MENUDIRS="/usr/share/applications" echo echo ":: Configuration des catégories de menu." cat $ENTRIESDIR/gnome-applications.menu.custom > \ /etc/xdg/menus/gnome-applications.menu for MENUDIR in $MENUDIRS; do for ENTRY in $ENTRIES; do if [ -r $MENUDIR/$ENTRY ]; then echo ":: Configuration de l'entrée de menu $ENTRY." cat $ENTRIESDIR/$ENTRY > $MENUDIR/$ENTRY fi done done # L'entrée de menu pour OpenJDK est une cible mouvante OPENJDK=$(find /usr/share/applications -name 'java*jdk*.desktop') if [ ! -z "$OPENJDK" ]; then if ! grep -q "NoDisplay" "$OPENJDK" ; then echo "NoDisplay=true" >> $OPENJDK echo ":: Configuration de l'entrée $(basename $OPENJDK)." fi fi
J’exécute ce script de temps en temps, notamment lorsqu’une mise à jour vient écraser l’entrée de menu personnalisée.
La particularité de GNOME, c’est que certaines applications disposent d’une entrée dans le fichier /etc/xdg/menus/gnome-applications.menu
. Si l’on souhaite personnaliser ces entrées, il faudra supprimer la mention correspondante dans ce fichier.
J’en ai profité au passage pour apporter un peu plus de cohérence dans l’organisation des catégories de menu pour éviter le flou artistique et les redondances dans des catégories comme Accessoires, Utilitaires, Outils système et Autres.
La personnalisation des menus sera abordée plus en détail dans mon prochain article.
Modifier la taille du menu Applications
Les dimensions du menu Applications sont apparemment codées en dur. Or, à partir du moment où l’on dispose d’une certaine quantité d’applications dans une catégorie, la longueur de la liste déborde sur la hauteur du menu, qui affiche désormais un curseur interne pas très esthétique. La solution idéale consisterait donc à augmenter la taille du menu.
Étant donné qu’il s’agit d’une extension, je suis allé regarder dans /usr/share/gnome-shell/extensions
. Le répertoire au nom barbare apps-menu@gnome-shell-extensions.gcampax.github.com
contient les fichiers qui définissent le menu Applications, notamment le fichier extension.js
. Jetons un oeil dans ce fichier, vers la ligne 30.
const MENU_HEIGHT_OFFSET = 132;
J’ai expérimenté un peu, et j’ai augmenté cette valeur de 132
à 200
. Notez qu’il est nécessaire de fermer la session et de se reconnecter pour que les modifications prennent effet.
Il en va de même pour la largeur du menu Applications. Certaines applications ont des noms relativement longs dans la traduction française, comme par exemple le Visionneur de documents Evince. Dans l’aspect par défaut du menu, l’entrée de menu se retrouve tronquée à “Visionneur de doc…“, ce qui n’est pas très esthétique.
Pour élargir le menu un tout petit peu, il faudra regarder vers la fin du fichier extension.js
, aux alentours de la ligne 690.
this.mainBox.style=('width: 35em;');
Il suffit d’augmenter cette valeur légèrement à 37em
pour que les noms des applications s’affichent en entier.
Voici comment se présente dorénavant le menu Applications revu et corrigé.
Afficher les répertoires avant les fichiers
Dans la configuration par défaut, Nautilus affiche tout le contenu d’un répertoire par ordre alphabétique sans faire la distinction entre les répertoires et les fichiers, ce qui est quelque peu déroutant.
Ce comportement peut être corrigé dans l’éditeur dconf, dans la section org > gtk > settings > file-chooser
. Le booléen sort-directories-first
permet d’afficher les répertoires en premier.
Création du profil par défaut
GNOME enregistre tous les réglages individuels dans ~/.config/dconf/user
. Il suffit de copier cette arborescence vers /etc/skel
avant de créer un nouvel utilisateur.
# tree -a /etc/skel/.config/ /etc/skel/.config/ └── dconf └── user
Conclusion
Nous arrivons au bout de la personnalisation du bureau GNOME. Le résultat est un environnement de bureau fonctionnel et esthétique.
Certaines fonctionnalités – comme ici l’exposé des fenêtres avec un geste de la souris – sont aussi pratiques au quotidien que jolies à voir.
Bonjour,
Très intéressant. Cet article m’a bcp aidé.
Merci infiniment.