LightDM

提供: ArchWiki
移動先: 案内検索

LightDM はクロスデスクトップのディスプレイマネージャです。主な特徴は以下の通り:

  • クロスデスクトップ - 様々なデスクトップに対応。
  • 様々なディスプレイサーバーに対応 (X, Wayland, Mir, ...)。
  • 軽量 - メモリの使用量が少なくて高速に動作。
  • ゲストセッションをサポート。
  • リモートログインをサポート (XDMCP, VNC, XDMCP, pluggable)。
  • 充実したテストスイート。
  • 軽量なコードベース。

LightDM の設計に関する詳細は ここ から見れます。

インストール

公式リポジトリから lightdm をインストールしてください。リリースバージョンについては、安定版は偶数 (1.8, 1.10) 開発版は奇数 (1.9, 1.11) が付けられています。開発ブランチは AUR から lightdm-develAUR か lightdm-bzrAUR をインストールすることで使えます。

Greeter

Greeter もインストールする必要があります。Greeter はユーザーにログイン情報の入力を求める GUI であり、セッションの選択なども行います。Greeter 無しで LightDM を使うことも可能ですが、その場合は自動ログインを設定しなくてはなりません。公式の Greeter は lightdm-gtk-greeter です。LightDM は他の Greeter が設定されていない場合、この Greeter を使用します。

公式リポジトリには以下の Greeter が含まれています:

他の Greeter は AUR からインストールすることができます:

設定ファイルの [Seat:*] セクションを変更することでデフォルトの Greeter を変えることが可能です:

/etc/lightdm/lightdm.conf
[Seat:*]
…
greeter-session=lightdm-yourgreeter-greeter

/usr/share/xgreeters ディレクトリの .desktop ファイルを見ることで利用可能な Greeter が確認できます。以下の例では lightdm-gtk-greeterlightdm-kde-greeter が使えることがわかります:

$ ls -1 /usr/share/xgreeters/
lightdm-gtk-greeter.desktop
lightdm-kde-greeter.desktop

LightDM を有効にする

systemctl を使って lightdm.service デーモンを有効にしてください、それで LightDM がブート時に起動するようになります。ディスプレイマネージャ#ディスプレイマネージャをロードするも参照。

コマンドラインツール

LightDM はコマンドラインツール dm-tool を提供しています。これを使うことで現在のシートのロック、セッションの切り替えなどができます。'最小主義の'ウィンドウマネージャを使っている場合やテストに便利です。利用できるコマンドを表示するには、次を実行してください:

$ dm-tool --help

テスト

まず、公式リポジトリから xorg-server-xephyrインストールしてください。

そして X アプリケーションとして LightDM を起動してください:

$ lightdm --test-mode --debug

任意の設定と調整

LightDM は設定ファイル /etc/lightdm/lightdm.conf に修正を加えることで設定を行います。

また、Greeter にも設定ファイルが存在することがあります。例:

lightdm-gtk-greeter: /etc/lightdm/lightdm-gtk-greeter.conf

lightdm-webkit2-greeterAUR: /etc/lightdm/lightdm-webkit2-greeter.conf

lightdm-kde-greeter: /etc/lightdm/lightdm-kde-greeter.conf

背景画像・色を変更する

単色 (画像なし) を使いたい場合は background 変数を十六進数の色コードに設定してください。例:

background=#000000

画像を使いたい場合は以下を参照してください。

GTK+ Greeter

lightdm-gtk-greeter-settings を使うことで GUI で設定できます。

greeter 画面の壁紙をカスタマイズするには /etc/lightdm/lightdm-gtk-greeter.conf を編集して [greeter] セクションに background 変数を定義する必要があります。例:

/etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
ノート: LightDM ユーザーが画像ファイルにアクセスできるようにするため、/usr/share/pixmaps に PNG や JPG ファイルを配置することが推奨されています。

Webkit2 Greeter

lightdm-webkit2-greeterAUR の場合、ログイン画面で直接背景画像を選択することができます。起動するたびにランダムに画像を表示するオプションも存在します。デフォルトでは、画像は /usr/share/backgrounds から読み込まれます。lightdm-webkit2-greeter.conf を編集することで背景画像のディレクトリを変更できます。例:

/etc/lightdm/lightdm-webkit2-greeter.conf
[branding]
background_images = /usr/share/backgrounds
ノート: 背景画像は LightDM ユーザーからアクセスできる場所にないと表示されないため /home 下の場所を指定しないでください。

Unity Greeter

lightdm-unity-greeterAUR を使っている場合 /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml ファイルを編集して次を実行してください:

# glib-compile-schemas /usr/share/glib-2.0/schemas/

この ページを参照。

KDE Greeter

System Settings > Login Screen (LightDM) に行き背景画像を変更してください。

また、lightdm-kde-greeter.confBackground 変数を編集する方法もあります:

/etc/lightdm/lightdm-kde-greeter.conf
[greeter]
theme-name=classic

[greeter-settings]
Background=/usr/share/archlinux/wallpaper/archlinux-underground.jpg
BackgroundKeepAspectRatio=true
GreetMessage=Welcome to %hostname%

アバターを変更する

ヒント: KDE を使っている場合、KDE システム設定からアバターを変更できます。

まず accountsservice パッケージ (公式リポジトリにあります) がインストールされているか確認してください。それから、以下の手順で設定してください。<username> はあなたのログイン名に置き換えてください。.png ファイルの拡張子はファイル名に含めません。

  • /var/lib/AccountsService/users/<username> を作成・編集して、次の行を加えて下さい:
[User]
Icon=/var/lib/AccountsService/icons/username
  • 96x96 の PNG アイコンファイルを /var/lib/AccountsService/icons/username に配置して下さい。
ノート: 作成したファイルのパーミッションは 644 に設定して下さい。詳しくは chmod を参照。

Arch の 64x64 アイコンを使う

AURarchlinux-artworkAUR パッケージには素晴らしいサンプルが含まれており /usr/share/archlinux/icons にインストールされます。以下のように /usr/share/icons/hicolor/64x64/devices にコピーすることが可能です:

# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \;

コピーした後は、archlinux-artworkAUR パッケージは削除してかまいません。

自動ログインを有効にする

LightDM の設定ファイルを編集して以下の行を変更してください:

/etc/lightdm/lightdm.conf
[Seat:*]
pam-service=lightdm
pam-autologin-service=lightdm-autologin
autologin-user=USERNAME
autologin-user-timeout=0
session-wrapper=/etc/lightdm/Xsession

LightDM は autologin が有効になっているときでも PAM を使います。パスワードを入力しないで自動的にログインするためにはユーザーが autologin グループに入っている必要があります:

# groupadd -r autologin
# gpasswd -a USERNAME autologin
ノート: GNOME ユーザー (と gnome-keyring ユーザー) は、自動でロックが解除されるように、キーリングに空のパスワードを設定する必要があります。

システム・サービスユーザーを隠す

システムユーザーをログイン画面で表示されないようにするには、任意の依存パッケージ accountsservice をインストールするか、ユーザーの名前を /etc/lightdm/users.confhidden-users に追加してください。前者の方法ではユーザーを追加・削除したときにリストを更新する必要はありません。

SLiM からの移行

xinitrc の中身を xprofile に移動し、ウィンドウマネージャデスクトップ環境を起動するコマンドを削除してください。

NumLock を ON にする

numlockx パッケージをインストールして /etc/lightdm/lightdm.conf を編集して次の行を加えて下さい:

/etc/lightdm/lightdm.conf
[Seat:*]
greeter-setup-script=/usr/bin/numlockx on

ユーザー切り替え

LightDM は様々なデスクトップ環境でのユーザー切り替えをサポートしています。ユーザー切り替えを有効にするにはシンボリックリンクを作成する必要があります:

# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver

他の方法については XScreenSaver#Lightdm の記事を見て下さい。

デフォルトセッション

他の DM と同じように、Lightdm は最後に選択された xsession を ~/.dmrc に保存します。詳しくは ディスプレイマネージャ#セッションリスト を見て下さい。

ログインウィンドウの位置を変更

GTK+ greeter

/etc/lightdm/lightdm-gtk-greeter.conf を編集して position 変数に値を入力する必要があります。xy を入れることができ、絶対座標 (ピクセル) と相対座標 (パーセント) で指定できます。また、ウィンドウのアンカーの位置 (start, center, end) を指定することもできます。値はカンマで区切ります。

例:

position=200,start 50%,center

トラブルシューティング

画面が点滅して起動時に lightdm が現れない問題が起こる場合は、lightdm の設定ファイルに greeter を正しく定義しているか確認してください。GTK greeter を定義している場合は、xsessions-directory (デフォルト: /usr/share/xsessions) が存在していて少なくとも一つは .desktop ファイルが含まれていることを確認してください。

最後に使用したセッションが利用できなくなった時も同じ問題が lightdm の起動時に発生することがあります (例えば gnome を使った後 gnome-session パッケージを削除した場合): 一番簡単な回避策は削除したパッケージを一時的に戻すことです。もうひとつの解決策は:

# dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:xfce

このコマンドはセッション "xfce" を user 1000 ユーザーのデフォルトとして設定します。

電源メニュー (再起動、電源オフなど) が使えない

lightdm-1:1.6.0-6 より前に lightdm をインストールしている場合、次のバグが原因かもしれません: FS#36613。修正するには次を実行してください:

# chown polkitd:root /usr/share/polkit-1/rules.d

間違ったロケールが表示される

Lightdm でロケールが正しく表示されない場合はあなたのロケールを /etc/environment に追加してください:

LANG=ja_JP.utf8

Xresources が正しく読み込まれない

LightDM には Xresources ファイルがプリプロセッサによってロードされないという上流のバグが存在します [1]。実際面で、これは #define で設定された変数が後で呼ばれた時に展開されないということを意味しています。urxvt でカスタムカラーのセットを使った時にピンクの画面になることでこれを確認できます。修正するには、/etc/lightdm/Xsession を開いて次の行を探して下さい:

xrdb -nocpp -merge "$file"

次のように変更してください:

xrdb -merge "$file"

これで Xresources が処理され変数が正しく展開されます。

GTK greeter でアイコンが表示されない

lightdm-gtk-greeter を greeter として使っていてプレースホルダ画像がアイコンとして表示される場合、正しいアイコンテーマとテーマを設定してください。次のファイルを確認してください:

/etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
theme-name=mate      # this should be the name of a directory under /usr/share/themes/
icon-theme-name=mate # this should be the name of a fully featured icons set directory under /usr/share/icons/

ログインしようとすると LightDM がフリーズする

適当なユーザー名・パスワードを入力してログインしようとすると、LightDM がフリーズしデスクトップを起動できないことがあります。この問題を修正するには、gdk-pixbuf2 パッケージを再インストールしてください。フォーラムへの投稿を参照。

LightDM が間違ったモニタに表示される

マルチモニタを使っていると、LightDM が間違ったモニタに表示されることがあります (例: プライマリモニタが右側にある場合)。LightDM のログイン画面が特定のモニタで表示されるように指定するには、/etc/lightdm/lightdm.conf を編集して display-setup-script パラメータを次のように変更してください:

/etc/lightdm/lightdm.conf
display-setup-script=xrandr --output HDMI1 --primary

HDMI1 は実際のモニタの ID に置き換えてください、xrandr コマンドの出力で確認できます。

LightDM が表示されない

システムの起動が速すぎて、グラフィックドライバーが読み込まれるよりも先に LightDM サービスが起動してしまうことがあります。このような場合、lightdm.conf ファイルに以下の設定を追加してください:

[LightDM]
logind-check-graphical=true

上記の設定で LightDM はグラフィックデバイスの準備が完了するのを待ってから Greeter を生成してセッションを開始します。

Pulseaudio が自動的に起動しない

PulseAudio#実行を見て下さい。

参照