데비안에서 그놈 로그인 화면을 사용자 정의하는 방법 주에 데비안을 처음 사용했는데 gnome-tweak-tools를 사용하여

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

조사한 결과, 우분투, 리눅스 민트 또는 아치 리눅스에서이 작업을 수행하는 데 대한 많은 정보를 찾았지만 “데비안 방식”에 대한 정보는 많지 않습니다.

Gnome은 로그인 화면에 Debian-gdm 사용자 구성을 사용하지만 실제로 변경하는 방법을 모르고 다른 사용자와 마찬가지로 gnome-tweak-tools를 사용하여 변경하려고 시도했습니다. “/etc/gdm3/greeter.dconf-defaults”파일 구성을 편집하고 “picture-uri”행에서 배경으로 원하는 파일 경로를 추가했습니다. “picture-options_’none ‘”도 아무것도하지 않는 것 같습니다.

가장 쉬운 방법은 무엇입니까?

gnome-shell 버전 3.14.4 및 debian 버전 8.6을 사용하고 있습니다.



답변

(우분투 그놈 쉘 16.04+에서 테스트)

두 가지 방법. 정확히 무엇을하고 있는지 알고 싶다면 솔루션 # 1을 따르십시오 . 단일 스크립트로 모든 작업을 수행하려면 솔루션 # 2를 따르십시오 (솔루션 # 1을 자동화하는 모든 것)

해결책 1

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

1 단계 : Gnome 쉘 바이너리 파일 추출

다음 스크립트 extractgst.sh를 실행하여 Gnome 쉘 테마를 ~/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 shell 테마 바이너리 생성 및 기존 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

이제 service gdm restart새로운 로그인 배경을 위해 랩톱을 사용 하거나 gdm을 다시 시작하십시오 :))

참조 :
https://wiki.archlinux.org/index.php/GDM

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


답변

몇 가지 더 조사하고 약간의 테스트를 거친 후에 마침내 로그인 배경을 변경했습니다. 다음 단계는 다음과 같습니다.

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”를 실행했습니다.


답변

아마도 가장 간단한 해결책은 https://github.com/juhaku/loginized 응용 프로그램을 사용하는 것
입니다. 참고 : 저는이 응용 프로그램의 저자입니다.

로그인 테마와 배경 이미지도 변경할 수있는 그놈 GDM 로그인 테마 관리자입니다. 응용 프로그램에 더 많은 기능이 제공 될 수도 있습니다.


답변

다른 시스템 (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을 실행하는 것이 좋습니다. 그러나 나를 위해 모든 것이 지금 잘 작동합니다.