Cómo personalizar la pantalla de inicio de sesión de Gnome en Debian


11

Utilicé Debian por primera vez durante la última semana, y logré configurar algunas opciones de escritorio con gnome-tweak-tools, pero estoy atascado tratando de personalizar la pantalla de inicio de sesión.

Durante la investigación que hice, encontré mucha información sobre cómo hacer esto en Ubuntu, Linux Mint o Arch Linux, pero no mucha información sobre el "estilo Debian".

Creo que Gnome usa la configuración del usuario Debian-gdm para la pantalla de inicio de sesión, pero no sé cómo cambiarlo realmente, he tratado de cambiarlo con gnome-tweak-tools, como cualquier otro usuario, y he Intenté también editar la configuración del archivo "/etc/gdm3/greeter.dconf-defaults", agregando la ruta al archivo que quiero como fondo en la línea "picture-uri". "picture-options_'none '" también parece no hacer nada.

¿Cuál es la forma más fácil de personalizarlo?

Estoy usando gnome-shell versión 3.14.4 y debian versión 8.6


¿Me estoy perdiendo algo obvio? Si solo desea cambiar la imagen de fondo, debe haber una configuración . (Aunque no puedo probarlo porque estoy usando una versión más nueva de GNOME)
lw1.at

Respuestas:


5

(Probado en Ubuntu Gnome Shell 16.04+)

Dos caminos. Si desea saber qué está haciendo exactamente, siga la Solución n. ° 1 . Si desea que un solo script haga todo por usted, siga la Solución n. ° 2 (Todo lo que hace es automatizar la Solución n. ° 1)

Solución 1

Información de fondo: El fondo de inicio de sesión de Gnome no es un parámetro que puede cambiar directamente (¡extraño!). Está presente en el archivo CSS de Gnome Shell que está presente en el archivo binario. Por lo tanto, debe extraer el archivo binario, modificarlo y reemplazar el nuevo binario con un archivo antiguo.

Paso 1: extracción del archivo binario de shell Gnome

Ejecute el siguiente script extractgst.shpara extraer el tema de shell Gnome al ~/shell-themedirectorio

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

Paso2: Modificándolo

  • Copie su imagen de fondo a esta carpeta ~/shell-theme/theme.
  • Crear archivo ~/shell-theme/theme/gnome-shell-theme.gresource.xmlcon contenido
  • Reemplace el nombre de archivo con el nombre de archivo de su imagen de fondo
  • Ahora, abra el gnome-shell.cssarchivo en el directorio y cambie la #lockDialogGroupdefinición de la siguiente manera:

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

Establezca el nombre de archivo para que sea el nombre de la imagen de fondo y el tamaño de fondo a su resolución.

Paso 3: Crear un nuevo tema binario de shell Gnome y reemplazar los existentes

Dentro del directorio del tema, ejecute

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

Obtendrá un archivo binario. Cópialo a

/usr/share/gnome-shell

Ahora reinicie GDM usando

service gdm restart

Si no funciona o se atascó, reinicie su computadora para ver su nuevo fondo de pantalla de inicio de sesión :))

Solución 2

Ok, como se prometió, hay una manera más simple de automatizar todo esto. Simplemente guarde este script como 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

Ejecute el script usando

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

Ahora reinicie gdm usando service gdm restarto reinicie la computadora portátil para su nuevo fondo de inicio de sesión :))

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

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


No recibo el gnome-shell-theme.gresource.xmlarchivo mientras todo lo demás está allí ... ¿Por qué? Tengo Gnome 3.22.
71GA

4

Después de algunas investigaciones más y algunas pruebas más tarde, finalmente he cambiado mi fondo de inicio de sesión, esos son los pasos que seguí:

1) Coloqué el archivo que quería como fondo en el directorio / usr / share / pictures (yo mismo creé ese directorio)

2) Ingresé al terminal y, como usuario root, edité el archivo /etc/gdm3/greeter.dconf-defaults para que se vea así:

[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 es mi imagen de fondo real)

3) Para regenerar la configuración ejecuté "dpkg-reconfigure gdm3" y "dpkg-reconfigure gdebi-core"


1
Esto bloqueó mi sesión X en el inicio, aunque lo arregló deshaciendo los cambios en una consola :)
Maarten

¡Advertencia! Esta solución bloqueará los aspectos de su sistema si se describe oficialmente en un Wiki de Debian: wiki.debian.org/GDM Evaluación: Parece que Debian tiene dificultades para mantener su Wiki actualizado. Si Debian quiere convertirse en el mejor sistema operativo GNU / Linux (que en mi opinión ya lo es) solo necesita rediseñar su wiki para que sea más fácil de usar (HTML5 / CSS 3.0 / bases de datos). Para los nuevos usuarios nunca debe suceder que la solución oficialmente descrita bloquee su sistema. Esto es crucial ya que los alejará de Linux ... Y no queremos eso ...
71GA

1

Probablemente la solución más simple por ahora es usar la siguiente aplicación: https://github.com/juhaku/loginized . NOTA: Soy el autor de esta aplicación.

Es el Administrador de temas de inicio de sesión de GNOME GDM que le permite cambiar el tema de inicio de sesión y la imagen de fondo también. También podría haber más funciones próximas a la aplicación.


0

Algunas pruebas en otro sistema (SL7.4) mostraron problemas.

"extractgst.sh" no genera "gnome-shell-theme.gresource.xml", que debe editarse en el paso 2 de la solución 1. Si agrega la generación de archivos ".xml" de la solución 2, tendrá el Se necesita el archivo "xml" para la inspección.

La secuencia de comandos de la Solución 2 usa "$ CREATED_TMP", que nunca se ha definido. Elimine la declaración completa "if".

Tenga cuidado al usar sudo con los scripts. Cambie a root con "/ bin / su -" y ejecute, lo que parece ser necesario para el script a mano primero.

Ahora vienen los problemas especiales con SL7 (clon Centos / RHEL7). SL7 utiliza SELinux junto con su parte de auditoría para generar seguridad del sistema. Si un script modifica los archivos del sistema como aquí, SELinux no los conoce y prohíbe el uso de esos archivos, no tiene información sobre qué resulta en un fondo negro al iniciar sesión. Esto se puede corregir utilizando el comando "restorecon" de forma recursiva para este directorio. Después de cerrar sesión, obtendrá el fondo de pantalla de inicio de sesión deseado.

Agregado: restorecon debe hacerse para "/ usr / share / gnome-shell", porque este es el directorio de recursos. Es posible que tenga sentido ejecutar restorecon para los directorios de gnome para el usuario, si aún existen problemas. Pero para mí todo funciona bien por ahora.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.