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 03/02/2020, 21:14] 84.101.133.214 [Un script pour automatiser la modification de l'écran de connexion] |
tutoriel:changer_arriere_plan_gdm [Le 28/12/2020, 01:55] 90.89.131.112 [Extraire le thème utilisé] |
||
---|---|---|---|
Ligne 80: | Ligne 80: | ||
==== Un script pour automatiser la modification de l'écran de connexion ==== | ==== 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. | 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. | ||
- | <code> | + | <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 | #!/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" ) | 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" ) | ||
Ligne 365: | Ligne 372: | ||
rsrc='gnome-shell-theme.gresource' | rsrc='gnome-shell-theme.gresource' | ||
gst="/usr/share/gnome-shell/$rsrc" | gst="/usr/share/gnome-shell/$rsrc" | ||
+ | |||
workdir="$HOME/shell-theme/theme" | workdir="$HOME/shell-theme/theme" | ||
xmlFile="$workdir/$rsrc.xml" | xmlFile="$workdir/$rsrc.xml" | ||
+ | |||
test -d "$workdir" || mkdir -p "$workdir" | test -d "$workdir" || mkdir -p "$workdir" | ||
+ | |||
cat <<eof >"$xmlFile" | cat <<eof >"$xmlFile" | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
Ligne 376: | Ligne 383: | ||
<gresource prefix="/org/gnome/shell/theme"> | <gresource prefix="/org/gnome/shell/theme"> | ||
eof | eof | ||
+ | |||
while read -r file | while read -r file | ||
do | do | ||
- | filename="${file##*/}" | + | filename="$(echo $file | sed 's%/org/gnome/shell/theme/%%g')" |
echo " <file>$filename</file>" >>"$xmlFile" | echo " <file>$filename</file>" >>"$xmlFile" | ||
+ | mkdir -p "$workdir/$(dirname $filename)" | ||
gresource extract "$gst" "$file" >"$workdir/$filename" | gresource extract "$gst" "$file" >"$workdir/$filename" | ||
done < <(gresource list "$gst") | done < <(gresource list "$gst") | ||
+ | |||
cat <<eof >>"$xmlFile" | cat <<eof >>"$xmlFile" | ||
</gresource> | </gresource> | ||
</gresources> | </gresources> | ||
eof | eof | ||
+ | |||
</code> | </code> | ||