ディスプレイマネージャのカスタマイズ
LPICレベル1のv3.5まで、ディスプレイマネージャのカスタマイズに関しては、gdm、kdm、xdmについて以下の内容を問う傾向にありました。
- グリーティングメッセージ(コラムを参照)の変更
- 背景色の変更
- 壁紙の変更
しかし、最近のgdmとkdmは、バージョンを更新するたびに設定ディレクトリや設定ファイルを変更することが多く、設定も複雑になりました。このためか、LPICレベル1がv4.0になって、gdmとkdmの設定ディレクトリ/ファイルは試験範囲から除外され、一般的知識のみが試験範囲となりました。一方で、新しいディスプレイマネージャであるlightdmが試験範囲に加わりました。
そこで本稿では、xdmとlightdmのカスタマイズ方法を取り上げます。
グリーティングメッセージとgreeter
ディスプレイマネージャがログイン画面に表示するメッセージを「グリーティングメッセージ」(greeting message)と呼びます。ログインしようとしているユーザへの挨拶(greeting)という意味で、このように呼ばれています。
また、ログイン画面を表示するプログラムを「greeter」(グリータ)と呼びます。greeterはディスプレイマネージャの中で呼び出されます。greeterが複数ある場合、どのgreeterを呼び出すかをディスプレイマネージャの設定ファイルで指定することができます。
Fedora 22のxdmをカスタマイズする
それでは、Fedora 22上でxdmをカスタマイズする方法から見ていきましょう。xdmの設定ファイルは/etc/X11/xdmディレクトリの下に置かれています。主な設定ファイルには表3のものがあります。
主な設定ファイル | 説明 |
---|---|
xdm-config | 基本設定ファイル。このファイルの中で機能ごとの設定ファイルXresources、Xsetup_0、Xsessionなどを指定する |
Xresources | ログイン画面のグリーティングメッセージ、画像、フォント、色、サイズなどの設定ファイル |
Xsetup_0 | ログイン画面全体の背景色を設定するxsetrootコマンドや、壁紙を表示するqivコマンドなどを設定するシェルスクリプト |
Xsession | ログイン後の起動プログラムを設定するシェルスクリプト |
xdmのグリーティングメッセージや背景色を変更するには、/etc/X11/xdm/Xresourcesファイルを編集します。以下はグリーティングメッセージを「Hello! How are you?」に、背景色をlightsteelblue
に設定する例です。
# xlogin*greeting: Welcome to CLIENTHOST xlogin*greeting: Hello! How are you? # xlogin*background: grey xlogin*background: lightsteelblue
壁紙を変更するには、/etc/X11/xdm/Xsetup_0ファイルを編集します。以下は壁紙を/usr/share/backgrounds/gnome/Road.jpgに設定する例です。
qiv -z /usr/share/backgrounds/gnome/Road.jpg
qiv
(Quick Image Viewer)は画像表示コマンドです。 -z
オプションを指定すると、背景画像を設定してから終了します。ImageMagick[2]のdisplay
コマンドを使用して、display -window root /usr/share/backgrounds/gnome/Road.jpg
と設定しても同じことができます。
上記の設定が反映されると、次のようにgreeterの表示が変わります。
注
[2]: X Window Systemの画像イメージの表示や操作を行うソフトウェア。画像イメージの表示(display
コマンド)、画像情報の表示(identify
コマンド)、画像イメージの変換(convert
コマンド)などを行えます。
CentOS 7のLightdmをカスタマイズする
次に、lightdmのカスタマイズです。lightdmでは複数のgreeterを使用することができます。また、どのgreeterを使用するかを設定ファイルで指定できます。
CentOS 7の場合には、/etc/lightdm/lightdm.confファイルに記述するパラメータgreeter-session
で使用するgreeterを次のように指定します。なお、CentOS 7のlightdmでは「lightdm-gtk-greeter」がデフォルトのgreeterです。
greeter-session=lightdm-gtk-greeter
lightdm-gtk-greeterの設定は、/etc/lightdm/lightdm-gtk-greeter.confファイルで行います。次に示すのは、パラメータbackground
により、greeterの壁紙として/usr/share/backgrounds/gnome/Road.jpgを設定する例です。
background=/usr/share/backgrounds/gnome/Road.jpg
この設定が反映されると、デフォルトでは光の波紋のようだったgreeterの壁紙が、次のように変わります。
また、lightdmのgreeterとして「lightdm-kde-greeter」を使用することもできます。それにはまず、yum
コマンドを使ってlightdm-kdeパッケージをインストールします。
# yum install lightdm-kde
それから、/etc/lightdm/lightdm.confファイルに次の設定を記述します。
greeter-session=lightdm-kde-greeter
上記の設定が反映されると、次のようにgreeterの表示がlightdm-kde-greeterパッケージのものに変わります。
lightdm-kde-greeterの設定は/etc/lightdm/lightdm-kde-greeter.confファイルで行います。以下は、greeter画面のテーマをパラメータtheme-name
によりclassic
に設定する例です。
[greeter] theme-name=classic
上記の設定が反映されると、次のようにgreeterの表示が変わります。
[参考]Ubuntu 15.10のlightdmをカスタマイズする
Ubuntuのlightdmの設定ディレクトリおよび設定ファイルは、102試験の試験範囲に入っていませんが、CentOS 7と対比するため、参考としてここで取り上げたいと思います。
greeterをunity-greeterに指定する(デフォルト)
Ubuntuではlightdm-gtk-greeterの設定を、/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.confファイルで行います[3]。次に示す記述をこのファイルに記述すると、unity-greeterパッケージのgreeterが使用されるようになります。
greeter-session=unity-greeter
注
[3]: 複数のgreeterをインストールした場合、/usr/share/lightdm/lightdm.conf.dディレクトリ配下の設定ファイルのうちで、最後に実行されたgreeter-session=
の設定が有効になります。したがって、ファイル名の先頭の数字の小さいファイルの設定を有効にするには、数字の大きいファイルの名前を(有効にしたいファイルより数字の小さいファイル名に)リネームします。
壁紙に/usr/share/backgrounds/Traviny_by_Tomasino.cz.jpgを設定する場合、次の手順を踏みます。
まず、unity-greeterの各種設定を記述するXMLスキーマファイルcom.canonical.unity-greeter.gschema.xmlを開き、次のように編集します。
<schemalist gettext-domain="unity-greeter"> <schema id="com.canonical.unity-greeter" path="/com/canonical/unity-greeter/"> <key name="background" type="s"> <default>'/usr/share/backgrounds/Traviny_by_Tomasino.cz.jpg'</default> </key>
次に、このファイルをglib-compile-schemas
コマンドでコンパイルします。glib-compile-schemas
コマンドは引数に指定されたディレクトリ配下のXMLスキーマファイルをコンパイルして、同じディレクトリにバイナリファイルgschemas.compiledを生成します。
# glib-compile-schemas /usr/share/glib-2.0/schemas/
以上を行うと、次に示すようにgreeterの壁紙が変わります。
greeterをlightdm-gtk-greeterに変更する
lightdmのgreeterにlightdm-gtk-greeterを使用することもできます。まず、lightdm-gtk-greeterパッケージをインストールします。
# apt-get install lightdm-gtk-greeter
lightdm-gtk-greeterの設定は/usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.confファイルで行います。次に示す記述をこのファイルに記述すると、lightdm-gtk-greeterパッケージののgreeterが使用されるようになります。
greeter-session=lightdm-gtk-greeter
greeterの壁紙を変更するには、backgroundパラメータに画像ファイルを指定します。次に示す記述例では、壁紙の画像ファイルとして/usr/share/backgrounds/gnome/Road.jpgを設定しています(設定も画面の表示もCentOS 7の場合と同じです)。
[greeter] background=/usr/share/backgrounds/gnome/Road.jpg
以上を行うと、次に示すようにgreeterの壁紙が変わります。