ソリューション1

ソリューション1

私は先週初めてDebianを使用し、gnome-tweak-toolsを使用していくつかのデスクトップオプションを正常に設定しましたが、ログイン画面をカスタマイズしようとしました。

私が行った研究では、Ubuntu、Linux Mint、またはArch Linuxでこれを行う方法について多くの情報が見つかりましたが、「Debian方式」についてはあまりありませんでした。

私の考えでは、GnomeがDebian-gdmユーザーのログイン画面設定を使用しているようですが、実際にどのように変更するのかわかりませんでした。 「/etc/gdm3 /greeter.dconf-defaults」ファイル構成の「picture-uri」行に、背景として使用するファイルのパスを追加します。 "picture-options_'none'"も何もしないようです。

カスタマイズする最も簡単な方法は何ですか?

私はgnome-shellバージョン3.14.4とDebianバージョン8.6を使用しています。

ベストアンサー1

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

2つの方法。一体何をしているのか知りたいならフォローしてくださいソリューション#1。スクリプトにすべての操作を実行させるには:ソリューション#2(これはすべて自動化ソリューション#1です)

ソリューション1

背景情報:Gnomeログインの背景は直接変更できるパラメータではありません(異常です!)。これはバイナリのGnome Shell CSSファイルにあります。したがって、バイナリを抽出して変更し、新しいバイナリを古いバイナリと置き換える必要があります。

ステップ1:Gnomeシェルバイナリを抽出する

次のスクリプトを実行して、extractgst.shGnomeシェルのテーマを~/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シェルテーマバイナリを作成して既存のバイナリを置き換える

テーマディレクトリで次を実行します。

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

次に、gdmの再起動を使用するservice gdm restartか、ラップトップを再起動して新しいログインの背景を取得してください:))

引用: https://wiki.archlinux.org/index.php/GDM

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

おすすめ記事