(우분투 그놈 쉘 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 단계 : 수정
파일 이름을 배경 이미지의 이름으로 설정하고 배경 크기를 해상도로 설정하십시오.
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