Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tutoriel:changer_arriere_plan_gdm [Le 10/06/2019, 20:53] zococo [Un script pour automatiser la modification de l'écran de connexion] |
tutoriel:changer_arriere_plan_gdm [Le 23/06/2019, 13:39] zococo [Un script pour automatiser la modification de l'écran de connexion] |
||
---|---|---|---|
Ligne 54: | Ligne 54: | ||
| [[:18.04]] | /etc/alternatives/gdm3.css | | | | [[:18.04]] | /etc/alternatives/gdm3.css | | | ||
| [[:18.10]] | /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/ | | + | | [[: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. | | | [[: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. | | ||
Ligne 106: | Ligne 106: | ||
# Étape 1 - Vérification de la présence du paquet zenity | # Étape 1 - Vérification de la présence du paquet zenity | ||
#---------------------------------------------------# | #---------------------------------------------------# | ||
- | if [[ $(dpkg -s zenity 2>&null | grep Status | cut -d' ' -f4) != "installed" ]]; | + | if [[ $(dpkg -s zenity 2>/dev/null | grep Status | cut -d' ' -f4) != "installed" ]]; |
zenity --error --title="Installez le paquet zenity" --text="Le paquet <b>zenity</b> est nécessaire au bon fonctionnement de ce script.\n\nInstallez le paquet par <b>sudo apt-get install zenity</b>\n\nArrêt du traitement" --width=400 | zenity --error --title="Installez le paquet zenity" --text="Le paquet <b>zenity</b> est nécessaire au bon fonctionnement de ce script.\n\nInstallez le paquet par <b>sudo apt-get install zenity</b>\n\nArrêt du traitement" --width=400 | ||
exit 10; | exit 10; | ||
Ligne 124: | Ligne 124: | ||
# get just name of the file | # get just name of the file | ||
fname=$(basename $pix) | fname=$(basename $pix) | ||
+ | |||
+ | repDest="/usr/share/background/" | ||
+ | |||
+ | if [[ -e "$repDest$fname" ]]; then # Si une image du même nom existe déjà dans le répertoire de destination | ||
+ | |||
+ | NvNom=$(zenity --entry --title="Le fichier image existe déjà" --text="Une image portant le nom $fname existe déjà dans le répertoire $repDest.\n Saisissez un nouveau nom :"); | ||
+ | | ||
+ | while [[ "${NvNom: -3}" == "${fname: -3}" ]]; do | ||
+ | | ||
+ | NomPropose="${NvNom:0: -3}${fname: -3}"; | ||
+ | zenity --question --text="Saisie incorrecte. Acceptez vous le nom suivant : \n<b>$NomPropose</b>" --title="Erreur de suffixe. Modification du nom du fichier image" --width=400 | ||
+ | | ||
+ | if [[ "$?" != "0" ]]; then | ||
+ | exit 20 ; | ||
+ | else | ||
+ | NvNom="$NomPropose" | ||
+ | fi | ||
+ | | ||
+ | done | ||
+ | | ||
+ | fname="$NvNom" | ||
+ | | ||
+ | fi | ||
echo $fname | echo $fname | ||
#---------------------------------------------------# | #---------------------------------------------------# | ||
- | # Étape 3 - Copie du fichier dans le répertoire /usr/share/background | + | # Étape 3 - Copie du fichier image dans le répertoire /usr/share/background |
#---------------------------------------------------# | #---------------------------------------------------# | ||
Ligne 137: | Ligne 160: | ||
echo | echo | ||
- | while [[ -e "/usr/share/backgrounds/$pix"; do | + | sudo cp "$pix" "$repDest$fname" |
+ | |||
+ | #---------------------------------------------------# | ||
+ | # Étape 4 - Choix du fichier css | ||
+ | #---------------------------------------------------# | ||
- | done | + | fichierCSS=$(zenity --title "Choix du fichier .css à modifier" --width 500 --height 200 --list --text "Selectionner le fichier .css à modifier : " --radiolist --column "Choix" --column "Chemin complet" TRUE " /etc/alternatives/gdm3.css" FALSE "/usr/share/gnome-shell/theme/gdm3.css" FALSE "/usr/share/gnome-shell/theme/Yaru/gdm3.css" FALSE "/usr/share/gnome-shell/theme/gnome-shell.css") |
- | sudo cp $pix /usr/share/backgrounds/ | + | |
#---------------------------------------------------# | #---------------------------------------------------# | ||
- | # Étape 4 - Mise à jour du fichier css | + | # Étape 5 - Mise à jour du fichier css |
#---------------------------------------------------# | #---------------------------------------------------# | ||
Ligne 152: | Ligne 178: | ||
echo | echo | ||
- | if [[ ! -e "/etc/alternatives/gdm3.css.anc" ]]; then # Conservation de toutes les versions du fichier modifié | + | if [[ ! -e "$fichierCSS"".anc" ]]; then # Conservation de toutes les versions du fichier modifié |
- | sudo cp /etc/alternatives/gdm3.css /etc/alternatives/gdm3.css.anc | + | sudo cp "$fichierCSS" "$fichierCSS"".anc" |
else | else | ||
i=0 | i=0 | ||
- | while [[ ! -e "/etc/alternatives/gdm3.css.anc$i" ]]; do | + | while [[ ! -e ""$fichierCSS"".anc""$i" ]]; do |
let "i+=1" | let "i+=1" | ||
done | done | ||
+ | sudo cp "$fichierCSS" "$fichierCSS"".anc""$i" | ||
fi | fi | ||
sudo sed -i "/#lockDialogGroup/a background: #2c001e url(file:///usr/share/backgrounds/${fname});\nbackground-repeat: no-repeat;\nbackground-size: cover;\nbackground-position: center;\n}\nGriffonToDel" /etc/alternatives/gdm3.css | sudo sed -i "/#lockDialogGroup/a background: #2c001e url(file:///usr/share/backgrounds/${fname});\nbackground-repeat: no-repeat;\nbackground-size: cover;\nbackground-position: center;\n}\nGriffonToDel" /etc/alternatives/gdm3.css | ||
Ligne 164: | Ligne 191: | ||
#---------------------------------------------------# | #---------------------------------------------------# | ||
- | # Étape 5 - Inviter l'utilisateur à réinitialiser le système | + | # Étape 6 - Invite de l'utilisateur à réinitialiser le système |
#---------------------------------------------------# | #---------------------------------------------------# | ||