私は先週最初にDebianを使用しており、いくつかのデスクトップオプションをgnome-Tweak-toolsで構成できましたが、ログイン画面をカスタマイズしようとして行き詰まっていました。
私が行った調査の間に、Ubuntu、Linux Mint、またはArch Linuxでこれを行うことについて多くの情報を見つけましたが、「Debianの方法」についての情報はあまりありませんでした。
Gnomeはログイン画面にDebian-gdmユーザーの構成を使用していると思いますが、実際に変更する方法がわかりません。他のユーザーと同様に、gnome-Tweak-toolsを使用して変更しようとしました。 「/etc/gdm3/greeter.dconf-defaults」ファイルの設定も編集してみました。「picture-uri」行に、背景として必要なファイルへのパスを追加します。 「picture-options_'none '」も何もしないようです。
それをカスタマイズする最も簡単な方法はどれですか?
私はgnome-Shellバージョン3.14.4とdebianバージョン8.6を使用しています
いくつかの調査と後でいくつかのテストを行った後、最終的にログインの背景を変更しました。これらは私が従った手順です。
1)背景として必要なファイルを/ usr/share/picturesディレクトリに配置しました(このディレクトリは自分で作成しました)
2)端末に入り、rootユーザーとして、/ etc/gdm3/greeter.dconf-defaultsファイルを次のように編集しました。
[org/gnome/desktop/background]
picture-uri='file:///usr/share/Pictures/background.png'
picture-options='zoom'
[org/gnome/login-screen]
logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
fallback-logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
disable-user-list=true
disable-restart-buttons=true
(background.pngは実際の背景画像です)
3)構成を再生成するために、「dpkg-reconfigure gdm3」と「dpkg-reconfigure gdebi-core」を実行しました
(Ubuntu Gnome Shell 16.04+でテスト済み)
二通り。正確に何をしているのか知りたい場合は、Solution#1に従ってください。 1つのスクリプトですべてを実行したい場合は、ソリューション#2に従ってください(これにより、ソリューション#1が自動化されます)
Background Info:Gnome Login Backgroundは、直接変更できるパラメータではありません(奇妙です!)。バイナリファイルにあるGnome Shell CSSファイル内にあります。したがって、バイナリファイルを抽出して変更し、新しいバイナリを古いファイルに置き換える必要があります。
次のスクリプト_extractgst.sh
_を実行して、Gnome Shellテーマを_~/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
_を作成します次に、ディレクトリ内の_gnome-Shell.css
_ファイルを開き、_#lockDialogGroup
_定義を次のように変更します。
#lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }
Filenameを背景画像の名前に設定し、background-sizeを解像度に設定します。
テーマディレクトリ内で実行
_glib-compile-resources gnome-Shell-theme.gresource.xml
_
バイナリファイルを取得します。にコピー
_/usr/share/gnome-Shell
_
ここで、GDMを再起動します
_service gdm restart
_
それが機能しないか、行き詰まった場合は、コンピュータを再起動して、新しいログインの壁紙を確認してください:))
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
_を使用してgdmを再起動するか、新しいログインバックグラウンド用にラップトップを再起動します:))
おそらく今のところ最も簡単な解決策は、次のアプリケーションを使用することです https://github.com/juhaku/loginized 。 注:私はこのアプリケーションの作成者です。
これは、GNOME GDMログインテーママネージャーであり、ログインテーマや背景画像も変更できます。アプリケーションに近づいているより多くの機能があるかもしれません。
別のシステム(SL7.4)の一部のテストで問題が発生しました。
「extractgst.sh」は「gnome-Shell-theme.gresource.xml」を生成しません。これは、ソリューション1のステップ2で編集する必要があります。ソリューション2の「.xml」ファイル生成を追加すると、検査に必要な「xml」ファイル。
ソリューション2のスクリプトは、定義されたことのない「$ CREATED_TMP」を使用します。 「if」文全体を削除してください。
スクリプトでのSudoの使用には注意してください。 「/ bin/su-」を使用してrootに変更し、スクリプトを実行するために最初に必要と思われるものを実行します。
ここで、SL7(Centos/RHEL7クローン)の特別な問題が発生します。 SL7はSELinuxとその監査部分を使用して、システムセキュリティを生成します。このようなシステムファイルがスクリプトによって変更された場合、SELinuxはそれらを認識せず、それらのファイルの使用を禁止します。ログイン時に黒い背景になる原因に関する情報はありません。これは、このディレクトリに対して「restorecon」コマンドを再帰的に使用することで修正できます。ログアウトすると、必要なログイン画面の背景が表示されます。
追加:「/ usr/share/gnome-Shell」に対してrestoreconを実行する必要があります。これは、これがリソースディレクトリだからです。それでも問題が解決しない場合は、ユーザーのgnomeディレクトリに対してrestoreconを実行することは理にかなっています。しかし、私にとっては今のところすべてがうまく機能しています。