LightDM
関連記事
LightDM は X サーバーの標準ディスプレイマネージャになることを目指しているクロスデスクトップのディスプレイマネージャです。主な特徴は以下の通り:
- 軽量なコードベース
- 標準準拠 (PAM, logind, etc)
- サーバーとユーザーインターフェースの間に定義されているインターフェイス
- クロスデスクトップ (あらゆるツールキットを使ってユーザーインターフェースを書くことができます)
LightDM の設計に関する詳細は ここ から見れます。
インストール
公式リポジトリから lightdm をインストールしてください。リリースバージョンについては、安定版は偶数 (1.8, 1.10) 開発版は奇数 (1.9, 1.11) が付けられています。開発ブランチは AUR から lightdm-develAUR か lightdm-bzrAUR をインストールすることで使えます。
Greeter
greeter (LightDM のユーザーインターフェース) もインストールする必要があります。基準となる greeter は lightdm-gtk-greeter です。KDE ユーザーは Qt ベースの greeter である lightdm-kde-greeter をインストールできます。
他の greeter は AUR からインストールすることができます:
- lightdm-another-gtk-greeterAUR: カスタムテーマをサポートする GTK3 greeter。
- lightdm-webkit-greeterAUR: テーマに Webkit を使用する greeter。
- lightdm-crowd-greeterAUR: プロファイルとして動き回る 3D のキャラクターを選べる 3D greeter。
- lightdm-unity-greeterAUR: Ubuntu の Unity で使われている greeter。
- lightdm-razor-greeterAUR: Razor-qt デスクトップ環境の greeter。
- lightdm-pantheon-greeterAUR: ElementaryOS プロジェクトの greeter。
設定ファイルの [SeatDefaults]
以下を変更することでデフォルトの greeter を変えることが可能です:
/etc/lightdm/lightdm.conf
[SeatDefaults] … greeter-session=lightdm-yourgreeter-greeter
LightDM を有効にする
systemctl を使って lightdm.service
デーモンを有効にしてください、それで LightDM がブート時に起動するようになります。
コマンドラインツール
LightDM はコマンドラインツール dm-tool
を提供しています。これを使うことで現在のシートのロック、セッションの切り替えなどができます。'最小主義の'ウィンドウマネージャを使っている場合やテストに便利です。利用できるコマンドを表示するには、次を実行してください:
$ dm-tool --help
テスト
まず、公式リポジトリから xorg-server-xephyr をインストールしてください。
そして X アプリケーションとして LightDM を起動してください:
$ lightdm --test-mode --debug
任意の設定と調整
greeter によっては固有の設定ファイルを持っているものがあります。例えば lightdm-gtk2-greeter や lightdm-gtk3-greeter は次のファイルを持っています:
/etc/lightdm/lightdm-gtk-greeter.conf
lightdm-kde-greeter は次のファイルを持っています:
/etc/lightdm/lightdm-kde-greeter.conf
さらに KDE のシステム設定にセクションもあります (推奨)。
設定スクリプトを直接修正したり /usr/lib/lightdm/lightdm/
にある lightdm-set-defaults
アプリケーションを使うことで LightDM の設定を行えます。利用できるオプションを見るには、次を実行してください:
$ man lightdm-set-defaults
また、設定ファイルを編集するほうが lightdm-set-defaults
アプリケーションを使うよりも多くの変数を使うことができます。
背景画像・色を変更する
単色 (画像なし) を使いたい場合は background
変数を十六進数の色コードに設定してください。
例:
background=#000000
画像を使いたい場合は以下を参照してください。
GTK+ Greeter
greeter 画面の壁紙をカスタマイズするには /etc/lightdm/lightdm-gtk-greeter.conf
を編集して background
変数を定義する必要があります。
例:
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg
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) に行き背景画像を変更してください。
アバターを変更する
.face を使う
greeter 画面のユーザーイメージをカスタマイズするには home ディレクトリに .face
や .face.icon
という名前の PNG 画像を置く必要があります。LightDM から読み込めるようになっているか確認してください。
AccountsService を使う
.face を使う方法は問題を起こすことが知られています。幸いにも、LightDM は AccountsService を自動で使用することができます。まず accountsservice パッケージ (公式リポジトリにあります) がインストールされているか確認してください。それから、以下の手順で設定してください。<username> はあなたのログイン名に置き換えてください。.png ファイル拡張子の使用はおそらく任意です。
/var/lib/AccountsService/users/<username>
を作成・編集して、次の行を加えて下さい:
[User] Icon=/var/lib/AccountsService/icons/<username>.png
- 96x96 PNG のアイコンファイルを
/var/lib/AccountsService/icons/<username>.png
に配置して下さい。
Arch の 64x64 アイコンを使う
AUR の archlinux-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
[SeatDefaults] autologin-user=USERNAME autologin-user-timeout=0 session-wrapper=/etc/lightdm/Xsession
LightDM は autologin
が有効になっているときでも PAM を使います。パスワードを入力しないでログインするためにはユーザーが autologin
グループに入っている必要があります:
# groupadd autologin # gpasswd -a USERNAME autologin
システム・サービスユーザーを隠す
システムユーザーをログイン画面で表示されないようにするには、任意の依存パッケージ accountsservice をインストールするか、ユーザーの名前を /etc/lightdm/users.conf
の hidden-users
に追加してください。前者の方法ではユーザーを追加・削除したときにリストを更新する必要はありません。
SLiM からの移行
xinitrc の中身を xprofile に移動し、ウィンドウマネージャやデスクトップ環境を起動するコマンドを削除してください。
NumLock を ON にする
numlockx パッケージをインストールして /etc/lightdm/lightdm.conf
を編集して次の行を加えて下さい:
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
に保存します。詳しくは Display_Manager#セッションリスト を見て下さい。
トラブルシューティング
画面が点滅して起動時に 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 ファイルがプリプロセッサによってロードされないという上流のバグが存在します。実際面で、これは #define
で設定された変数が後で呼ばれた時に展開されないということを意味しています。urxvt でカスタムカラーのセットを使った時にピンクの画面になることでこれを確認できます。修正するには、/etc/lightdm/Xsession
を開いて次の行を探して下さい:
xrdb -nocpp -merge "$file"
次のように変更してください:
xrdb -merge "$file"
これで Xresources が処理され変数が正しく展開されます。
GTK greeter でアイコンが表示されない
lightdm-gtk2-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 パッケージを再インストールしてください。フォーラムへの投稿を参照。
LigthDM が間違ったモニタに表示される
マルチモニタを使っていると、LightDM が間違ったモニタに表示されることがあります (例: プライマリモニタが右側にある場合)。LightDM のログイン画面が特定のモニタで表示されるように指定するには、/etc/lightdm/lightdm.conf
を編集して display-setup-script パラメータを次のように変更してください:
/etc/lightdm/lightdm.conf
display-setup-script=xrandr --output HDMI1 --primary
HDMI1 は実際のモニタの ID に置き換えてください、xrandr
コマンドの出力で確認できます。
参照
- light-locker - LightDM を使用する画面ロッカー。
- Ubuntu Wiki article
- Gentoo Wiki article
- Launchpad Page
- LightDM blog