Come personalizzare la schermata di login di Gnome in Debian


11

Ho usato Debian per la prima volta nell'ultima settimana e sono riuscito a configurare alcune opzioni del desktop con gnome-tweak-tools, ma sono bloccato nel tentativo di personalizzare la schermata di accesso.

Durante la ricerca che ho fatto ho trovato molte informazioni su come fare queste cose in Ubuntu, Linux Mint o Arch Linux, ma non molte informazioni sul "modo Debian".

Penso, Gnome usa la configurazione dell'utente Debian-gdm per la schermata di accesso, ma non so come cambiarlo realmente, ho provato a cambiarlo con gnome-tweak-tools, come qualsiasi altro utente, e ho provato anche a modificare la configurazione del file "/etc/gdm3/greeter.dconf-defaults", aggiungi il percorso al file che voglio come sfondo nella riga "picture-uri". Anche "picture-options_'none '" sembra non fare nulla.

Qual è il modo più semplice per personalizzarlo?

Sto usando gnome-shell versione 3.14.4 e debian versione 8.6


Mi sto perdendo qualcosa di ovvio? Se vuoi solo cambiare l'immagine di sfondo, ci dovrebbe essere un'impostazione . (Anche se non riesco a provarlo perché sto usando una versione GNOME più recente)
lw1.at

Risposte:


5

(Testato su Ubuntu Gnome Shell 16.04+)

Due strade. Se vuoi sapere esattamente cosa stai facendo, segui la Soluzione n . 1 . Se vuoi che un singolo script faccia tutto per te, segui la Soluzione n. 2 (Tutto ciò che fa automatizza la Soluzione n. 1)

Soluzione 1

Informazioni sullo sfondo: Gnome Login Background non è un parametro che puoi cambiare direttamente (strano!). È presente nel file CSS di Gnome Shell che è presente nel file binario. Quindi, devi estrarre il file binario, modificarlo e sostituire il nuovo binario con il vecchio file.

Step1: Estrarre il file binario della shell Gnome

Esegui il seguente script extractgst.shper estrarre il tema della shell Gnome nella ~/shell-themedirectory

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

Step2: modificarlo

  • Copia l'immagine di sfondo in questa cartella ~/shell-theme/theme.
  • Crea file ~/shell-theme/theme/gnome-shell-theme.gresource.xmlcon contenuto
  • Sostituisci il nome file con il nome file dell'immagine di sfondo
  • Ora, apri il gnome-shell.cssfile nella directory e modifica la #lockDialogGroupdefinizione come segue:

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

Impostare il nome file in modo che sia il nome dell'immagine di sfondo e la dimensione dello sfondo in base alla propria risoluzione.

Step3: Crea un nuovo binario per il tema della shell Gnome e sostituisci quello esistente

Nella directory dei temi, esegui

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

Otterrai un file binario. Copia su

/usr/share/gnome-shell

Ora riavvia GDM usando

service gdm restart

Se non funziona o si blocca, riavvia il computer per vedere il tuo nuovo sfondo di accesso :))

Soluzione 2

Ok, come promesso, c'è un modo più semplice per automatizzare tutto questo. Basta salvare questo script come 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

Esegui lo script utilizzando

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

Ora riavvia gdm usando service gdm restarto riavvia il laptop per il tuo nuovo sfondo di accesso :))

Riferimenti: https://wiki.archlinux.org/index.php/GDM

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


Non ricevo il gnome-shell-theme.gresource.xmlfile mentre tutto il resto è lì ... Perché? Ho Gnome 3.22.
71GA,

4

Dopo alcune ricerche e alcuni test in seguito, ho finalmente cambiato il mio background di accesso, questi sono i passaggi che ho seguito:

1) Ho inserito il file che volevo come sfondo nella directory / usr / share / pictures (ho creato quella directory da solo)

2) Ho inserito il terminale e, come utente root, ho modificato il file /etc/gdm3/greeter.dconf-defaults per assomigliare a questo:

[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 è la mia immagine di sfondo reale)

3) Per rigenerare la configurazione ho eseguito "dpkg-reconfigure gdm3" e "dpkg-reconfigure gdebi-core"


1
Questo ha bloccato la mia sessione X all'avvio, risolto annullando le modifiche in una console però :)
Maarten

Avvertimento! Questa soluzione bloccherà il tuo sistema se viene descritta ufficialmente su un wiki Debian: wiki.debian.org/GDM Valutazione: sembra che Debian abbia difficoltà a mantenere aggiornato il suo wiki. Se Debian vuole diventare il miglior sistema operativo GNU / Linux (che secondo me lo è già) deve solo ridisegnare la sua wiki per essere più user friendly (HTML5 / CSS 3.0 / database). Ai nuovi utenti non deve mai accadere che la soluzione descritta ufficialmente blocchi il loro sistema. Questo è cruciale in quanto li allontanerà da Linux ... E non lo vogliamo ...
71GA

1

Probabilmente la soluzione più semplice è utilizzare la seguente applicazione: https://github.com/juhaku/loginized . NOTA: sono l'autore di questa applicazione.

È GNOME GDM Login Theme Manager che ti permette di cambiare anche il tema di login e l'immagine di sfondo. Potrebbero esserci anche altre funzionalità in arrivo per l'applicazione.


0

Alcuni test su un altro sistema (SL7.4) hanno mostrato problemi.

"extractgst.sh" non genera "gnome-shell-theme.gresource.xml", che dovrebbe essere modificato nel passaggio 2 della soluzione 1. Se aggiungi la generazione di file ".xml" della soluzione 2, avrai File "xml" necessario per l'ispezione.

Lo script della soluzione 2 utilizza "$ CREATED_TMP", che non è mai stato definito. Elimina la dichiarazione "if" completa.

Fai attenzione con l'uso di sudo con gli script. Passa a root con "/ bin / su -" ed esegui, ciò che sembra essere necessario per lo script prima a mano.

Ora arrivano i problemi speciali con SL7 (clone Centos / RHEL7). SL7 usa SELinux insieme alla sua parte di controllo per generare sicurezza del sistema. Se i file di sistema come qui sono cambiati da uno script, SELinux non li conosce e proibisce l'uso di quei file, non ha informazioni su ciò che risulta in uno sfondo nero al login. Questo può essere corretto usando ricorsivamente il comando "restorecon" per questa directory. Dopo aver effettuato il logout, otterrai lo sfondo di accesso desiderato.

Aggiunto: restorecon dovrebbe essere fatto per "/ usr / share / gnome-shell", perché questa è la directory delle risorse. Può essere, avrà senso eseguire restorecon per le directory gnome per l'utente, se i problemi persistono. Ma per me tutto funziona bene per ora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.