Jak dostosować ekran logowania Gnome w Debianie

11

Używam Debiana po raz pierwszy w ciągu ostatniego tygodnia i udało mi się skonfigurować niektóre opcje pulpitu za pomocą narzędzi gnome-tweak-tools, ale utknąłem próbując dostosować ekran logowania.

Podczas badań, które przeprowadziłem, znalazłem wiele informacji na temat robienia tego w Ubuntu, Linux Mint lub Arch Linux, ale niewiele informacji o „sposobie Debiana”.

Myślę, że Gnome używa konfiguracji użytkownika Debian-gdm do ekranu logowania, ale nie wiem, jak to zmienić, próbowałem to zmienić za pomocą narzędzi gnome-tweak, jak każdy inny użytkownik, i mam próbowałem również edytować konfigurację pliku „/etc/gdm3/greeter.dconf-defaults”, dodać ścieżkę do pliku, który chcę jako tło w wierszu „picture-uri”. „picture-options_'none” wydaje się również nic nie robić.

Jaki jest najłatwiejszy sposób na dostosowanie?

Używam gnome-shell w wersji 3.14.4 i debian w wersji 8.6

lunix
źródło
Czy brakuje mi czegoś oczywistego? Jeśli chcesz tylko zmienić obraz tła, powinno istnieć ustawienie . (Chociaż nie mogę go przetestować, ponieważ korzystam z nowszej wersji GNOME)
lw1.at 21.09.16

Odpowiedzi:

5

(Testowane na Ubuntu Gnome Shell 16.04+)

Dwie drogi. Jeśli chcesz wiedzieć, co dokładnie robisz, wykonaj Rozwiązanie nr 1 . Jeśli chcesz, aby pojedynczy skrypt zrobił wszystko za Ciebie, postępuj zgodnie z rozwiązaniem 2 (wszystko to automatyzuje rozwiązanie 1)

Rozwiązanie 1

Informacje w tle: Tło logowania do Gnome nie jest parametrem, który można zmienić bezpośrednio (dziwne!). Jest obecny w pliku CSS Gnome Shell, który jest obecny w pliku binarnym. Dlatego musisz wyodrębnić plik binarny, zmodyfikować go i zastąpić nowy plik binarny starym plikiem.

Krok 1: Wyodrębnienie pliku binarnego powłoki Gnome

Uruchom następujący skrypt, extractgst.shaby wyodrębnić motyw powłoki Gnome do ~/shell-themekatalogu

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

Krok 2: Modyfikacja

  • Skopiuj obraz tła do tego folderu ~/shell-theme/theme.
  • Utwórz plik ~/shell-theme/theme/gnome-shell-theme.gresource.xmlz zawartością
  • Zamień nazwę pliku na nazwę pliku obrazu tła
  • Teraz otwórz gnome-shell.cssplik w katalogu i zmień #lockDialogGroupdefinicję w następujący sposób:

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

Ustaw nazwę pliku jako nazwę obrazu tła i rozmiar tła do swojej rozdzielczości.

Krok 3: Utwórz nowy plik binarny motywu powłoki Gnome i zastąp go istniejącym

W katalogu motywów uruchom

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

Otrzymasz plik binarny. Skopiuj do

/usr/share/gnome-shell

Teraz uruchom ponownie GDM za pomocą

service gdm restart

Jeśli nie działa lub utknął, uruchom ponownie komputer, aby zobaczyć nową tapetę logowania :))

Rozwiązanie 2

Ok, zgodnie z obietnicą, istnieje prostszy sposób na zautomatyzowanie tego wszystkiego. Po prostu zapisz ten skrypt jako 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

Uruchom skrypt za pomocą

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

Teraz uruchom ponownie gdm za pomocą service gdm restartlub uruchom ponownie laptopa dla nowego tła logowania :))

Odnośniki: https://wiki.archlinux.org/index.php/GDM

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

prochowiec
źródło
Nie dostaję gnome-shell-theme.gresource.xmlpliku, dopóki cała reszta tam jest ... Dlaczego? Mam Gnome 3.22.
71GA
4

Po kilku dalszych badaniach i późniejszych testach w końcu zmieniłem tło logowania, oto kroki, które wykonałem:

1) Umieściłem żądany plik jako tło w katalogu / usr / share / pictures (sam utworzyłem ten katalog)

2) Wszedłem do terminalu i jako użytkownik root edytowałem plik /etc/gdm3/greeter.dconf-defaults, aby wyglądać tak:

[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 to moje rzeczywiste zdjęcie w tle)

3) Aby zregenerować konfigurację, uruchomiłem „dpkg-reconfigure gdm3” i „dpkg-rekonfiguruj gdebi-core”

lunix
źródło
1
To zawiesiło moją sesję X podczas uruchamiania, naprawiłem ją, cofając zmiany w konsoli :)
Maarten
Ostrzeżenie! To rozwiązanie spowoduje awarię systemu, jeśli zostanie oficjalnie opisane na Wiki Debiana: wiki.debian.org/GDM Ocena: Wygląda na to, że Debian ma trudności z utrzymaniem aktualności Wiki. Jeśli Debian chce zostać najlepszym systemem operacyjnym GNU / Linux (co moim zdaniem już jest), wystarczy przeprojektować swoją wiki, aby była bardziej przyjazna dla użytkownika (HTML5 / CSS 3.0 / bazy danych). Nowi użytkownicy nigdy nie mogą się zdarzyć, że oficjalnie opisane rozwiązanie powoduje awarię ich systemu. Ma to kluczowe znaczenie, ponieważ odwróci ich od Linuksa ... I nie chcemy tego ...
71GA 31.10.17
1

Prawdopodobnie najprostszym rozwiązaniem jest teraz skorzystanie z następującej aplikacji: https://github.com/juhaku/loginized . UWAGA: Jestem autorem tej aplikacji.

Jest to Menedżer motywów logowania GNOME GDM, który umożliwia zmianę motywu logowania oraz obrazu tła. Aplikacja może zawierać także więcej funkcji.

Juha Kukkonen
źródło
0

Niektóre testy na innym systemie (SL7.4) wykazały problemy.

„extractgst.sh” nie generuje „gnome-shell-theme.gresource.xml”, który należy edytować w kroku 2 rozwiązania 1. Jeśli dodasz generowanie pliku „.xml” rozwiązania 2, będziesz mieć Plik „xml” wymagany do kontroli.

Skrypt rozwiązania 2 używa „$ CREATED_TMP”, który nigdy nie został zdefiniowany. Proszę usunąć pełną informację „jeśli”.

Ostrożnie korzystaj z sudo ze skryptami. Zmień na root za pomocą „/ bin / su -” i uruchom najpierw to, co wydaje się potrzebne do skryptu.

Teraz pojawiają się specjalne problemy z SL7 (klon Centos / RHEL7). SL7 używa SELinux wraz z częścią kontrolną do generowania bezpieczeństwa systemu. Jeśli pliki systemowe jak tutaj zostały zmienione przez skrypt, SELinux nie wie o nich i zabrania ich używania, nie ma informacji o tym, co powoduje czarne tło przy logowaniu. Można to naprawić za pomocą polecenia „restorecon” rekurencyjnie dla tego katalogu. Po wylogowaniu otrzymasz pożądane tło ekranu logowania.

Dodano: przywracanie należy wykonać dla „/ usr / share / gnome-shell”, ponieważ jest to katalog zasobów. Możliwe, że sensowne będzie wykonanie restorecon dla katalogów gnome dla użytkownika, jeśli problemy będą nadal występować. Ale dla mnie na razie wszystko działa dobrze.

SL7-HT
źródło