Ubuntu Gnome 15.10を使用しています。gdmバージョンは3.16.2です。ここにいくつかの異なるスレッドがあり、Ubuntuの古いバージョンでログイン画面をカスタマイズすることに関する他のウェブサイトの記事があることを知っていますが、ほとんどすべてを試してもログイン画面の背景を変更することはできません。
(免責事項:Ubuntu Gnome Shell 16.04+でテスト済み15.10でも動作することを願っています)
二つの方法。自分が何をしているかを正確に知りたい場合は、ソリューション#1に従ってください。単一のスクリプトですべてを実行したい場合は、の解決策2に従ってください(解決策1が自動化されます)
Background Info:Gnome Login Backgroundは、直接変更できるパラメーターではありません(Wierd!)。バイナリファイルにあるGnome Shell CSSファイル内に存在します。したがって、バイナリファイルを抽出して変更し、新しいバイナリを古いファイルに置き換える必要があります。
次のスクリプト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
~/Shell-theme/theme
。~/Shell-theme/theme/gnome-Shell-theme.gresource.xml
行<file>logged-in-indicator.svg</file>
に移動し、別の行<file>filename</file>
を追加します。filenameは背景画像のファイル名です次に、ディレクトリ内のgnome-Shell.css
ファイルを開き、次のように#lockDialogGroup
定義を変更します。
#lockDialogGroup {
background: #2e3436 url(filename);
background-size: [WIDTH]px [HEIGHT]px;
background-repeat: no-repeat;
}
Filenameを背景画像の名前に、背景サイズを解像度に設定します。
テーマディレクトリ内で実行
glib-compile-resources gnome-Shell-theme.gresource.xml
gnome-Shell-theme.gresource
という名前のバイナリファイルを取得します。コピー先
/usr/share/gnome-Shell
次に、GDMを再起動します
service gdm restart
動作しない、または動かなくなった場合は、コンピューターを再起動して新しいログイン壁紙を表示してください:))
約束したとおり、これをすべて自動化する簡単な方法があります。このスクリプトを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を再起動するか、新しいログイン背景のためにラップトップを再起動します:))