DebianでGnomeログイン画面をカスタマイズする方法


11

私は先週最初に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を使用しています


私は明白な何かを見逃していますか?背景画像を変更するだけの場合は、設定が必要です。(ただし、新しいGNOMEバージョンを使用しているため、テストはできません)
lw1.at

回答:


5

(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:修正

  • 背景画像をこのフォルダにコピーします~/shell-theme/theme
  • コンテンツ~/shell-theme/theme/gnome-shell-theme.gresource.xml含むファイルを作成する
  • filenameを背景画像のファイル名に置き換えます
  • 次に、gnome-shell.cssディレクトリ内のファイルを開き、#lockDialogGroup次のように定義を変更します。

    #lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }

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


gnome-shell-theme.gresource.xml残りがすべてある間はファイルを取得しません...なぜですか?Gnome 3.22を使用しています。
71GA 2017

4

さらに調査し、後でいくつかのテストを行った後、ようやくログインの背景を変更しました。これらは私が従った手順です。

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」を実行しました


1
これにより、起動時にXセッションがクラッシュしましたが、コンソールで変更を元に戻すことで修正しました:)
Maarten

警告!:それは公式にはDebianのWikiに記述されている場合は、このソリューションは、システムregardlesがクラッシュしますwiki.debian.org/GDM 評価: Debianは最新に自分のWikiを維持する苦労を持っているように見えます。Debianが最高のGNU / Linux OS(私の意見ではすでにそうです)になりたい場合は、より使いやすいようにWikiを再設計するだけです(HTML5 / CSS 3.0 /データベース)。新しいユーザーにとって、公式に説明されたソリューションがシステムをクラッシュさせることは決してありません。Linuxから離れるので、これは非常に重要です...そして、私たちはそれを望んでいません...
71GA

1

おそらくこれまでで最も簡単な解決策は、次のアプリケーションを使用することです:https : //github.com/juhaku/loginized注:私はこのアプリケーションの作成者です。

これはGNOME GDMログインテーママネージャーで、ログインテーマや背景画像も変更できます。アプリケーションの今後の機能もあります。


0

別のシステム(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を実行することは理にかなっています。しかし、私にとっては今のところすべてがうまく機能しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.