Peaufiner la configuration de GNOME sous CentOS

GNOMECet 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.

GNOME

À 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.

confusionMon 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

robinetL’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.

GNOME

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.

GNOME Arc

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.

GNOME Elementary Xfce

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.

GNOME 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.

GNOME Bluecurve Inverse

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.

GNOME Bureau

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.

GNOME

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.

GNOME

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.

GNOME Terminal

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.

GNOME Terminal

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.

GNOME Terminal

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.

GNOME 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.

GNOME Terminal

Au final, voilà notre terminal graphique dans sa nouvelle configuration.

GNOME Terminal

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.

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.

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é.

GNOME menu Applications

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.

Nautilus répertoires

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.

GNOME

Certaines fonctionnalités – comme ici l’exposé des fenêtres avec un geste de la souris – sont aussi pratiques au quotidien que jolies à voir.

GNOME

 

 

 

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

Une réponse à Peaufiner la configuration de GNOME sous CentOS

  1. OULD AHMED dit :

    Bonjour,
    Très intéressant. Cet article m’a bcp aidé.

    Merci infiniment.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.