(Ubuntu Gnome Shell 16.04以降でテスト済み)
ふたつのやり方。自分が何をしているか正確に知りたい場合は、ソリューション#1に従ってください。単一のスクリプトですべてを実行したい場合は、ソリューション#2に従ってください(これにより、ソリューション#1が自動化されます)
解決策1
背景情報: Gnomeログインの背景は、直接変更できるパラメーターではありません(奇妙です!)。バイナリファイルにある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:修正
filenameを背景画像の名前に設定し、background-sizeを解像度に設定します。
ステップ3:新しいGnomeシェルテーマバイナリを作成し、既存のものを置き換える
テーマディレクトリ内で実行
glib-compile-resources gnome-shell-theme.gresource.xml
バイナリファイルを取得します。にコピー
/usr/share/gnome-shell
ここでGDMを再起動します
service gdm restart
それが機能しないか、行き詰まった場合は、コンピュータを再起動して、新しいログイン壁紙を確認してください:))
解決策2
OK、約束通り、これをすべて自動化する簡単な方法があります。このスクリプトを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
新しいログインの背景として、ラップトップを使用するか、ラップトップを再起動します:))
参照:https :
//wiki.archlinux.org/index.php/GDM
https://bbs.archlinux.org/viewtopic.php?id=197036