솔루션 1

솔루션 1

저는 지난 주에 처음으로 데비안을 사용했고 gnome-tweak-tools를 사용하여 일부 데스크톱 옵션을 성공적으로 구성했지만 로그인 화면을 사용자 정의하려고 했습니다.

제가 수행한 연구에서 Ubuntu, Linux Mint 또는 Arch Linux에서 이 작업을 수행하는 방법에 대한 많은 정보를 찾았지만 "데비안 방식"에 대해서는 많지 않았습니다.

제 생각에는 Gnome이 Debian-gdm 사용자의 로그인 화면 구성을 사용하고 있는 것 같은데 실제로 어떻게 변경해야 할지 모르겠어서 다른 사용자처럼 gnome-tweak-tools를 사용하여 변경도 해봤고 편집도 해보았습니다. "/etc/gdm3 /greeter.dconf-defaults" 파일 구성에서 "picture-uri" 줄에 배경으로 사용하려는 파일의 경로를 추가합니다. "picture-options_'none'"도 아무것도 하지 않는 것 같습니다.

사용자 정의하는 가장 쉬운 방법은 무엇입니까?

나는 gnome-shell 버전 3.14.4와 데비안 버전 8.6을 사용하고 있습니다.

답변1

(Ubuntu Gnome Shell 16.04+에서 테스트됨)

두 가지 방법. 대체 무슨 짓을 하고 있는지 알고 싶다면 팔로우하세요솔루션 #1. 스크립트가 모든 작업을 수행하도록 하려면 다음을 따르세요.솔루션 #2(하는 일은 모두 자동화 솔루션 #1 입니다)

솔루션 1

배경 정보:Gnome 로그인 배경은 직접 변경할 수 있는 매개변수가 아닙니다(이상합니다!). 이는 바이너리에 있는 Gnome Shell CSS 파일에 있습니다. 따라서 바이너리를 추출하고 수정한 다음 새 바이너리를 이전 바이너리로 교체해야 합니다.

1단계: Gnome 셸 바이너리 추출

다음 스크립트를 실행하여 extractgst.shGnome 쉘 테마를 ~/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

2단계: 수정

  • 배경 이미지를 이 폴더에 복사합니다 ~/shell-theme/theme.
  • ~/shell-theme/theme/gnome-shell-theme.gresource.xml다음을 사용하여 파일 만들기콘텐츠
  • 파일 이름을 배경 이미지 파일 이름으로 바꾸십시오.
  • 이제 gnome-shell.css디렉터리에서 파일을 열고 #lockDialogGroup다음과 같이 정의를 변경합니다.

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

파일 이름을 배경 이미지 이름으로 설정하고 배경 크기를 해상도로 설정하십시오.

3단계: 새로운 Gnome 쉘 테마 바이너리 생성 및 기존 바이너리 교체

테마 디렉토리에서 다음을 실행하십시오.

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

바이너리 파일을 받게 됩니다. 에 복사하세요

/usr/share/gnome-shell

이제 다음 명령을 사용하여 GDM을 다시 시작하십시오.

service gdm restart

작동하지 않거나 멈춘 경우 컴퓨터를 다시 시작하여 새 로그인 배경 화면을 확인하세요 :))

솔루션 2

좋습니다. 약속한 대로 이 모든 것을 자동화하는 더 쉬운 방법이 있습니다. 이 스크립트를 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

실행 스크립트 사용

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

이제 gdm 재시작을 사용 service gdm restart하거나 노트북을 다시 시작하여 새로운 로그인 배경을 얻으세요 :))

인용하다: https://wiki.archlinux.org/index.php/GDM

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

답변2

몇 가지 조사와 테스트 끝에 마침내 로그인 배경을 변경했으며 다음 단계를 따랐습니다.

1) /usr/share/pictures 디렉터리에 배경으로 원하는 파일을 배치했습니다. (디렉터리는 직접 만들었습니다.)

2) 터미널에 접속했고, 루트 사용자로 /etc/gdm3/greeter.dconf-defaults 파일을 다음과 같이 편집했습니다.

[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는 실제 배경 이미지입니다.)

3) 구성을 재생성하기 위해 "dpkg-reconfigure gdm3" 및 "dpkg-reconfigure gdebi-core"를 실행했습니다.

답변3

현재 가장 쉬운 해결책은 아마도 다음 앱을 사용하는 것입니다. https://github.com/juhaku/loginized.노트:나는 이 애플리케이션의 작성자입니다.

로그인 테마와 배경 이미지를 변경할 수 있는 GNOME GDM 로그인 테마 관리자입니다. 앱에 더 많은 기능이 추가될 수 있습니다.

답변4

다른 시스템(SL7.4)에 대한 일부 테스트에서 문제가 나타났습니다.

"extractgst.sh"는 해결 방법 1의 2단계에서 편집해야 하는 "gnome-shell-theme.gresource.xml"을 생성하지 않습니다. 솔루션 2의 ".xml" 파일 생성을 추가하면 검사에 필요한 "xml" 파일을 얻게 됩니다.

해결 방법 2 스크립트는 정의되지 않은 "$CREATED_TMP"를 사용합니다. 완전한 "if" 문을 삭제하세요.

스크립트에서 sudo를 사용할 때는 주의하세요. "/bin/su -"를 사용하여 루트로 변경하고 실행하려면 먼저 스크립트를 수동으로 실행해야 할 것 같습니다.

이제 SL7(Centos/RHEL7 복제본)의 특별한 문제입니다. SL7은 SELinux와 감사 부분을 사용하여 시스템 보안을 생성합니다. 여기의 시스템 파일이 스크립트에 의해 변경되면 SELinux는 해당 파일에 대해 알지 못하고 사용을 비활성화하며 로그인 시 검은색 배경이 나타나는 원인에 대한 정보가 없습니다. 이 문제는 이 디렉터리에서 "restorecon" 명령을 반복적으로 사용하여 해결할 수 있습니다. 로그아웃하면 원하는 로그인 화면 배경이 표시됩니다.

추가됨: "/usr/share/gnome-shell"은 리소스 디렉터리이므로 Restorecon을 수행해야 합니다. 문제가 지속되면 사용자의 gnome 디렉터리에서 Restorecon을 수행하는 것이 합리적일 수 있습니다. 하지만 저는 지금까지 일이 잘 진행되고 있습니다.

관련 정보