web-dev-qa-db-ja.com

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

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

11
lunix

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

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

4
lunix

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

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

解決策1

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

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

次のスクリプト_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
_

ステップ2:変更する

  • 背景画像をこのフォルダーにコピーします_~/Shell-theme/theme_。
  • content を使用してファイル_~/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 Shellテーマバイナリを作成し、既存のものを置き換える

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

_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_を使用してgdmを再起動するか、新しいログインバックグラウンド用にラップトップを再起動します:))

参照: https://wiki.archlinux.org/index.php/GDM

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

5
mac

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

これは、GNOME GDMログインテーママネージャーであり、ログインテーマや背景画像も変更できます。アプリケーションに近づいているより多くの機能があるかもしれません。

1
Juha Kukkonen

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

0
SL7-HT