web-dev-qa-db-fra.com

Comment personnaliser l'écran de connexion Gnome dans Debian

J'ai utilisé Debian pour la première fois la semaine dernière, et j'ai réussi à configurer certaines options de bureau avec les outils gnome-Tweak, mais je suis coincé à essayer de personnaliser l'écran de connexion.

Au cours des recherches que j'ai faites, j'ai trouvé beaucoup d'informations sur la façon de faire ces choses dans Ubuntu, Linux Mint ou Arch Linux, mais pas beaucoup d'informations sur la "manière Debian".

Je pense que Gnome utilise la configuration de l'utilisateur Debian-gdm pour l'écran de connexion, mais je ne sais pas comment le changer, j'ai essayé de le changer avec gnome-Tweak-tools, comme n'importe quel autre utilisateur, et j'ai essayé également de modifier la configuration du fichier "/etc/gdm3/greeter.dconf-defaults", ajoutez le chemin d'accès au fichier que je veux comme arrière-plan dans la ligne "picture-uri". "picture-options_'none '" semble également ne rien faire.

Quelle est la manière la plus simple de le personnaliser?

J'utilise gnome-Shell version 3.14.4 et debian version 8.6

11
lunix

Après quelques recherches supplémentaires et quelques tests plus tard, j'ai finalement changé mon arrière-plan de connexion, voici les étapes que j'ai suivies:

1) J'ai placé le fichier que je voulais en arrière-plan dans le répertoire/usr/share/pictures (j'ai créé ce répertoire moi-même)

2) J'ai entré le terminal et, en tant qu'utilisateur root, j'ai édité le fichier /etc/gdm3/greeter.dconf-defaults afin de ressembler à ceci:

[org/gnome/desktop/background]
picture-uri='file:///usr/share/Pictures/background.png'
picture-options='zoom'

[org/gnome/login-screen]
logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
fallback-logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
disable-user-list=true
disable-restart-buttons=true

(background.png est mon image de fond réelle)

3) Afin de régénérer la configuration, j'ai exécuté "dpkg-reconfigure gdm3" et "dpkg-reconfigure gdebi-core"

4
lunix

(Testé sur Ubuntu Gnome Shell 16.04 +)

Deux façons. Si vous voulez savoir exactement ce que vous faites, suivez Solution # 1 . Si vous voulez qu'un seul script fasse tout pour vous, suivez Solution # 2 (Tout cela automatise la Solution # 1)

Solution 1

Informations de fond: Le fond de connexion Gnome n'est pas un paramètre que vous pouvez modifier directement (bizarre!). Il est présent dans le fichier CSS Gnome Shell qui est présent dans le fichier binaire. Par conséquent, vous devez extraire le fichier binaire, le modifier et remplacer le nouveau binaire par l'ancien fichier.

Étape 1: Extraire le fichier binaire de Gnome Shell

Exécutez le script suivant extractgst.sh Pour extraire le thème Gnome Shell dans le répertoire ~/Shell-theme

#!/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

Étape 2: le modifier

  • Copiez votre image d'arrière-plan dans ce dossier ~/Shell-theme/theme.
  • Créer un fichier ~/Shell-theme/theme/gnome-Shell-theme.gresource.xml Avec conten
  • Remplacez le nom de fichier par le nom de fichier de votre image d'arrière-plan
  • Maintenant, ouvrez le fichier gnome-Shell.css Dans le répertoire et modifiez la définition #lockDialogGroup Comme suit:

    #lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }

Définissez le nom de fichier comme étant le nom de l'image d'arrière-plan et la taille de l'arrière-plan à votre résolution.

Étape 3: Créez un nouveau binaire de thème Gnome Shell et remplacez l'existant

Dans le répertoire du thème, exécutez

glib-compile-resources gnome-Shell-theme.gresource.xml

Vous obtiendrez un fichier binaire. Copiez-le dans

/usr/share/gnome-Shell

Redémarrez maintenant GDM en utilisant

service gdm restart

Si cela ne fonctionne pas ou est bloqué, redémarrez votre ordinateur pour voir votre nouveau fond d'écran de connexion :))

Solution 2

D'accord, comme promis, il existe un moyen plus simple d'automatiser tout cela. Enregistrez simplement ce script sous login-background.sh

WORKDIR=~/tmp/gdm-login-background
GST=/usr/share/gnome-Shell/gnome-Shell-theme.gresource
GSTRES=$(basename $GST)

mkdir -p $WORKDIR
cd $WORKDIR
mkdir theme

for r in `gresource list $GST`; do
  gresource extract $GST $r >$WORKDIR$(echo $r | sed -e 's/^\/org\/gnome\/Shell\//\//g')
done

cd theme
cp "$IMAGE" ./

echo "
#lockDialogGroup {
  background: #2e3436 url(resource:///org/gnome/Shell/theme/$(basename $IMAGE));
  background-size: cover;
  background-repeat: no-repeat;
}" >>gnome-Shell.css

echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/Shell/theme">' >"${GSTRES}.xml"
for r in `ls *.*`; do
  echo "    <file>$r</file>" >>"${GSTRES}.xml"
done
echo '  </gresource>
</gresources>' >>"${GSTRES}.xml"

glib-compile-resources "${GSTRES}.xml"

Sudo mv "/usr/share/gnome-Shell/$GSTRES" "/usr/share/gnome-Shell/${GSTRES}.backup"
Sudo mv "$GSTRES" /usr/share/gnome-Shell/

rm -r $WORKDIR

if [ "$CREATED_TMP" = "1" ]; then
  rm -r ~/tmp
fi

Exécutez le script en utilisant

IMAGE=~/Bat.jpg sh login-background.sh

Redémarrez maintenant gdm en utilisant service gdm restart Ou redémarrez l'ordinateur portable pour votre nouveau fond de connexion :))

Références: https://wiki.archlinux.org/index.php/GDM

https://bbs.archlinux.org/viewtopic.php?id=197036

5
mac

La solution la plus simple consiste probablement à utiliser l'application suivante: https://github.com/juhaku/loginized . REMARQUE: Je suis l'auteur de cette application.

C'est le gestionnaire de thèmes de connexion GNOME GDM qui vous permet également de changer le thème de connexion et l'image d'arrière-plan. Il pourrait également y avoir plus de fonctionnalités à venir à l'application.

1
Juha Kukkonen

Certains tests sur un autre système (SL7.4) ont montré des problèmes.

"extractgst.sh" ne génère pas "gnome-Shell-theme.gresource.xml", qui doit être modifié à l'étape 2 de la solution 1. Si vous ajoutez la génération de fichier ".xml" de la solution 2, vous aurez le Fichier "xml" nécessaire pour l'inspection.

Le script de la solution 2 utilise "$ CREATED_TMP", qui n'a jamais été défini. Veuillez supprimer la déclaration "si" complète.

Soyez prudent avec l'utilisation de Sudo avec les scripts. Changez en root avec "/ bin/su -" et lancez, ce qui semble être nécessaire pour le script à la main en premier.

Viennent maintenant les problèmes particuliers avec SL7 (clone Centos/RHEL7). SL7 utilise SELinux avec sa partie audit pour générer la sécurité du système. Si les fichiers système comme ici sont modifiés par un script, SELinux ne les connaît pas et interdit l'utilisation de ces fichiers, il n'a aucune information sur ce qui se traduit par un fond noir lors de la connexion. Cela peut être corrigé en utilisant la commande "restorecon" récursivement pour ce répertoire. Après vous être déconnecté, vous obtiendrez le fond d'écran de connexion souhaité.

Ajouté: la restauration doit être effectuée pour "/ usr/share/gnome-Shell", car il s'agit du répertoire de ressources. Il se peut, il soit logique d'exécuter la restauration des répertoires gnome pour l'utilisateur, si des problèmes persistent. Mais pour moi, tout fonctionne bien pour l'instant.

0
SL7-HT