web-dev-qa-db-ja.com

GDMのログイン画面の壁紙はどこに保存されていますか?

14.04では、ログイン画面の背景に本当に素晴らしい石のテクスチャがあります。そのテクスチャはディスクのどこにありますか?ユニティグリーターパッケージを検索しました。

enter image description here

4
genepool

UnityまたはGnomeを使用していますか?

あなたはgnome-Shell gdmログインの「ノイズ」背景を参照しているようです-これであれば、灰色の背景を持つファイル/usr/share/gnome-Shell/theme/noise-texture.pngを追加することで何らかの形でビルドされます...それは/usr/share/gnome-Shell/theme/gnome-Shell.cssにあると思います:

background: #2e3436 url(noise-texture.png);
3
Rmano

(Ubuntu Gnome Shell 16.04+でテスト済み)

二つの方法。自分が何をしているかを正確に知りたい場合は、ソリューション#1に従ってください。単一のスクリプトですべてを実行したい場合は、の解決策2に従ってください(解決策1が自動化されます)

解決策1

Background Info:Gnome Login Backgroundは、直接変更できるパラメーターではありません(Wierd!)。バイナリファイルにあるGnome Shell CSSファイル内に存在します。したがって、バイナリファイルを抽出して変更し、新しいバイナリを古いファイルに置き換える必要があります。

ステップ1:Gnome Shellバイナリファイルの抽出

次のスクリプト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
  • content~/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; }

Filenameを背景画像の名前に、背景サイズを解像度に設定します。

ステップ3:新しいバイナリを作成し、既存のものを置き換えます

テーマディレクトリ内で実行

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
mac

ディレクトリを見てください:

/usr/share/xgreeters//usr/share/backgrounds、または/usr/share/unity-greeter

0
ihor_dvoretskyi