So passen Sie den Gnome-Anmeldebildschirm in Debian an


11

Ich habe Debian in der letzten Woche zum ersten Mal verwendet und es geschafft, einige Desktop-Optionen mit den Gnome-Tweak-Tools zu konfigurieren, aber ich bin nicht in der Lage, den Anmeldebildschirm anzupassen.

Während der Recherche, die ich durchgeführt habe, habe ich viele Informationen darüber gefunden, wie man diese Dinge in Ubuntu, Linux Mint oder Arch Linux macht, aber nicht viele Informationen über den "Debian-Weg".

Ich denke, Gnome verwendet die Debian-gdm-Benutzerkonfiguration für den Anmeldebildschirm, aber ich weiß nicht, wie ich sie tatsächlich ändern soll. Ich habe versucht, sie mit gnome-tweak-tools zu ändern, wie jeder andere Benutzer auch Ich habe versucht, auch die Dateikonfiguration "/etc/gdm3/greeter.dconf-defaults" zu bearbeiten. Fügen Sie den Pfad zu der gewünschten Datei als Hintergrund in die Zeile "picture-uri" ein. "picture-options_'none '" scheint auch nichts zu tun.

Welches ist der einfachste Weg, um es anzupassen?

Ich verwende Gnome-Shell Version 3.14.4 und Debian Version 8.6


Vermisse ich etwas Offensichtliches? Wenn Sie nur das Hintergrundbild ändern möchten, sollte eine Einstellung vorhanden sein . (Obwohl ich es nicht testen kann, da ich eine neuere GNOME-Version verwende)
lw1.at

Antworten:


5

(Getestet auf Ubuntu Gnome Shell 16.04+)

Zwei Wege. Wenn Sie genau wissen möchten, was Sie tun, folgen Sie Lösung 1 . Wenn Sie möchten, dass ein einzelnes Skript alles für Sie erledigt , befolgen Sie Lösung 2 (alles, was es tut, automatisiert Lösung 1).

Lösung 1

Hintergrundinfo: Gnome Login Hintergrund ist kein Parameter, den Sie direkt ändern können (seltsam!). Es ist in der Gnome Shell CSS-Datei vorhanden, die in der Binärdatei vorhanden ist. Daher müssen Sie die Binärdatei extrahieren, ändern und die neue Binärdatei durch die alte ersetzen.

Schritt 1: Extrahieren der Gnome-Shell-Binärdatei

Führen Sie das folgende Skript aus extractgst.sh, um das Gnome-Shell-Design in das ~/shell-themeVerzeichnis zu extrahieren

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

Schritt 2: Ändern

  • Kopieren Sie Ihr Hintergrundbild in diesen Ordner ~/shell-theme/theme.
  • Datei ~/shell-theme/theme/gnome-shell-theme.gresource.xmlmit Inhalt erstellen
  • Ersetzen Sie den Dateinamen durch Ihren Dateinamen im Hintergrundbild
  • Öffnen Sie nun die gnome-shell.cssDatei im Verzeichnis und ändern Sie die #lockDialogGroupDefinition wie folgt:

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

Stellen Sie den Dateinamen als Namen des Hintergrundbilds und die Hintergrundgröße Ihrer Auflösung ein.

Schritt 3: Erstellen Sie eine neue Gnome-Shell-Theme-Binärdatei und ersetzen Sie die vorhandene

Führen Sie im Themenverzeichnis aus

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

Sie erhalten eine Binärdatei. Kopieren Sie es nach

/usr/share/gnome-shell

Starten Sie nun GDM mit neu

service gdm restart

Wenn es nicht funktioniert oder stecken bleibt, starten Sie Ihren Computer neu, um Ihr neues Login-Hintergrundbild zu sehen :))

Lösung 2

Ok, wie versprochen, gibt es eine einfachere Möglichkeit, dies alles zu automatisieren. Speichern Sie dieses Skript einfach als 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

Führen Sie das Skript mit aus

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

Starten Sie jetzt gdm neu service gdm restartoder starten Sie den Laptop für Ihren neuen Login-Hintergrund neu :))

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

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


Ich bekomme keine gnome-shell-theme.gresource.xmlDatei, während der Rest da ist ... Warum? Ich habe Gnome 3.22.
71GA

4

Nach ein paar weiteren Recherchen und einigen Tests später habe ich endlich meinen Login-Hintergrund geändert. Dies sind die Schritte, die ich befolgt habe:

1) Ich habe die gewünschte Datei als Hintergrund im Verzeichnis / usr / share / images abgelegt (ich habe dieses Verzeichnis selbst erstellt).

2) Ich habe das Terminal betreten und als Root-Benutzer die Datei /etc/gdm3/greeter.dconf-defaults bearbeitet, um folgendermaßen auszusehen:

[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 ist mein aktuelles Hintergrundbild)

3) Um die Konfiguration neu zu generieren, habe ich "dpkg-rekonfiguriere gdm3" und "dpkg-rekonfiguriere gdebi-core" ausgeführt.


1
Dies stürzte meine X-Sitzung beim Start ab und behebt es, indem die Änderungen in einer Konsole rückgängig gemacht werden :)
Maarten

Warnung! Diese Lösung wird Ihr System in Betracht ziehen, wenn sie offiziell in einem Debian-Wiki beschrieben wird: wiki.debian.org/GDM Bewertung: Es sieht so aus, als ob es Debian schwer fällt, ihr Wiki auf dem neuesten Stand zu halten. Wenn Debian das beste GNU / Linux-Betriebssystem werden will (was meiner Meinung nach bereits der Fall ist), muss es nur sein Wiki neu gestalten, um benutzerfreundlicher zu sein (HTML5 / CSS 3.0 / Datenbanken). Für neue Benutzer darf es niemals passieren, dass eine offiziell beschriebene Lösung ihr System zum Absturz bringt. Dies ist entscheidend, da es sie von Linux abwenden wird ... Und das wollen wir nicht ...
71GA

1

Die wahrscheinlich einfachste Lösung besteht derzeit darin, die folgende Anwendung zu verwenden: https://github.com/juhaku/loginized . HINWEIS: Ich bin der Autor dieser Anwendung.

Es ist der GNOME GDM Login Theme Manager, mit dem Sie das Login Theme und das Hintergrundbild ändern können. Möglicherweise stehen der Anwendung weitere Funktionen zur Verfügung.


0

Einige Tests auf einem anderen System (SL7.4) zeigten Probleme.

"extractgst.sh" generiert kein "gnome-shell-theme.gresource.xml", das in Schritt 2 von Lösung 1 bearbeitet werden sollte. Wenn Sie die ".xml" -Dateierzeugung von Lösung 2 hinzufügen, haben Sie die "xml" -Datei zur Überprüfung benötigt.

Das Skript für Lösung 2 verwendet "$ CREATED_TMP", das nie definiert wurde. Bitte löschen Sie die vollständige "if" -Anweisung.

Seien Sie vorsichtig bei der Verwendung von sudo mit den Skripten. Wechseln Sie mit "/ bin / su -" zu root und führen Sie aus, was für das Skript anscheinend zuerst von Hand benötigt wird.

Nun kommen die besonderen Probleme mit SL7 (Centos / RHEL7-Klon). SL7 verwendet SELinux zusammen mit seinem Audit-Teil, um Systemsicherheit zu generieren. Wenn Systemdateien wie hier durch ein Skript geändert werden, kennt SELinux sie nicht und verbietet die Verwendung dieser Dateien. Es gibt keine Informationen darüber, was bei der Anmeldung zu einem schwarzen Hintergrund führt. Dies kann korrigiert werden, indem der Befehl "restorecon" rekursiv für dieses Verzeichnis verwendet wird. Nach dem Abmelden erhalten Sie den gewünschten Anmeldebildschirm-Hintergrund.

Hinzugefügt: restorecon sollte für "/ usr / share / gnome-shell" durchgeführt werden, da dies das Ressourcenverzeichnis ist. Es kann sinnvoll sein, restorecon für die Gnome-Verzeichnisse für den Benutzer auszuführen, wenn weiterhin Probleme bestehen. Aber für mich funktioniert vorerst alles gut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.