Ceci est une ancienne révision du document !
Personnaliser l'arrière-plan de GDM
GDM est le gestionnaire de sessions de l'environnement GNOME et son bureau GNOME Shell.
Son arrière-plan par défaut est (selon les versions) soit gris avec une légère texture, soit violet uniforme. Ce n'est pas forcément très chaleureux, on va donc voir comment modifier cet arrière-plan.
- Avoir sauvegardé une version originale des données que vous modifiez ;
- Avoir la version concernée par la partie que vous appliquez ;
- Ne pas faire la moindre faute de frappe.
Les mises à niveau, voire les mises à jour, risquent par ailleurs de réinitialiser vos configurations.
Depuis la version GNOME 3.16, les thèmes de GNOME Shell (et donc de GDM) sont stockés dans des fichiers binaires (au format gresource). Il va donc falloir extraire le thème de ce fichier, le modifier, puis le recompiler.
Pré-requis
Ce tutoriel a été écrit et testé à partir d'installations d'Ubuntu 17.04 et 17.10 (GNOME Shell 3.24 et 3.26), les versions plus anciennes pourraient rencontrer des problèmes.
Les droits d'administrations seront nécessaires afin d'utiliser la commande sudo.
L'image à mettre en arrière-plan doit être au format .png
(et si possible ne pas contenir de transparence).
Remarques à propos du thème utilisé
À partir d'Ubuntu 17.10, le thème de GDM est modifié par les développeurs d'Ubuntu afin d'assurer une cohérence visuelle avec la session "Ubuntu" par défaut1).
update-alternatives --config gdm3.css
Choisissez alors gnome-shell.css
en tapant le numéro adéquat.
En fonction de si vous utilisez ou non un GDM "violet-orange", les manipulations peuvent différer ; ce sera signalé en tant voulu dans le tutoriel.
Si votre GDM est violet-orange
L'image
En tant qu'administrateur, renommez votre image noise-texture.png
, puis copiez-la telle qu'elle soit à l'emplacement /usr/share/gnome-shell/theme/noise-texture.png
(vous pouvez accéder aux privilèges d'administration en faisant précéder le chemin de "admin:" dans le navigateur de fichiers).
Le fichier CSS
Puis en tant qu'administrateur, éditez le fichier /usr/share/gnome-shell/theme/ubuntu.css
pour que la section #lockDialogGroup
corresponde bien à :
#lockDialogGroup { background: #2e3436 url(/usr/share/gnome-shell/theme/noise-texture.png); background-repeat: no-repeat; }

Vous devrez sans doute spécifier la résolution de GDM - ce n'est pas forcément celle de l'image - avec le paramètre ci-dessous à ajouter à la section #lockDialogGroup
(bien sûr, [WIDTH] et [HEIGHT] sont à remplacer par vos valeurs) :
background-size: [WIDTH]px [HEIGHT]px;
Si votre GDM est gris-bleu
Extraire le thème utilisé
Pour extraire le thème par défaut, vous pouvez utiliser le script extractgst.sh
suivant :
#!/bin/sh workdir=${HOME}/shell-theme if [ ! -d ${workdir}/theme ]; then mkdir -p ${workdir}/theme fi gst=/usr/share/gnome-shell/gnome-shell-theme.gresource for r in `gresource list $gst`; do gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/} done
Exécutez ce script.
Modifier le thème
Après avoir exécuté le script, ouvrez le répertoire shell-theme
créé dans votre dossier personnel. Vous devriez y trouver, dans un dossier theme
, les fichiers du thème qui ont été extraits.
L'image
Renommer votre image de fond d'écran en noise-texture.png
, puis copiez-la dans le dossier shell-theme
(écrasez l'ancienne version).
Le fichier XML
Ensuite vous devez créer, toujours dans ce répertoire, le fichier gnome-shell-theme.gresource.xml
avec le contenu suivant :
<?xml version="1.0" encoding="UTF-8"?> <gresources> <gresource prefix="/org/gnome/shell/theme"> <file>calendar-arrow-left.svg</file> <file>calendar-arrow-right.svg</file> <file>calendar-today.svg</file> <file>checkbox-focused.svg</file> <file>checkbox-off-focused.svg</file> <file>checkbox-off.svg</file> <file>checkbox.svg</file> <file>close-window.svg</file> <file>close.svg</file> <file>corner-ripple-ltr.png</file> <file>corner-ripple-rtl.png</file> <file>dash-placeholder.svg</file> <file>filter-selected-ltr.svg</file> <file>filter-selected-rtl.svg</file> <file>gnome-shell.css</file> <file>gnome-shell-high-contrast.css</file> <file>logged-in-indicator.svg</file> <file>no-events.svg</file> <file>no-notifications.svg</file> <file>noise-texture.png</file> <file>page-indicator-active.svg</file> <file>page-indicator-inactive.svg</file> <file>page-indicator-checked.svg</file> <file>page-indicator-hover.svg</file> <file>process-working.svg</file> <file>running-indicator.svg</file> <file>source-button-border.svg</file> <file>summary-counter.svg</file> <file>toggle-off-us.svg</file> <file>toggle-off-intl.svg</file> <file>toggle-on-hc.svg</file> <file>toggle-on-us.svg</file> <file>toggle-on-intl.svg</file> <file>ws-switch-arrow-up.png</file> <file>ws-switch-arrow-down.png</file> </gresource> </gresources>
Le fichier CSS
Ouvrez le fichier gnome-shell.css
pour vérifier que la section #lockDialogGroup
correspond bien à :
#lockDialogGroup { background: #2e3436 url(noise-texture.png); background-repeat: no-repeat; }
Vous devrez sans doute spécifier la résolution de GDM - ce n'est pas forcément celle de l'image - avec le paramètre ci-dessous à ajouter à la section #lockDialogGroup
(bien sûr, [WIDTH] et [HEIGHT] sont à remplacer par vos valeurs) :
background-size: [WIDTH]px [HEIGHT]px;
Compiler
Enfin, ouvrez un terminal pour recompiler votre thème avec les commandes suivantes :
cd ~/shell-theme glib-compile-resources gnome-shell-theme.gresource.xml
more-results.svg
, ajoutez la ligne suivante au milieu du fichier XML précédemment créé :
<file>more-results.svg</file>
Puis recompilez.
Mettre le thème en place
Il ne vous reste plus qu'à copier dans /usr/share/gnome-shell
le ficher gnome-shell-theme.gresource
qui vient de se créer.
cp /usr/share/gnome-shell/gnome-shell-theme.gresource ~/shell-theme/gnome-shell-theme.gresource.old
sudo mv ~/shell-theme/gnome-shell-theme.gresource /usr/share/gnome-shell
Redémarrer
Les modifications prendront effet au redémarrage de l'ordinateur.