Migrer vers MATE sous CentOS 7 (1)

MATE logoIl y a quelque temps, j’ai découvert l’environnement de bureau MATE, et j’en suis assez ravi. C’est un bureau Linux léger et sans histoires, qui a repris le concept de GNOME 2.32 comme point de départ pour apporter des améliorations par petites touches incrémentales et sans grands bouleversements. En un mot, c’est la solution idéale pour tous ceux qui ont une préférence marquée pour les paradigmes de bureau classiques et non disruptifs.

Dans un précédent article, j’ai décrit l’élagage d’un système CentOS existant en vue d’une migration vers un autre environnement de bureau, par exemple. Il s’avère que dans certains cas, cette approche n’est pas très pratique. À titre d’exemple, ma machine principale est une station de travail tournant sous CentOS 7 avec le bureau KDE, et qui fait tourner un serveur web pour héberger en local une poignée de sites que je développe. Une opération d’élagage sur ce système me supprimerait mon serveur web, mes paquets PHP et mon serveur de bases de données, ce qui nécessiterait que je repêche mes configurations dans une forêt de fichiers .rpmsave. J’ai donc décidé de m’y prendre autrement pour passer cette machine de KDE à MATE.

En termes de matériel, il s’agit d’une station de travail HP Elite équipée d’une vieille carte graphique NVidia GT 210 et d’un double moniteur. La particularité à retenir pour cette machine, c’est que les pilotes NVidia fournis par le dépôt ELRepo ne fonctionnent pas, et j’ai donc dû mettre à jour le noyau et installer le pilote fourni par le constructeur, comme c’est décrit dans cet article. Avant toute chose, je récupère la dernière version en date du pilote pour ma carte, étant donné que la suite des opérations se déroulera en mode console.

# lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 
[GeForce 210] (rev a2)
# ls /root/nvidia/
NVIDIA-Linux-x86_64-340.106.run NVIDIA-Linux-x86_64-340.107.run

Étant donné que je m’apprête à supprimer l’environnement de bureau dans lequel je travaille, je prends soin de travailler en mode console.

# systemctl set-default multi-user.target 
# systemctl isolate multi-user.target

La machine a été installée depuis un DVD de CentOS, en sélectionnant le groupe de paquets KDE Plasma Workspaces. Curieusement, l’info ne se reflète pas dans les groupes de paquets.

# yum group list
Modules complémentaires chargés : fastestmirror, langpacks, ...
Aucun fichier de groupe n'est installé.

Qu’à cela ne tienne, je vais donc attaquer le remplacement de mon bureau de manière empirique, en supprimant d’abord une série de dépendances vitales de l’environnement graphique.

Je pars d’une installation qui compte près de deux mille paquets.

# rpm -qa | wc -l
1998

Je commence par supprimer “à la louche” mon bureau KDE. Notez que j’utilise l’option autoremove au lieu d’un simple remove. Cette option se charge de supprimer  les dépendances orphelines des paquets supprimés.

# yum autoremove kdelibs-common

Notez que je n’utilise pas l’option de confirmation automatique -y. Je prends soin de vérifier soigneusement les paquets supprimés avant de confirmer manuellement.

Au bout de l’opération, il ne reste plus grand-chose de mon environnement de bureau.

# rpm -qa | grep ^kde
kde-settings-pulseaudio-19-23.7.el7.centos.noarch
kde-wallpapers-4.10.5-2.el7.noarch
kde-filesystem-4-47.el7.x86_64
kdegraphics-strigi-analyzer-4.10.5-3.el7.x86_64
kdeartwork-wallpapers-4.10.5-4.el7.noarch
kde-l10n-4.10.5-2.el7.noarch
kde-settings-19-23.7.el7.centos.noarch
# yum autoremove kde*

Je supprime la bibliothèque graphique Qt ainsi que tout ce qui en dépend. Notez au passage que certaines applications ainsi que leurs dépendances devront être réinstallées par la suite. Notre souci actuel consiste à faire le ménage pour partir sur des bases saines, sans pour autant supprimer une série de paquets vitaux sur la machine.

# yum autoremove qt

Le gestionnaire de connexion GDM – utilisé à la place de KDM ou SDDM si l’on opte pour KDE – est un autre poids lourd des systèmes RHEL/CentOS. Nous lui préférons LightDM, et nous allons donc le supprimer ainsi que tout le fatras dont il dépend.

# yum autoremove gdm

Enfin, la suppression de la bibliothèque graphique libX11-common nous permet de jeter par-dessus bord tout ce qui ressemble à une application graphique sur la machine, pour ne garder que ce qui tourne en mode console.

# yum autoremove libX11-common

Le moment est venu de mettre à jour notre système réduit, si ce n’est déjà fait.

# yum update
# yum --enablerepo=elrepo-kernel update

Avant de redémarrer, on va s’assurer de disposer de tous les paquets nécessaires pour un système fonctionnel.

# yum group install "Core"

On croise les doigts et on redémarre.

# reboot

Éventuellement, on peut effectuer un petit état des lieux.

# rpm -qa | sort | less

Les profils KDE ne sont plus nécessaires.

# rm -rf /usr/share/kde4
# cd /etc/skel
# rm -rf .kde/ .local/ .winff/ .gtkcdlabelrc

On peut également faire le ménage dans les configurations.

# su - kikinovak
$ rm -rf .cache .config .kde .local .winff \
  .gtkcdlabelrc .gtkrc-2.0-kde4
$ exit

Je désactive les dépôts de paquets tiers pour les reconfigurer proprement un peu plus loin. Notez que la suppression du paquet epel-release entraîne automatiquement la suppression de nux-dextop-release.

# yum remove epel-release elrepo-release adobe-release
# rm -f /etc/yum.repos.d/*.rpmsave

À présent, je remplace mon script d’installation KDE par celui de MATE, et je le lance.

# cd
# rm -rf centos-7-desktop-kde
# git clone https://github.com/kikinovak/centos-7-desktop-mate
# cd centos-7-desktop-mate
# ./postinstall.sh

Une fois que MATE est installé, je récupère manuellement le profil pour mon utilisateur existant.

# cd /etc/skel
# cp -Rv .config/ .gtkcdlabelrc /home/kikinovak
# cd /home/kikinovak
# chown -R kikinovak:kikinovak .config/ .gtkcdlabelrc

Il ne me reste plus qu’à réinstaller proprement mon pilote NVidia. Avant d’attaquer ça, je fais un peu de ménage dans mes kernels.

# package-cleanup --oldkernels --count=1
# rm -rf /lib/modules/4.4.138-1.el7.elrepo.x86_64/

J’installe le pilote NVidia manuellement, je redémarre en mode console et je lance un premier test.

# systemctl isolate graphical.target

Une fois que je suis satisfait du résultat, je définis le démarrage en mode graphique.

# systemctl set-default graphical.target

L’état actuel du bureau est assez propre, et l’opération a réussi. Je vais passer les jours à venir à arrondir les angles et peaufiner plein de petits détails.

Migration MATE

 

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

2 réponses à Migrer vers MATE sous CentOS 7 (1)

  1. Thimothée JODIN dit :

    Bonjour, super tuto, je l’ai installé sur mon lenovo x240 avec votre script d’installation. Par contre il manque le paquet pulseaudio pour afficher l’applet son dans la barre des tâches, serait t’il possible de compiler mate-tweak pour Centos

    • kikinovak dit :

      Bonjour Timothée,

      Effectivement, il manque pulseaudio et pavucontrol. Je m’en étais aperçu, mais j’ai oublié de l’ajouter dans l’article. J’avoue qu’après une semaine sous MATE, je suis revenu à Xfce, qui est bien mieux fichu sous certains aspects. Sous le capot, c’est bien plus propre.

      Nicolas

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.