Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:changer_arriere_plan_gdm [Le 28/12/2020, 01:55]
90.89.131.112 [Extraire le thème utilisé]
tutoriel:changer_arriere_plan_gdm [Le 11/05/2025, 13:05] (Version actuelle)
Amiralgaby GDM 40 et supérieur
Ligne 1: Ligne 1:
-{{tag>Xenial ​fenêtre_de_connexion GNOME tutoriel}}+{{tag>Noble Focal fenêtre_de_connexion GNOME tutoriel}}
  
 ---- ----
Ligne 9: Ligne 9:
 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. 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.
  
-<note warning>​GDM n'a pas été conçu d'une manière facilement configurable. Les manipulations qui vont suivre sont par conséquent risquées pour votre système. Faites attention à :+===== Connaître sa version de GDM ===== 
 + 
 +exécutez la commande suivante 
 +  gdm3 --version 
 + 
 +===== Gnome 40 et supérieur (Ubuntu 24.04+) ===== 
 + 
 +Installez les paquets **[[apt>​gdm-settings,​libglib2.0-dev-bin]]** 
 +  sudo apt install gdm-settings libglib2.0-dev-bin 
 + 
 +Lancez gdm-settings. 
 + 
 +Dans l'​onglet "​Apparence",​ cliquer sur "​Type"​ pour choisir "​Image"​. 
 + 
 +Ensuite sélectionnez l'​image de fond d'​écran que vous souhaitez. 
 + 
 +==== Retirer/​changer le logo sur l'​écran de connexion ==== 
 + 
 +Dans l'​onglet "​Écran de connexion"​ basculer l'​option "​Activer le logo"​. 
 + 
 +Vous pouvez aussi choisir une image pour remplacer le logo. 
 + 
 +===== Gnome 3.x (Ubuntu < 24.04) ===== 
 +<note warning>​GDM ​version 3 n'a pas été conçu d'une manière facilement configurable. Les manipulations qui vont suivre sont par conséquent risquées pour votre système. Faites attention à :
   * Avoir sauvegardé une version originale des données que vous modifiez ;   * Avoir sauvegardé une version originale des données que vous modifiez ;
   * Avoir la version concernée par la partie que vous appliquez ;   * Avoir la version concernée par la partie que vous appliquez ;
Ligne 18: Ligne 41:
  
 Cette manipulation n'aura pas un rendu adapté sur les configurations avec plusieurs écrans.</​note>​ Cette manipulation n'aura pas un rendu adapté sur les configurations avec plusieurs écrans.</​note>​
 +<​note>​Il semble que les infos de cette page concerne la version Bionic 18.04 - voir [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22674056#​p22674056|ce message]] dans le forum\\
 +si vous cherchez à reconfigurer / réinitialiser GDM sur une 22.04 et ultérieure.</​note>​
  
-===== Pré-requis ====+==== Pré-requis ==== 
- +Ubuntu ​avec [[:GNOME]] en tant que gestionnaire de fenêtre.
-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]]. Les **droits d'​administrations** seront nécessaires afin d'​utiliser la commande [[:sudo]].
Ligne 27: Ligne 51:
 L'​image à mettre en arrière-plan doit être au format ''​.png''​ (et si possible ne pas contenir de transparence). L'​image doit être assez sombre (au moins en son centre) pour que les informations affichées par dessus soient lisibles. L'​image à mettre en arrière-plan doit être au format ''​.png''​ (et si possible ne pas contenir de transparence). L'​image doit être assez sombre (au moins en son centre) pour que les informations affichées par dessus soient lisibles.
  
-===== Remarques à propos du thème utilisé ​=====+<​note>​Pour connaître votre version de GDM tapez dans un [[:​terminal]]:​ <​code>​gdm3 --version</​code></​note>​ 
 + 
 +==== 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éfaut((https://​didrocks.fr/​2017/​09/​11/​ubuntu-gnome-shell-in-artful-day-11/​)). À 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éfaut((https://​didrocks.fr/​2017/​09/​11/​ubuntu-gnome-shell-in-artful-day-11/​)).
Ligne 37: Ligne 63:
 En fonction de si vous utilisez (ou non) un thème GDM "​violet-orange",​ les manipulations vont différer : En fonction de si vous utilisez (ou non) un thème GDM "​violet-orange",​ les manipulations vont différer :
  
-===== Si votre GDM est violet-orange ​=====+==== GDM 3.36 === 
 +=== Un script pour automatiser la modification de l'​écran de connexion === 
 +[[https://​github.com/​Amiralgaby/​ubuntu-change-gdm-background/​archive/​master.zip|Téléchargez le zip]] puis dézippez-le ou clonez le dépôt [[https://​github.com/​Amiralgaby/​ubuntu-change-gdm-background|ubuntu-change-gdm-background (GitHub)]]. 
 + 
 +L'aide d'​utilisation des scripts se trouve dans le fichier README.md ou sur la page du dépôt ci-dessus. 
 + 
 +== Ubuntu 20.04 == 
 +Vous pouvez lancer le script sans paramètre, alors, si vous possédez [[:yad]] ou [[:zenity]] ils pourront être utilisés pour sélectionner l'​image via une boîte de dialogue graphique. 
 +Ainsi, il suffit de lancer la commande avec sudo : 
 +  sudo ./​gdm-change-ubuntu20.04 
 + 
 +== Ubuntu 18.04 == 
 +Cette version utilise l'​outil de boîtes de dialogue [[:yad]] installez-le pour utiliser le script. 
 + 
 +== Cacher le filigrane == 
 +Sur l'​écran de connexion il y a un filigrane/​logo "​Ubuntu"​. 
 +Il peut être caché avec l'​option ''​cache-filigrane''​. 
 +  sudo ./​gdm-change-ubuntu20.04 --cache-filigrane 
 + 
 +L'​image sera redemandée,​ vous pouvez refuser et aucun changement d'​arrière-plan ne sera effectué. 
 +<​note>​Ce filigrane appartient au thème [[:​plymouth]] il n'​apparaîtra plus durant la phase de démarrage si elle est en mode graphique.</​note>​ 
 +[[https://​askubuntu.com/​questions/​1150894/​how-to-remove-change-ubuntu-logo-in-the-loging-page-ubuntu-19-04|Comment enlever le logo ubuntu de l'​écran de connexion]] **(en)**. 
 + 
 +== Restauration de l'​ancien thème == 
 +Une sauvegarde de l'​ancienne configuration est réalisée, pour la restaurer utilisez le même script que vous avez utilisé et ajoutez l'​option ''​restore''​. 
 +  sudo ./​gdm-change-ubuntu20.04 --restore 
 + 
 +==== Si votre GDM est violet-orange ====
  
 | {{ :​tutoriel:​gdm:​personnalisation-3-26.png?​direct&​600 |Exemple de résultat obtenu}} | | {{ :​tutoriel:​gdm:​personnalisation-3-26.png?​direct&​600 |Exemple de résultat obtenu}} |
 ^ Exemple de résultat obtenu (GDM 3.26) ^ ^ Exemple de résultat obtenu (GDM 3.26) ^
  
-==== L'​image ​====+=== L'​image ===
 Par défaut, l'​image utilisée par gdm est l'​image noise-texture.png du thème principal (par exemple /​usr/​share/​gnome-shell/​theme/​Yaru/​). Par défaut, l'​image utilisée par gdm est l'​image noise-texture.png du thème principal (par exemple /​usr/​share/​gnome-shell/​theme/​Yaru/​).
 Il est possible de la remplacer par une autre, renommée (en mode administrateur. Avec [[:​Wayland]],​ vous pouvez accéder aux privilèges d'​administration dans [[:​Nautilus]] en faisant précéder le chemin de "​admin:"​) noise-texture.png et placée dans le répertoire du thème d'​origine mais il est tout à fait possible de pointer vers une autre image présente sur le disque. Il est possible de la remplacer par une autre, renommée (en mode administrateur. Avec [[:​Wayland]],​ vous pouvez accéder aux privilèges d'​administration dans [[:​Nautilus]] en faisant précéder le chemin de "​admin:"​) noise-texture.png et placée dans le répertoire du thème d'​origine mais il est tout à fait possible de pointer vers une autre image présente sur le disque.
  
 Dans l'​hypothèse où vous décidez de ne pas modifier noise-texture.png,​ passez à l'​étape suivante une fois repérée l'​image choisie (au format png comme rappelé ci-dessus) et son chemin. Dans l'​hypothèse où vous décidez de ne pas modifier noise-texture.png,​ passez à l'​étape suivante une fois repérée l'​image choisie (au format png comme rappelé ci-dessus) et son chemin.
-==== Le fichier CSS ====+ 
 +=== Le fichier CSS ===
 Pour personnaliser l'​affichage,​ vous devez intervenir en en tant qu'​administrateur dans le fichier ''​css''​ de gdm. Suivant les versions d'​Ubuntu,​ il peut s'agir de : Pour personnaliser l'​affichage,​ vous devez intervenir en en tant qu'​administrateur dans le fichier ''​css''​ de gdm. Suivant les versions d'​Ubuntu,​ il peut s'agir de :
  
-^ Version ^ Nom du fichier ^ Remarque ^  +^ Version ^ Nom du fichier ^ Remarque ^ 
-|  [[:​17.10]] ​ | /​usr/​share/​gnome-shell/​theme/​ubuntu.css ​ |   | +|  [[:18.04]] | /​etc/​alternatives/​gdm3.css ​ |  |
-|  [[:​18.04]] ​ | /​etc/​alternatives/​gdm3.css  ​|   | +
-|  ​[[:​18.10]] ​ | /​etc/​alternatives/​gdm3.css ​ |   | +
-|  [[:​19.04]] ​ | /​etc/​alternatives/​gdm3.css ​ | Ce fichier est également accessible par un lien symbolique dans le répertoire /​usr/​share/​gnome-shell/​theme/​ voire /​usr/​share/​gnome-shell/​theme/​Yaru/ ​ | +
-|  [[:​19.04]] ​ | /​usr/​share/​gnome-shell/​theme/​gnome-shell.css | Selon les versions et les configurations,​ il faudra soit modifier ce fichier, soit le fichier gdm3.css. Testez les deux options. ​  |+
  
 Avant toute intervention,​ réalisez une copie de secours du fichier ''​css''​ d'​origine. En cas de problème, vous pourrez ainsi rétablir le système dans son état d'​origine : Avant toute intervention,​ réalisez une copie de secours du fichier ''​css''​ d'​origine. En cas de problème, vous pourrez ainsi rétablir le système dans son état d'​origine :
-<​code>​ +  ​sudo cp /​etc/​alternatives/​gdm3.css /​etc/​alternatives/​gdm3.css.anc
-usr@pc:​~$ ​sudo cp /​etc/​alternatives/​gdm3.css /​etc/​alternatives/​gdm3.css.anc +
-</​code>​+
  
-Vous devez éditer (avec un éditeur de texte, vim pour les amateurs de la ligne de commande mais gedit fait aussi bien les choses en mode graphique avec ''​sudo -H gedit /​etc/​alternatives/​gdm3.css''​) ​le fichier css pour faire correspondre (en remplaçant ''/​usr/​share/​backgrounds/​Aardvark_Wallpaper_Grey_4096x2304.png''​ par le chemin absolu de l'​image que vous avez choisie, ou par ''/​usr/​share/​gnome-shell/​theme/​noise-texture.png''​ si vous avez choisi de remplacer ce fichier par le votre) la section ''#​lockDialogGroup''​ à  :+Vous devez éditer (avec un éditeur de texte, vim pour les amateurs de la ligne de commande mais gedit fait aussi bien les choses en mode graphique avec 
 +  ​gedit admin:///​etc/​alternatives/​gdm3.css 
 +le fichier css pour faire correspondre (en remplaçant ''/​usr/​share/​backgrounds/​Aardvark_Wallpaper_Grey_4096x2304.png''​ par le chemin absolu de l'​image que vous avez choisie, ou par ''/​usr/​share/​gnome-shell/​theme/​noise-texture.png''​ si vous avez choisi de remplacer ce fichier par le votre) la section ''#​lockDialogGroup''​ à  :
  
 <file css>#​lockDialogGroup { <file css>#​lockDialogGroup {
Ligne 78: Ligne 128:
 <file css>​background-size:​ [WIDTH]px [HEIGHT]px;</​file>​ <file css>​background-size:​ [WIDTH]px [HEIGHT]px;</​file>​
  
-==== Un script pour automatiser la modification de l'​écran de connexion ==== 
-Un ubuntero belge propose sur son [[http://​c-nergy.be/​blog/?​p=11556|site]] en anglais un script permettant d'​automatiser ces modifications en mode graphique. Le script utilise le paquet [[:​yad|yad]] pour fonctionner. 
-<note warning>​je n'aime pas ce script : 
-   * il est loooong ; 
-   * il est mal écrit (il y a des déclarations de variables un peu partout, des commandes obsolètes/​peu pratiques, l'​ouverture d'une fenêtre yad pour indiquer qu'il faut installer ...yad 8O , etc.) ; 
-   * il mélange des sorties console et l'​emploi de yad (je ne comprends pas l'​utilité de yad : quand on est dans la console, on utilise la console.); 
-   * à cause de la préparation des belles fenêtres, la lecture des instructions est rendue plus ardue, et 
-cela masque l'​objectif réel du script : modifier l'​image de fond de GDM3. 
-</​note>​ 
-<code bash> 
-#!/bin/bash 
- lesFichiersCss=( "/​etc/​alternatives/​gdm3.css"​ "/​usr/​share/​gnome-shell/​theme/​gdm3.css" ​ "/​usr/​share/​gnome-shell/​theme/​Yaru/​gnome-shell.css"​ "/​usr/​share/​gnome-shell/​theme/​gnome-shell.css"​ ) 
- repDestImageDeFond="/​usr/​share/​backgrounds/"​ 
  
- if [[ "​${repDestImageDeFond:​ -1}" != "/"​ ]]; then #​ Chemin doit se terminer par / +==== Si votre GDM est gris-bleu ====
- repDestImageDeFond="​$repDestImageDeFond""/"​ +
- fi +
- +
-################################################################​ +
-# Script_Name : Modification-fond-d-ecran-Gdm-1.0.sh +
-# Description : Personnalisation du fond d'​écran de la fenêtre de connexion de GDM sur Ubuntu 19.04 +
-# Date : December 2017 - revu juillet 2019 +
-# écrit par : Griffon (traduit en français et un peu revu lors de sa publication sur le site ubuntu-fr.org) +
-# Web Site :​http://​www.c-nergy.be - http://​www.c-nergy.be/​blog +
-# Version : 1.0 +
-# Remarque importante : Ce script est mis à disposition sans aucune garantie, à utiliser à vos risques et périls.... +
-##################################################################​ +
- +
- +
-#​---------------------------------------------------#​ +
-# Étape 0 - Credits ....  +
-#​---------------------------------------------------#​ +
- +
-/bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
-/bin/echo -e "​\e[1;​32mModification-fond-d-ecran-Gdm-1.0.sh\e[0m"​ +
-/bin/echo -e "​\e[1;​32m"​$(basename "​$0"​)"​\e[0m"​ +
-/bin/echo -e "​\e[1;​32mwritten by Griffon - December 2017 - Version 1.0 - modifié juillet 2019 - Modification-fond-d-ecran-Gdm-1.0.sh\e[0m"​ +
-/bin/echo -e "​\e[1;​32mTraduit en français et un peu revu lors de sa publication sur le site ubuntu-fr.org\e[0m"​ +
-/bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
-echo +
- +
-#​---------------------------------------------------#​ +
-# Étape 1 - Vérification de la présence du paquet yad (zenity utilisé dans le script initial, yad est un "​fork"​ plus puissant) +
-#​---------------------------------------------------#​ +
-## ce n'est pas possible ## +
-## si yad n'est pas installé,​ +
-if [[ $(dpkg -s yad 2>/​dev/​null | grep Status | cut -d' ' -f4) != "​installed"​ ]] +
-then +
-## alors il n'est pas possible de l'​utiliser pour envoyer un message ! +
-  yad --image=error --title="​Installez le paquet yad" --text="​Le paquet <​b>​yad</​b>​ est nécessaire au bon fonctionnement de ce script.\n\nInstallez le paquet par <​b>​sudo apt-get install yad</​b>​\n\nArrêt du traitement. Erreur 10." +
- +
-  exit 10; +
-fi +
- +
-#​---------------------------------------------------#​ +
-# Étape 2 - Choix du fichier css à modifier +
-#​---------------------------------------------------#​ +
- # Index des fichiers +
- NombreDeFichiersPotentiels="​${#​lesFichiersCss[@]}"​ +
- if [[ "​$NombreDeFichiersPotentiels"​ -gt "​0"​ ]]; then +
- listeIndexFichiersPotentiels="​0"​ +
- compteur=1  +
- while [[ "​$compteur"​ -lt "​$NombreDeFichiersPotentiels"​ ]]; do  +
- listeIndexFichiersPotentiels="​$listeIndexFichiersPotentiels""​ ""​$compteur";​ +
- let "​compteur++";​  +
- done; +
- else +
- yad --image=error --title="​Aucun fichier à modifier"​ --text="​Aucun chemin de fichier css n'a été indiqué.\nArrêt du traitement.\nErreur 20." 2>/​dev/​null +
- exit 20; +
- fi +
- +
- #​ Constitution de la liste des éléments à afficher par yad  +
- ResultatAnalyse=""​ +
- for i in $listeIndexFichiersPotentiels;​ do +
- +
- if [[ -f "​${lesFichiersCss[$i]}"​ ]]; then +
- Present["​$i"​]="​0"​ +
- if [[ -L "​${lesFichiersCss[$i]}"​ ]]; then +
- FichierLien["​$i"​]="​0"​ +
- else +
- FichierLien["​$i"​]="​1"​ +
- fi +
- else +
- Present["​$i"​]="​1"​ +
- FichierLien["​$i"​]="​1"​ +
- fi +
- +
- if [[ "​$ResultatAnalyse"​ == ""​ ]]; then +
- ResultatAnalyse="​False ${lesFichiersCss[$i]} £${Present[$i]}£ £${FichierLien[$i]}£"​ +
- else +
- ResultatAnalyse="​$ResultatAnalyse False ${lesFichiersCss[$i]} £${Present[$i]}£ £${FichierLien[$i]}£"​ +
- fi +
- done +
- +
- ResultatAnalyse=$(echo "​$ResultatAnalyse"​ | sed '​s/​£1£/​Non/​g;​s/​£0£/​Oui/​g'​) +
- +
- #​ Affichage de la fenêtre de choix +
- Selection=$(yad --title="​Fichier CSS à modifier"​ --width 800 --height 200 --text-align="​center"​ --list --radiolist --column="​Sélectionné"​ --column="​Fichier"​ --column="​Présent sur le disque"​ --column="​Fichier lien" $ResultatAnalyse 2>/​dev/​null) +
- +
- # Abandon par l'​utilisateur #############​ +
- retour="​$?"​ +
- if [[ "​$retour"​ == "​1"​ ]] || [[ "​$retour"​ == "​252"​ ]] ; then +
- echo "​Arrêt. Traitement terminé. Erreur 30.";​ +
- yad --image=error --title="​Abandon"​ --text="​Vous avez abandonné.\nArrêt du traitement.\nErreur 30." 2>/​dev/​null +
- exit 30 ; +
- fi +
- ###########################################​  +
- +
- LeFichierCSS=$(echo "​$Selection"​ | cut -d'​|'​ -f2) +
- echo "Le fichier $LeFichierCSS sera modifié"​ +
- +
- #​ Contrôle de sécurité. Est-ce que le fichier existe ? +
- if [[ ! -e "​$LeFichierCSS"​ ]]; then  +
- echo "​Erreur dans le nom du fichier. $LeFichierCSS n'​existe pas. Arrêt du traitement. Erreur 40." +
- yad --image=error --title="​Abandon"​ --text="​$LeFichierCSS n'​existe pas.\nArrêt du traitement.\nErreur 40." 2>/​dev/​null +
- exit 40 ; +
- fi +
- +
-#​---------------------------------------------------#​ +
-# Étape 2 - Choix de l'​image retenue....  +
-#​---------------------------------------------------#​ +
- +
-echo +
-/bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
-/bin/echo -e "​\e[1;​32mChoix du fond d'​écran...En cours\e[0m"​ +
-/bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
-echo +
- +
- ImageDeFondOriginelle=$(yad --file --title="​Choisissez le nouveau fond d'​écran de la fenêtre de connexion"​ --filename="​$HOME/​.local/​share/​backgrounds/​*"​ 2>/​dev/​null) +
- +
- # Abandon par l'​utilisateur #############​ +
- retour="​$?"​ +
- if [[ "​$retour"​ == "​1"​ ]] || [[ "​$retour"​ == "​252"​ ]] ; then +
- echo "​Arrêt. Traitement terminé. Erreur 50.";​ +
- yad --image=error --title="​Abandon"​ --text="​Vous avez abandonné.\nArrêt du traitement.\nErreur 50." 2>/​dev/​null +
- exit 50 ; +
- fi +
- +
- echo "Le fond d'​écran choisi est : ""​$ImageDeFondOriginelle"​ +
- +
- ###########################################​  +
- +
- # Récupération du nom court du fichier +
- NomImageDeFond=$(basename $ImageDeFondOriginelle) +
- NomImageDeFond="​${NomImageDeFond%${NomImageDeFond:​ -4}}"​ +
- NomImageDeFond="​${NomImageDeFond%640x480}"​ +
- NomImageDeFond="​$NomImageDeFond""​640x480.png"​ +
- +
- if [[ -e "​$repDestImageDeFond$NomImageDeFond"​ ]]; then # Si une image du même nom existe déjà dans le répertoire de destination +
- echo "​$repDestImageDeFond$NomImageDeFond existe déjà."​ +
- index=0 +
- while [[ -e "​$repDestImageDeFond$NomPropose"​ ]]; do   +
- NomPropose=$(basename $ImageDeFondOriginelle) +
- NomPropose="​${NomPropose%${NomPropose:​ -4}}"​ +
- NomPropose="​${NomPropose%640x480}"​ +
- NomPropose="​$NomPropose""​640x480_""​$index""​.png"​ +
- let "​index++"​ +
- done +
- +
- yad --image=important --text="​Saisie incorrecte. Une image à ce nom existe déjà. Acceptez vous le nom suivant ? : \nEn cliquant sur <​connserver>​ l'​image existante sera utilisée en lieu et place de celle que vous avez sélectionnée à l'​étape précédente<​b>​$NomPropose</​b>"​ --title="​Modification du nom du fichier image" --width=500 --button="​Annuler"​\!gtk-no:​1 --button="​Conserver":​2 --button="​Accepter le nouveau nom"​\!gtk-ok:​0 2>/​dev/​null +
- # Abandon par l'​utilisateur #############​ +
- retour="​$?"​ +
- if [[ "​$retour"​ == "​1"​ ]] || [[ "​$retour"​ == "​252"​ ]] ; then +
- echo "​Arrêt. Traitement terminé. Erreur 60.";​ +
- yad --image=error --title="​Abandon"​ --text="​Vous avez abandonné.\nArrêt du traitement.\nErreur 60." 2>/​dev/​null +
- exit 60 ; +
- ###########################################​ +
- +
- elif [[ "​$retour"​ == "​0"​ ]] ; then # On n'​utilise pas une image existante +
- NomImageDeFond="​$NomPropose"​ +
- +
- elif [[ "​$retour"​ != "​2"​ ]] ; then #​ autre cas -> pb +
- echo "​Erreur yad. Erreur 70." +
- yad --image=error --title="​Erreur"​ --text="​Yad a rencontré un problème.\nArrêt du traitement.\nErreur 70." 2>/​dev/​null +
- exit 70 ; +
- fi +
- +
- NomCompletImageDeFond="​$repDestImageDeFond$NomImageDeFond"​ +
-  +
- fi +
- +
- #​ Contrôle de sécurité. Est-ce que le fichier existe ? +
- if [[ ! -e "​$ImageDeFondOriginelle"​ ]]; then  +
- echo "​Erreur dans le nom du fichier. $ImageDeFondOriginelle n'​existe pas. Arrêt du traitement. Erreur 80." +
- yad --image=error --title="​Le fichier n'​existe pas" --text="​$ImageDeFondOriginelle n'​existe pas.\nArrêt du traitement.\nErreur 80." 2>/​dev/​null +
- exit 80 ; +
- fi +
- +
-#​---------------------------------------------------#​ +
-# Étape 3 - Copie du fichier image dans le répertoire /​usr/​share/​background ($repDestImageDeFond) +
-# Je convertis en 640x480, c'est probablement inutile +
-#​---------------------------------------------------#​ +
- +
- if [[ "​$retour"​ != "​2"​ ]]; then #​ Evidemment si on utilise une image déjà présente, on saute l'​étape 3 +
- +
- echo +
- /bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
- /bin/echo -e "​\e[1;​32mCopie du fichier dans le répertoire $repDestImage...En cours\e[0m"​ +
- /bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
- echo +
- +
- sudo convert -geometry 640x480 "​$ImageDeFondOriginelle"​ "​$NomCompletImageDeFond"​ +
- if [[ "​$?"​ != "​0"​ ]]; then +
- echo "​Erreur convert. Erreur 90." +
- yad --image=error --title="​Erreur"​ --text="​Convert a rencontré un problème.\nArrêt du traitement.\nErreur 90." 2>/​dev/​null +
-   exit 90 ; +
- fi +
- +
- echo "​Conversion de $ImageDeFondOriginelle en $NomCompletImageDeFond"​ +
- +
- fi +
-#​---------------------------------------------------#​ +
-# Étape 4 - Mise à jour du fichier css +
-#​---------------------------------------------------#​ +
- +
- echo +
- /bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
- /bin/echo -e "​\e[1;​32mMise à jour du fichier $LeFichierCSS....En cours\e[0m"​ +
- /bin/echo -e "​\e[1;​32m###########################################################​\e[0m"​ +
- echo +
- +
- if [[ ! -e "​$LeFichierCSS""​.anc"​ ]]; then   # ​ Conservation de toutes les versions du fichier modifié +
- sudo cp "​$LeFichierCSS" ​ "​$LeFichierCSS""​.anc"​ +
- if [[ "​$?"​ != "​0"​ ]]; then +
- echo "​Erreur cp. Erreur 100."​ +
- yad --image=error --title="​Erreur"​ --text="​cp a rencontré un problème.\nArrêt du traitement.\nErreur 100." 2>/​dev/​null +
-   exit 100 ; +
- fi +
- echo "​Création du fichier de sauvegarde ""​$LeFichierCSS""​.anc"​ +
- else +
- i=0 +
- while [[ ! -e "​$LeFichierCSS""​.anc""​$i"​ ]]; do +
- let "​i+=1"​ +
- done +
- sudo cp "​$LeFichierCSS" ​ "​$LeFichierCSS""​.anc""​$i"​ +
- if [[ "​$?"​ != "​0"​ ]]; then +
- echo "​Erreur cp. Erreur 110."​ +
- yad --image=error --title="​Erreur"​ --text="​cp a rencontré un problème.\nArrêt du traitement.\nErreur 110." 2>/​dev/​null +
-   exit 110 ; +
- fi +
- echo "​Création du fichier de sauvegarde ""​$LeFichierCSS""​.anc""​$i"​ +
- fi +
- +
- sudo sed -i "/#​lockDialogGroup/​a background: #2c001e url(file://​${NomCompletImageDeFond});​\nbackground-repeat:​ no-repeat;​\nbackground-size:​ cover;​\nbackground-position:​ center;​\n}\nTexteAEffacerParLeScript"​ "​$LeFichierCSS"​ +
- if [[ "​$?"​ != "​0"​ ]]; then +
- echo "​Erreur sed. Erreur 120."​ +
- yad --image=error --title="​Erreur"​ --text="​sed a rencontré un problème.\nArrêt du traitement.\nErreur 120." 2>/​dev/​null +
-   exit 120 ; +
- fi +
- sudo sed -i '/​TexteAEffacerParLeScript/,​+2d'​ "​$LeFichierCSS"​ +
- if [[ "​$?"​ != "​0"​ ]]; then +
- echo "​Erreur sed. Erreur 130."​ +
- yad --image=error --title="​Erreur"​ --text="​sed a rencontré un problème.\nArrêt du traitement.\nErreur 120." 2>/​dev/​null +
-   exit 130 ; +
- fi +
- +
-#​---------------------------------------------------#​ +
-# Étape 5 - Invite de l'​utilisateur à réinitialiser le système +
-#​---------------------------------------------------#​ +
- +
- echo +
- echo "Vous devez redémarrer votre appareil pour voir les effets de la mise à jour....:​-)"​ +
- echo +
-  +
- +
- yad --text "Il faut redémarrer votre session pour prendre en compte vos modifications.\nVoulez vous : " --button="​Ne rien faire"​\!gtk-no:​1 --button="​Redémarrer":​2 --button="​Fermer la session":​0 2>/​dev/​null +
- retour="​$?"​ +
- case "​$retour"​ in +
- "​0"​ ) +
- pkill -9 -u "​$USER"​ +
- ;; +
- "​2"​ ) +
- sudo reboot +
- esac +
- +
-exit 0; +
- +
-</​code>​ +
-Une copie de sauvegarde du fichier sauvegardé est réalisée. +
-===== Si votre GDM est gris-bleu ​=====+
  
 | {{ :​tutoriel:​gdm:​personnalisation-3-24.png?​direct&​600 |Exemple de résultat obtenu}} | | {{ :​tutoriel:​gdm:​personnalisation-3-24.png?​direct&​600 |Exemple de résultat obtenu}} |
Ligne 364: Ligne 136:
 Depuis la version GNOME 3.16, les thèmes de GNOME Shell (et donc de GDM) sont par défaut stockés dans des fichiers binaires (au format gresource)((Ce comportement n'est pas présent avec la session "​Ubuntu",​ mais il impacte les sessions "​GNOME",​ notamment dans feu [[:Ubuntu GNOME]].)). On va extraire le thème de ce fichier, le modifier, puis le recompiler. Depuis la version GNOME 3.16, les thèmes de GNOME Shell (et donc de GDM) sont par défaut stockés dans des fichiers binaires (au format gresource)((Ce comportement n'est pas présent avec la session "​Ubuntu",​ mais il impacte les sessions "​GNOME",​ notamment dans feu [[:Ubuntu GNOME]].)). On va extraire le thème de ce fichier, le modifier, puis le recompiler.
  
-==== Extraire le thème utilisé ​====+=== Extraire le thème utilisé ===
  
 Pour extraire le thème par défaut, vous pouvez utiliser le script ''​extractgst.sh''​ suivant : Pour extraire le thème par défaut, vous pouvez utiliser le script ''​extractgst.sh''​ suivant :
Ligne 401: Ligne 173:
 Exécutez ce script. Exécutez ce script.
  
-==== Modifier le thème ===+=== 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. 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 ==+== 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). 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 ==+== Le fichier XML ==
 Ensuite, toujours dans ce répertoire,​ vous pouvez vérifier que le fichier ''​gnome-shell-theme.gresource.xml''​ correspond au contenu suivant : Ensuite, toujours dans ce répertoire,​ vous pouvez vérifier que le fichier ''​gnome-shell-theme.gresource.xml''​ correspond au contenu suivant :
  
Ligne 470: Ligne 239:
 <file css>​background-size:​ [WIDTH]px [HEIGHT]px;</​file>​ <file css>​background-size:​ [WIDTH]px [HEIGHT]px;</​file>​
  
-=== Compiler ​===+== Compiler ==
  
 Enfin, ouvrez un terminal pour recompiler votre thème avec les commandes suivantes (libglib2.0-dev doit être installé) : Enfin, ouvrez un terminal pour recompiler votre thème avec les commandes suivantes (libglib2.0-dev doit être installé) :
Ligne 478: Ligne 247:
 <note help> <note help>
 Si la compilation renvoie une erreur à propos de ''​more-results.svg'',​ retirez la ligne suivante du fichier XML précédemment créé : Si la compilation renvoie une erreur à propos de ''​more-results.svg'',​ retirez la ligne suivante du fichier XML précédemment créé :
-<​code> ​   <​file>​more-results.svg</​file></​code>​+<​code><​file>​more-results.svg</​file></​code>​
 Puis recompilez. Puis recompilez.
 </​note>​ </​note>​
  
-==== Mettre le thème en place ====+=== Mettre le thème en place ===
  
 Il ne vous reste plus qu'à déplacer vers ''/​usr/​share/​gnome-shell''​ le fichier ''​gnome-shell-theme.gresource''​ qui vient de se créer. Il ne vous reste plus qu'à déplacer vers ''/​usr/​share/​gnome-shell''​ le fichier ''​gnome-shell-theme.gresource''​ qui vient de se créer.
Ligne 489: Ligne 258:
 </​note>​ </​note>​
 <​code>​sudo mv ~/​shell-theme/​theme/​gnome-shell-theme.gresource /​usr/​share/​gnome-shell</​code>​ <​code>​sudo mv ~/​shell-theme/​theme/​gnome-shell-theme.gresource /​usr/​share/​gnome-shell</​code>​
- 
-===== Redémarrer ===== 
- 
-Les modifications prendront effet au redémarrage de l'​ordinateur. 
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 501: Ligne 266:
   * **(en)** [[https://​didrocks.fr/​2017/​09/​11/​ubuntu-gnome-shell-in-artful-day-11/​|À propos du thème par défaut à partir de 17.10]]   * **(en)** [[https://​didrocks.fr/​2017/​09/​11/​ubuntu-gnome-shell-in-artful-day-11/​|À propos du thème par défaut à partir de 17.10]]
   * **(en)** [[https://​www.ostechnix.com/​how-to-change-gdm-login-screen-background-in-ubuntu/​|How To Change GDM Login Screen Background In Ubuntu]]   * **(en)** [[https://​www.ostechnix.com/​how-to-change-gdm-login-screen-background-in-ubuntu/​|How To Change GDM Login Screen Background In Ubuntu]]
-  * **(en)** [[http://​ubuntuhandbook.org/​index.php/​2017/​10/​change-login-screen-background-ubuntu-17-10/​|How to Change Login Screen Background in Ubuntu 17.10]] 
-  * **(en)** [[http://​c-nergy.be/​blog/?​p=11550|Ubuntu 17.10 – Change login Background]] 
  
 ---- ----
  
-//​Contributeurs principaux : [[:​utilisateurs:​J5012]],​ [[:​utilisateurs:​claudiux]],​ [[:​utilisateurs:​deobs]],​ [[:​utilisateurs/​roschan]]+//​Contributeurs principaux : [[:​utilisateurs:​J5012]],​ [[:​utilisateurs:​claudiux]],​ [[:​utilisateurs:​deobs]],​ [[:​utilisateurs/​roschan]], [[:​utilisateurs:​Amiralgaby]]
 , ...// , ...//
  
  • tutoriel/changer_arriere_plan_gdm.1609116923.txt.gz
  • Dernière modification: Le 28/12/2020, 01:55
  • par 90.89.131.112