「LightDM」の版間の差分
→コマンドラインツール: 同期 |
→任意の設定と調整: 同期 |
||
| 95行目: | 95行目: | ||
== 任意の設定と調整 == |
== 任意の設定と調整 == |
||
LightDM は設定ファイル {{ic|/etc/lightdm/lightdm.conf}} に修正を加えることで設定を行います。 |
|||
LightDM は、設定ファイル {{ic|/etc/lightdm/lightdm.conf}} を編集することで設定することができます。 |
|||
また、一部の greeter には独自の設定ファイルが存在しています。例えば: |
|||
{{Pkg|lightdm-gtk-greeter}}: {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} |
|||
{{Pkg|lightdm-gtk-greeter}}: {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} (あるいは、{{Pkg|lightdm-gtk-greeter-settings}} GUI を使用することもできます)。 |
|||
{{Pkg|lightdm-webkit2-greeter}}: {{ic|/etc/lightdm/lightdm-webkit2-greeter.conf}} |
{{Pkg|lightdm-webkit2-greeter}}: {{ic|/etc/lightdm/lightdm-webkit2-greeter.conf}} |
||
=== X セッションラッパー === |
|||
{{Pkg|lightdm-kde-greeter}}{{Broken package link|パッケージが存在しません}}: {{ic|/etc/lightdm/lightdm-kde-greeter.conf}} |
|||
[[xinit]] から移行したユーザは、セッションがシェルから起動しないことに気づくでしょう。これは、シェルはセッションを起動する (そして、セッションはシェルの環境変数を継承する) のに対し、LightDM はセッションを起動するがシェルを source しないことが原因です。LightDM はラッパースクリプトを実行することでセッションを起動し、最後にグラフィカル環境を起動します。デフォルトでは、{{ic|/etc/lightdm/Xsession}} が実行されます。 |
|||
==== 環境変数 ==== |
|||
スクリプトは {{ic|/etc/profile}}、{{ic|~/.profile}}、{{ic|/etc/xprofile}}、そして {{ic|~/.xprofile}} をこの順番で読み込みます。これらのファイルを source しないシェルを使用している場合は、ファイルを読み込む {{ic|~/.xprofile}} を作成してもよいです。以下の例では、[[zsh]] がログインシェルです: |
|||
{{hc|~/.xprofile|2= |
|||
#!/bin/sh |
|||
<nowiki>[ -f ~/.config/zsh/.zshenv ] && . ~/.config/zsh/.zshenv</nowiki> |
|||
}} |
|||
セッションにおいて重要であるシェル変数 (GTK や QT のテーマ、GNUPG の場所、設定のオーバーライドなど) を定義している場合は、こうすることでログインシェルから起動せずにグラフィカル環境が環境変数にアクセスすることができるようになります。 |
|||
==== キーマップ ==== |
|||
スクリプトは {{ic|/etc/X11/Xkbmap}} と {{ic|~/.Xkbmap}} で定義されている引数を使って [[Xkbmap]] を実行します。これらのファイルが存在しない場合、スクリプトは {{ic|/etc/X11/Xmodmap}} と {{ic|~/.Xmodmap}} で定義されている引数を使って [[xmodmap]] を実行します。xkbmap を使用する場合、上記のファイルは cat を使ってパースされます。例: |
|||
{{hc|~/.Xmodmap|2= |
|||
-model pc105 -layout us,us,tr -variant ,dvorak,f -option grp:caps_toggle |
|||
}} |
|||
それら以外の場合、セッションは X11 のシステムのデフォルトのキーマップを継承します。このキーマップは、xorg の設定ファイルを手動で編集するか、{{ic|localectl set-x11-keymap}} を使用することで定義することができます。[[Xorg/キーボード設定#キーボードレイアウトの設定]] を参照。 |
|||
==== lightdm-gtk-greeter で複数のキーボード配列 ==== |
|||
事前定義済みのキーボード配列の中から配列を切り替えられるようにするには、ドロップダウンメニューを有効化し、配列を設定してください。{{Pkg|lightdm-gtk-greeter-settings}} GUI を使用するか、設定ファイルを直接編集してください: |
|||
{{hc|/etc/lightdm/lightdm-gtk-greeter.conf|2= |
|||
[greeter] |
|||
indicators = ~host;~spacer;~clock;~spacer;~layout;~language;~session;~a11y;~power |
|||
}} |
|||
複数の配列を設定するには [[Xorg/キーボード設定#localectl を使う|localectl]] を使用してください。例えば、de とその "バリアント" である neo を設定し、後者をプライマリとするには: |
|||
# localectl --no-convert set-x11-keymap de,de pc105 neo, |
|||
末尾のコンマは2つめの de の空白のバリアントを意味していることに注意してください。 |
|||
=== 背景画像・色を変更する === |
=== 背景画像・色を変更する === |
||
単色 (画像なし) を使いたい場合は {{ic|background}} 変数を十六進数の色コードに設定してください。例: |
|||
background=#000000 |
|||
背景には16進数のカラーコードか画像を設定することができます。一部の greeter は、ログイン画面による背景選択、ランダムな背景などのよりロバストな背景オプションを提供しています。 |
|||
画像を使いたい場合は以下を参照してください。 |
|||
==== GTK |
==== GTK greeter ==== |
||
{{Pkg|lightdm-gtk-greeter-settings}} を使うことで GUI で設定できます。 |
|||
{{Pkg|lightdm-gtk-greeter-settings}} GUI を使って設定することができます。 |
|||
{{hc|/etc/lightdm/lightdm-gtk-greeter.conf|2=[greeter] |
|||
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg}} |
|||
Greeter 画面の壁紙をカスタマイズしたい場合は、{{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} を編集して {{ic|[greeter]}} セクション内で {{ic|background}} 変数を定義する必要があります。例: |
|||
{{Note|LightDM ユーザーが画像ファイルにアクセスできるようにするため、{{ic|/usr/share/pixmaps}} に PNG や JPG ファイルを配置することが推奨されています。}} |
|||
{{hc|/etc/lightdm/lightdm-gtk-greeter.conf|2= |
|||
===== GTK3 ダークテーマ ===== |
|||
[greeter] |
|||
GTK3 からテーマに "dark" カラーパレットが追加されていますが、lightdm-gtk-greeter はまだネイティブでサポートしていません。{{ic|/usr/share/xgreeters/lightdm-gtk-greeter.desktop}} の環境変数でテーマを上書きするようにしてください。例: |
|||
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg |
|||
{{hc|/usr/share/xgreeters/lightdm-gtk-greeter.desktop|2= |
|||
[Desktop Entry] |
|||
Name=LightDM GTK+ Greeter |
|||
Comment=This runs the GTK+ greeter, it should only be run from LightDM |
|||
Exec=env GTK_THEME=Adwaita:dark lightdm-gtk-greeter |
|||
Type=Application |
|||
X-Ubuntu-Gettext-Domain=lightdm |
|||
}} |
}} |
||
{{Note|LightDM ユーザーが画像ファイルにアクセスできるようにするために、{{ic|/usr/share/pixmaps}} に PNG や JPG ファイルを配置することが推奨されています。}} |
|||
==== Webkit2 Greeter ==== |
|||
GTK3 テーマは {{ic|[greeter]}} セクション内の {{ic|theme-name}} 変数で指定することができます。アイコンとカーソルのテーマも同じように設定できます。例: |
|||
{{hc|/etc/lightdm/lightdm-gtk-greeter.conf|2= |
|||
[greeter] |
|||
theme-name = Tela |
|||
icon-theme-name = Tela |
|||
cursor-theme-name = Tela |
|||
cursor-theme-size = 32 |
|||
font-name = Cantarell 20 |
|||
}} |
|||
==== Webkit2 greeter ==== |
|||
{{Pkg|lightdm-webkit2-greeter}} では、背景画像をログイン画面で直接選択することができます。また、[https://github.com/artur9010/lightdm-webkit-material Material テーマ]を使用する場合は、起動するたびにランダムな画像を表示するオプションも提供されています。デフォルトでは、画像は {{ic|/usr/share/backgrounds}} から読み込まれます。{{ic|lightdm-webkit2-greeter.conf}} を編集することで背景画像を直接変更することができます。例えば: |
|||
{{Pkg|lightdm-webkit2-greeter}} の場合、ログイン画面で直接背景画像を選択することができます。起動するたびにランダムに画像を表示するオプションも存在します。デフォルトでは、画像は {{ic|/usr/share/backgrounds}} から読み込まれます。{{ic|lightdm-webkit2-greeter.conf}} を編集することで背景画像のディレクトリを変更できます。例: |
|||
{{hc|/etc/lightdm/lightdm-webkit2-greeter.conf|2= |
{{hc|/etc/lightdm/lightdm-webkit2-greeter.conf|2= |
||
[branding] |
[branding] |
||
| 139行目: | 181行目: | ||
}} |
}} |
||
{{Note|背景画像は LightDM ユーザ |
{{Note|背景画像のディレクトリは LightDM ユーザによってアクセス可能でなければなりません。よって、画像は {{ic|/home}} 内に配置するべきではありません。}} |
||
==== Unity |
==== Unity greeter ==== |
||
{{AUR|lightdm-unity-greeter}} を使っている場合 {{ic|/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml}} ファイルを編集して次を実行してください: |
|||
# glib-compile-schemas /usr/share/glib-2.0/schemas/ |
|||
{{AUR|lightdm-unity-greeter}}{{Broken package link|package not found}} を使っている場合、{{ic|/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml}} ファイルを編集して、次を実行してください: |
|||
[https://bbs.archlinux.org/viewtopic.php?id=149945 この] ページを参照。 |
|||
# glib-compile-schemas /usr/share/glib-2.0/schemas/ |
|||
==== KDE Greeter ==== |
|||
''System Settings > Login Screen (LightDM)'' に行き背景画像を変更してください。 |
|||
[https://bbs.archlinux.org/viewtopic.php?id=149945 このページ]を参照。 |
|||
また、{{ic|lightdm-kde-greeter.conf}} の {{ic|Background}} 変数を編集する方法もあります: |
|||
==== Slick Greeter ==== |
|||
{{hc|/etc/lightdm/lightdm-kde-greeter.conf|2= |
|||
[greeter] |
|||
theme-name=classic |
|||
{{AUR|lightdm-settings}} GUI を使用してください。 |
|||
[greeter-settings] |
|||
Background=/usr/share/archlinux/wallpaper/archlinux-underground.jpg |
|||
BackgroundKeepAspectRatio=true |
|||
GreetMessage=Welcome to %hostname% |
|||
}} |
|||
=== アバターを変更する === |
=== アバターを変更する === |
||
まず、{{Pkg|accountsservice}} パッケージが[[インストール]]されていることを確認し、その後、以下のようにセットアップしてください。{{ic|''username''}} の部分はユーザーのログイン名に置き換えてください。 |
|||
{{Tip|KDE を使っている場合、KDE システム設定からアバターを変更できます。}} |
|||
* 96x96 の PNG 画像ファイルを使って {{ic|/var/lib/AccountsService/icons/''username''.png}} ファイルを作成してください。その他の画像フォーマットも利用可能です (例えば JPEG)。 |
|||
まず {{pkg|accountsservice}} パッケージ ([[公式リポジトリ]]にあります) がインストールされているか確認してください。それから、以下の手順で設定してください。<username> はあなたのログイン名に置き換えてください。.png ファイルの拡張子はファイル名に含めません。 |
|||
* あるいは、デフォルトの設定がすでにユーザーのホームディレクトリのパスを使用している場合は、画像ファイルを {{ic|/home/''username''/.face}} として配置し、次の手順を飛ばしてください。 |
|||
* {{ic|/var/lib/AccountsService/users/ |
* アカウントの設定ファイル {{ic|/var/lib/AccountsService/users/''username''}} を編集あるいは作成し、以下の設定を追加してください: |
||
[User] |
[User] |
||
Icon=/var/lib/AccountsService/icons/''username'' |
Icon=/var/lib/AccountsService/icons/''username''.png |
||
ここでのファイル名は、1番目の手順で作成したアイコンファイルでなければなりません。なので、必要に応じてファイル名の拡張子を変更してください。 |
|||
{{Note|作成したファイルのパーミッションは 644 に設定して |
{{Note|作成したファイルのパーミッションは全て 644 に設定してください。[[chmod]] を使って、パーミッションを設定してください。}} |
||
=== Arch の 64x64 アイコンを使う === |
=== Arch の 64x64 アイコンを使う === |
||
[[Arch User Repository|AUR]] の {{AUR|archlinux-artwork}} パッケージには素晴らしいサンプルが含まれており {{ic|/usr/share/archlinux/icons}} にインストールされます。以下のように {{ic|/usr/share/icons/hicolor/64x64/devices}} にコピーすることが可能です: |
|||
{{AUR|archlinux-artwork}} パッケージには素晴らしいサンプルが含まれており、{{ic|/usr/share/archlinux/icons}} にインストールされます。以下のように {{ic|/usr/share/icons/hicolor/64x64/devices}} にコピーすることが可能です: |
|||
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \; |
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \; |
||
| 184行目: | 219行目: | ||
=== 自動ログインを有効にする === |
=== 自動ログインを有効にする === |
||
LightDM の設定ファイルを編集して以下の行を変更してください: |
|||
LightDM の設定ファイルを編集して、以下の設定をアンコメントし、正しく設定してください: |
|||
{{hc|/etc/lightdm/lightdm.conf|2= |
{{hc|/etc/lightdm/lightdm.conf|2= |
||
[Seat:*] |
[Seat:*] |
||
| 190行目: | 227行目: | ||
}} |
}} |
||
パスワードを入力しないで自動的にログインする |
パスワードを入力しないで自動的にログインできるようにするには、ユーザを {{ic|autologin}} グループに追加する必要があります: |
||
# groupadd -r autologin |
# groupadd -r autologin |
||
# gpasswd -a '' |
# gpasswd -a ''username'' autologin |
||
LightDM は {{ic|~/.dmrc}} に指定されたセッションを使ってログインします。このファイルを |
LightDM は {{ic|~/.dmrc}} に指定されたセッションを使ってログインします。このファイルの設定をオーバーライドするには、{{ic|lightdm.conf}} で {{ic|autologin-session}} を指定してください: |
||
{{hc|/etc/lightdm/lightdm.conf|2= |
{{hc|/etc/lightdm/lightdm.conf|2= |
||
| 202行目: | 239行目: | ||
autologin-session=''session'' |
autologin-session=''session'' |
||
}} |
}} |
||
有効なセッション名のリストは、X セッションは {{ic|/usr/share/xsessions/*.desktop}} を、Wayland セッションは {{ic|/usr/share/wayland-sessions/*.desktop}} を一覧表示すればわかります。 |
|||
{{Note|GNOME ユーザー (と gnome-keyring ユーザー) は、自動でロックが解除されるように、キーリングに空のパスワードを設定する必要があります。}} |
{{Note|GNOME ユーザー (と gnome-keyring ユーザー) は、自動でロックが解除されるように、キーリングに空のパスワードを設定する必要があります。}} |
||
| 227行目: | 266行目: | ||
# useradd -mG autologin,nopasswdlogin -s /bin/bash ''username'' |
# useradd -mG autologin,nopasswdlogin -s /bin/bash ''username'' |
||
=== シ |
=== ゲストセッションを有効化する === |
||
{{Note|この機能を有効化すると、ゲストユーザはパスワード無しでシステムにアクセスできるようになります。}} |
|||
(システムの設定を変えずに) LightDM でゲストセッションを有効化するには、少なくとも以下の2つが必要です: |
|||
# '''guest-account-script''': {{ic|guest-account}} をデフォルトとし、以下の2つのコマンドを受け入れるスクリプト: |
|||
#* '''add''' (一時的なゲストシステムアカウントを作成し、作成されたアカウントのユーザ名を返します) |
|||
#* '''remove''' ''アカウント名'' (対応するアカウントを削除します) |
|||
# 作成されたゲストアカウントを追加する [[#自動ログインを有効にする|'''autologin''']] グループ (参照: {{ic|/etc/pam.d/lightdm-autologin}})。 |
|||
LightDM でゲストセッションを有効化する AUR パッケージが2つあります: |
|||
* {{aur|lightdm-guest}}: 上流の (ほぼ変更されていない) guest-session スクリプトと {{pkg|lightdm}} 自体を提供します。 |
|||
* {{aur|lightdm-guest-account}}: スクリプトの最小バージョンのみを提供します。 |
|||
=== システムユーザーとサービスユーザーを隠す === |
|||
システムユーザーをログイン画面で表示されないようにするには、任意の依存パッケージ {{Pkg|accountsservice}} をインストールするか、ユーザーの名前を {{ic|/etc/lightdm/users.conf}} の {{ic|hidden-users}} に追加してください。前者の方法ではユーザーを追加・削除したときにリストを更新する必要はありません。 |
システムユーザーをログイン画面で表示されないようにするには、任意の依存パッケージ {{Pkg|accountsservice}} をインストールするか、ユーザーの名前を {{ic|/etc/lightdm/users.conf}} の {{ic|hidden-users}} に追加してください。前者の方法ではユーザーを追加・削除したときにリストを更新する必要はありません。 |
||
=== SLiM からの移行 === |
=== SLiM からの移行 === |
||
[[xinitrc]] の中身を [[xprofile]] に移動し、[[ウィンドウマネージャ]]や[[デスクトップ環境]]を起動するコマンドを削除してください。 |
[[xinitrc]] の中身を [[xprofile]] に移動し、[[ウィンドウマネージャ]]や[[デスクトップ環境]]を起動するコマンドを削除してください。 |
||
=== ~/.xinitrc を使ってログイン === |
=== ~/.xinitrc を使ってログイン === |
||
[[ディスプレイマネージャ#セッションとして ~/.xinitrc を実行]] を見てください。 |
|||
カスタム起動スクリプトを使う場合は [[xprofile]] に移行することが推奨されますが、{{AUR|xinit-xsession}} をインストールすることで [[xinitrc]] を使うようにすることも可能です。{{ic|/usr/share/xsessions/}} に必要なファイルがインストールされ、LightDM を再起動したときにオプションが表示されるようになります。 |
|||
=== NumLock を |
=== NumLock をデフォルトでオンにする === |
||
{{Pkg|numlockx}} パッケージをインストールして {{ic|/etc/lightdm/lightdm.conf}} を編集して次の行を加えて下さい: |
|||
{{hc|/etc/lightdm/lightdm.conf|2=[Seat:*] |
|||
greeter-setup-script=/usr/bin/numlockx on}} |
|||
{{Pkg|numlockx}} パッケージをインストールし、{{ic|/etc/lightdm/lightdm.conf}} を編集してください: |
|||
=== ユーザー切り替え === |
|||
LightDM は様々なデスクトップ環境でのユーザー切り替えをサポートしています。ユーザー切り替えを有効にするにはシンボリックリンクを作成する必要があります: |
|||
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver |
|||
{{hc|/etc/lightdm/lightdm.conf|2= |
|||
他の方法については [[XScreenSaver#Lightdm]] の記事を見て下さい。 |
|||
[Seat:*] |
|||
greeter-setup-script=/usr/bin/numlockx on |
|||
}} |
|||
=== デフォルトセッション === |
=== デフォルトセッション === |
||
他の DM と同じように、Lightdm は最後に選択された xsession を {{ic|~/.dmrc}} に保存します。詳しくは[[ディスプレイマネージャ#セッション設定]]を見てください。 |
他の DM と同じように、Lightdm は最後に選択された xsession を {{ic|~/.dmrc}} に保存します。詳しくは [[ディスプレイマネージャ#セッション設定]] を見てください。 |
||
=== ログインウィンドウの位置を変更 === |
=== ログインウィンドウの位置を変更 === |
||
==== GTK |
==== GTK greeter ==== |
||
{{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} を編集して {{ic|position}} 変数に値を入力する必要があります。{{ic|x}} と {{ic|y}} を入れることができ、絶対座標 (ピクセル) と相対座標 (パーセント) で指定できます。また、ウィンドウのアンカーの位置 ({{ic|start}} |
{{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} を編集して {{ic|position}} 変数に値を入力する必要があります。{{ic|x}} 値と {{ic|y}} 値を入れることができ、絶対座標 (ピクセル) と相対座標 (パーセント) で指定できます。また、ウィンドウのアンカーの位置 ({{ic|start}}、{{ic|center}}、{{ic|end}}) を指定することもできます。値はカンマで区切ります。 |
||
例: |
例: |
||
position=200,start 50%,center |
position=200,start 50%,center |
||
=== VNC サーバー === |
=== VNC サーバー === |
||
Lightdm を使って vnc 経由で接続することも可能です。サーバーとクライアントに {{pkg|tigervnc}} をインストールしてください。 |
|||
Lightdm を使って VNC 経由で接続することも可能です。サーバ側に {{pkg|tigervnc}} をインストールしてください。任意で、クライアント側の PC にも VNC クライアントとしてインストールしてください。 |
|||
サーバー側で root を使って認証パスワードを設定: |
|||
サーバ側で root として認証パスワードをセットアップしてください: |
|||
# vncpasswd /etc/vncpasswd |
# vncpasswd /etc/vncpasswd |
||
そして以下のように |
そして、以下のように LightDM の設定ファイルを編集してください。{{ic|listen-address}} の設定で localhost からの接続のみをリッスンするように VNC を設定していることに注意してください。これは、[[TigerVNC#クライアント側|SSH とポートフォワーディング]]経由での接続のみを許可するためです。SSH クライアントでは、トンネルの接続先として {{ic|localhost:5900}} のみを使うようにしてください。デュアルスタックのネットワーク接続では {{ic|127.0.0.1:5900}} や {{ic|::1:5900}} は信頼性がありません。セキュアでない接続も許可するようにしたい場合、この設定を無効化してください。 |
||
{{hc|/etc/lightdm/lightdm.conf|2= |
{{hc|/etc/lightdm/lightdm.conf|2= |
||
| 281行目: | 338行目: | ||
}} |
}} |
||
設定したら |
設定したら、[[TigerVNC#クライアント側]] に書かれているように SSH トンネルを開いてローカルホストに接続してください。 |
||
{{Note|VNC 接続を開いたときに画面に何も表示されない場合、別の |
{{Note|VNC 接続を開いたときに画面に何も表示されない場合、別の LightDM greeter を試してみてください。}} |
||
=== light-locker を使って画面をロック === |
=== light-locker を使って画面をロック === |
||
{{Pkg|light-locker}} は LightDM を使用してユーザーを認証するシンプルなスクリーンロッカーです。インストールして起動したら以下のコマンドでセッションをロックできます: |
{{Pkg|light-locker}} は LightDM を使用してユーザーを認証するシンプルなスクリーンロッカーです。インストールして起動したら以下のコマンドでセッションをロックできます: |
||
$ light-locker-command -l |
$ light-locker-command -l |
||
上記コマンドを使うにはセッションの最初に {{ic|light-locker}} を起動する必要があります。[[自動起動]]を見てください。 |
|||
上記コマンドを使うにはセッションの最初に {{ic|light-locker}} を起動する必要があります。デフォルトでは、これは [[XDG 自動起動]]を使用して有効化されます。その他のオプションは [[自動起動]] を見てください。 |
|||
=== マルチモニターのセットアップ === |
|||
マルチモニター環境では LightDM がモニターの解像度を適切に設定しないことがあります。以下の Xorg 設定はデュアルモニターの環境で機能します: 大きなプライマリスクリーンを左側に配置し、サブの小さい方のスクリーンをプライマリの右側に配置します。順番は逆にすることも変更することもできます。 |
|||
{{hc|/etc/X11/xorg.conf.d/52-resolution-fix.conf|2= |
|||
Section "Monitor" |
|||
Identifier "DP1" |
|||
Option "PreferredMode" "3840x2160" |
|||
Option "Primary" "1" |
|||
EndSection |
|||
Section "Monitor" |
|||
Identifier "eDP1" |
|||
Option "PreferredMode" "1920x1080" |
|||
Option "RightOf" "DP1" |
|||
EndSection |
|||
}} |
|||
これは、{{ic|/etc/lightdm/lightdm.conf}} の {{ic|display-setup-script}} の設定を不要にします。 |
|||
== トラブルシューティング == |
== トラブルシューティング == |
||
2023年10月6日 (金) 10:26時点における版
関連記事
LightDM はクロスデスクトップのディスプレイマネージャです。主な特徴は以下の通り:
- クロスデスクトップ - 様々なデスクトップ技術をサポート。
- 様々なディスプレイサーバーに対応 (X、Mir、Wayland ...)。
- 軽量 - メモリの使用量が少なくて高速に動作。
- ゲストセッションをサポート。
- リモートログインをサポート (着信 - XDMCP、VNC、発信 - XDMCP、PAM)。
- 充実したテストスイート。
- 軽量なコードベース。
LightDM の設計に関する詳細は ここ から見れます。
インストール
Greeter
Greeter もインストールする必要があるでしょう。Greeter はユーザーにログイン情報の入力を求める GUI であり、セッションの選択なども行います。Greeter 無しで LightDM を使うことも可能ですが、自動ログインが設定されている場合に限ります。Greeter を使用する場合は、xorg-server をインストールし、さらに以下の greeter パッケージのどれかをインストールする必要があります。
公式リポジトリには以下の greeter が含まれています:
- lightdm-gtk-greeter: これはデフォルトの greeter であり、特に設定されていない場合、LightDM はこれを使用しようと試みます。
- lightdm-deepin-greeter (deepin-session-shell): Deepin プロジェクトの greeter。
- lightdm-pantheon-greeter: Elementary OS プロジェクトの greeter。
- lightdm-slick-greeter: lightdm-gtk-greeter よりも見た目を重視した GTK ベースの greeter。lightdm-unity-greeterAUR[リンク切れ: package not found] のフォークであり、Linux Mint ではデフォルトになっています。
- lightdm-webkit2-greeter: テーマに Webkit2 を使用する greeter。lightdm-webkit-greeter の後継。
- lightdm-webkit-theme-litarvan: モダンかつ完全な Webkit2 LightDM テーマ。
その他の greeter は AUR からインストールすることができます:
- lightdm-unity-greeterAUR[リンク切れ: package not found]: Unity で使用されている greeter。
- lightdm-mini-greeterAUR: 最小でカスタマイズ可能なシングルユーザ greeter。
- web-greeter-theme-shikaiAUR: LightDM の web-greeterAUR 用の美しいカスタマイズ可能な lightdm テーマ。
- lightdm-webkit-theme-aetherAUR: LightDM と lightdm-webkit2-greeter を使用する、洗練されたわかりやすい Arch Linuxテーマのログイン画面。
- lightdm-elephant-greeter-gitAUR: 小さくてシンプルな greeter。デフォルトで cage Wayland コンポジタを使用します。
- web-greeterAUR: テーマに PyQtWebEngine を使用するモダンで魅力的な greeter。lightdm-webkit2-greeter の後継。
LightDM の設定ファイルの [Seat:*] セクションを変更することでデフォルトの greeter を設定することができます。例えば:
/etc/lightdm/lightdm.conf
[Seat:*] ... greeter-session=lightdm-yourgreeter-greeter ...
io.elementary.greeter.conf です。lightdm-pantheon-greeter.conf ではありません。どの greeter が利用できるか確認できる方法としては、/usr/share/xgreeters ディレクトリ内のファイルをリストアップするというものがあります。それぞれの .desktop ファイルは1つの利用可能な greeter を表します。以下の例では、lightdm-gtk-greeter greeter と lightdm-webkit2-greeter greeter が利用可能です:
$ ls -1 /usr/share/xgreeters/ lightdm-gtk-greeter.desktop lightdm-webkit2-greeter.desktop
LightDM を有効にする
LightDM をブート時に起動するには lightdm.service を有効化してください。ディスプレイマネージャ#ディスプレイマネージャをロードする も参照。
コマンドラインツール
LightDM はコマンドラインツール dm-tool を提供しています。これを使うことで現在のシートのロック、セッションの切り替えなどができます。'最小主義の'ウィンドウマネージャを使っている場合やテストに便利です。利用できるコマンドを表示するには、次を実行してください:
$ dm-tool --help
ユーザーの切り替え
dm-tool lock や dm-tool switch-to-greeter を実行することで) 簡単にバイパスすることができ、light-locker か他の loginctl 互換のスクリーンロッカーが無いとセッションをロックしません。XScreenSaver#ロック画面からユーザーを切り替える を参照。LightDM の dm-tool コマンドを使って別々の tty に複数のユーザーをログインさせることができます。以下のコマンドは現在のセッションをロックするシグナルを送信して LightDM の greeter への切り替えを行って、新しいユーザーがログインできるようにします:
$ dm-tool switch-to-greeter
テスト
まず、xorg-server-xephyr をインストールしてください。
そして、LightDM を X アプリケーションとして実行してください:
$ lightdm --test-mode --debug
任意の設定と調整
LightDM は、設定ファイル /etc/lightdm/lightdm.conf を編集することで設定することができます。
また、一部の greeter には独自の設定ファイルが存在しています。例えば:
lightdm-gtk-greeter: /etc/lightdm/lightdm-gtk-greeter.conf (あるいは、lightdm-gtk-greeter-settings GUI を使用することもできます)。
lightdm-webkit2-greeter: /etc/lightdm/lightdm-webkit2-greeter.conf
X セッションラッパー
xinit から移行したユーザは、セッションがシェルから起動しないことに気づくでしょう。これは、シェルはセッションを起動する (そして、セッションはシェルの環境変数を継承する) のに対し、LightDM はセッションを起動するがシェルを source しないことが原因です。LightDM はラッパースクリプトを実行することでセッションを起動し、最後にグラフィカル環境を起動します。デフォルトでは、/etc/lightdm/Xsession が実行されます。
環境変数
スクリプトは /etc/profile、~/.profile、/etc/xprofile、そして ~/.xprofile をこの順番で読み込みます。これらのファイルを source しないシェルを使用している場合は、ファイルを読み込む ~/.xprofile を作成してもよいです。以下の例では、zsh がログインシェルです:
~/.xprofile
#!/bin/sh [ -f ~/.config/zsh/.zshenv ] && . ~/.config/zsh/.zshenv
セッションにおいて重要であるシェル変数 (GTK や QT のテーマ、GNUPG の場所、設定のオーバーライドなど) を定義している場合は、こうすることでログインシェルから起動せずにグラフィカル環境が環境変数にアクセスすることができるようになります。
キーマップ
スクリプトは /etc/X11/Xkbmap と ~/.Xkbmap で定義されている引数を使って Xkbmap を実行します。これらのファイルが存在しない場合、スクリプトは /etc/X11/Xmodmap と ~/.Xmodmap で定義されている引数を使って xmodmap を実行します。xkbmap を使用する場合、上記のファイルは cat を使ってパースされます。例:
~/.Xmodmap
-model pc105 -layout us,us,tr -variant ,dvorak,f -option grp:caps_toggle
それら以外の場合、セッションは X11 のシステムのデフォルトのキーマップを継承します。このキーマップは、xorg の設定ファイルを手動で編集するか、localectl set-x11-keymap を使用することで定義することができます。Xorg/キーボード設定#キーボードレイアウトの設定 を参照。
lightdm-gtk-greeter で複数のキーボード配列
事前定義済みのキーボード配列の中から配列を切り替えられるようにするには、ドロップダウンメニューを有効化し、配列を設定してください。lightdm-gtk-greeter-settings GUI を使用するか、設定ファイルを直接編集してください:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] indicators = ~host;~spacer;~clock;~spacer;~layout;~language;~session;~a11y;~power
複数の配列を設定するには localectl を使用してください。例えば、de とその "バリアント" である neo を設定し、後者をプライマリとするには:
# localectl --no-convert set-x11-keymap de,de pc105 neo,
末尾のコンマは2つめの de の空白のバリアントを意味していることに注意してください。
背景画像・色を変更する
背景には16進数のカラーコードか画像を設定することができます。一部の greeter は、ログイン画面による背景選択、ランダムな背景などのよりロバストな背景オプションを提供しています。
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
/usr/share/pixmaps に PNG や JPG ファイルを配置することが推奨されています。GTK3 テーマは [greeter] セクション内の theme-name 変数で指定することができます。アイコンとカーソルのテーマも同じように設定できます。例:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] theme-name = Tela icon-theme-name = Tela cursor-theme-name = Tela cursor-theme-size = 32 font-name = Cantarell 20
Webkit2 greeter
lightdm-webkit2-greeter では、背景画像をログイン画面で直接選択することができます。また、Material テーマを使用する場合は、起動するたびにランダムな画像を表示するオプションも提供されています。デフォルトでは、画像は /usr/share/backgrounds から読み込まれます。lightdm-webkit2-greeter.conf を編集することで背景画像を直接変更することができます。例えば:
/etc/lightdm/lightdm-webkit2-greeter.conf
[branding] background_images = /usr/share/backgrounds
/home 内に配置するべきではありません。Unity greeter
lightdm-unity-greeterAUR[リンク切れ: package not found] を使っている場合、/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml ファイルを編集して、次を実行してください:
# glib-compile-schemas /usr/share/glib-2.0/schemas/
このページを参照。
Slick Greeter
lightdm-settingsAUR GUI を使用してください。
アバターを変更する
まず、accountsservice パッケージがインストールされていることを確認し、その後、以下のようにセットアップしてください。username の部分はユーザーのログイン名に置き換えてください。
- 96x96 の PNG 画像ファイルを使って
/var/lib/AccountsService/icons/username.pngファイルを作成してください。その他の画像フォーマットも利用可能です (例えば JPEG)。 - あるいは、デフォルトの設定がすでにユーザーのホームディレクトリのパスを使用している場合は、画像ファイルを
/home/username/.faceとして配置し、次の手順を飛ばしてください。 - アカウントの設定ファイル
/var/lib/AccountsService/users/usernameを編集あるいは作成し、以下の設定を追加してください:
[User] Icon=/var/lib/AccountsService/icons/username.png
ここでのファイル名は、1番目の手順で作成したアイコンファイルでなければなりません。なので、必要に応じてファイル名の拡張子を変更してください。
Arch の 64x64 アイコンを使う
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
[Seat:*] autologin-user=username
パスワードを入力しないで自動的にログインできるようにするには、ユーザを autologin グループに追加する必要があります:
# groupadd -r autologin # gpasswd -a username autologin
LightDM は ~/.dmrc に指定されたセッションを使ってログインします。このファイルの設定をオーバーライドするには、lightdm.conf で autologin-session を指定してください:
/etc/lightdm/lightdm.conf
[Seat:*] autologin-user=username autologin-session=session
有効なセッション名のリストは、X セッションは /usr/share/xsessions/*.desktop を、Wayland セッションは /usr/share/wayland-sessions/*.desktop を一覧表示すればわかります。
インタラクティブなパスワードレスログインを有効化する
LightDM は PAM を経由します。なので、PAM の lightdm 設定ファイルを設定する必要があります:
/etc/pam.d/lightdm
#%PAM-1.0 auth sufficient pam_succeed_if.so user ingroup nopasswdlogin auth include system-login ...
次に、パスワードを入力せずにインタラクティブにログインできるようにするために、あなたのユーザを nopasswdlogin グループに追加する必要があります:
# groupadd -r nopasswdlogin # gpasswd -a username nopasswdlogin
自動ログインし、さらにパスワード無しで再ログインできるユーザアカウントを作成するには、両方のグループに含まれるユーザを作成してください。例えば:
# useradd -mG autologin,nopasswdlogin -s /bin/bash username
ゲストセッションを有効化する
(システムの設定を変えずに) LightDM でゲストセッションを有効化するには、少なくとも以下の2つが必要です:
- guest-account-script:
guest-accountをデフォルトとし、以下の2つのコマンドを受け入れるスクリプト:- add (一時的なゲストシステムアカウントを作成し、作成されたアカウントのユーザ名を返します)
- remove アカウント名 (対応するアカウントを削除します)
- 作成されたゲストアカウントを追加する autologin グループ (参照:
/etc/pam.d/lightdm-autologin)。
LightDM でゲストセッションを有効化する AUR パッケージが2つあります:
- lightdm-guestAUR: 上流の (ほぼ変更されていない) guest-session スクリプトと lightdm 自体を提供します。
- lightdm-guest-accountAUR: スクリプトの最小バージョンのみを提供します。
システムユーザーとサービスユーザーを隠す
システムユーザーをログイン画面で表示されないようにするには、任意の依存パッケージ accountsservice をインストールするか、ユーザーの名前を /etc/lightdm/users.conf の hidden-users に追加してください。前者の方法ではユーザーを追加・削除したときにリストを更新する必要はありません。
SLiM からの移行
xinitrc の中身を xprofile に移動し、ウィンドウマネージャやデスクトップ環境を起動するコマンドを削除してください。
~/.xinitrc を使ってログイン
ディスプレイマネージャ#セッションとして ~/.xinitrc を実行 を見てください。
NumLock をデフォルトでオンにする
numlockx パッケージをインストールし、/etc/lightdm/lightdm.conf を編集してください:
/etc/lightdm/lightdm.conf
[Seat:*] greeter-setup-script=/usr/bin/numlockx on
デフォルトセッション
他の DM と同じように、Lightdm は最後に選択された xsession を ~/.dmrc に保存します。詳しくは ディスプレイマネージャ#セッション設定 を見てください。
ログインウィンドウの位置を変更
GTK greeter
/etc/lightdm/lightdm-gtk-greeter.conf を編集して position 変数に値を入力する必要があります。x 値と y 値を入れることができ、絶対座標 (ピクセル) と相対座標 (パーセント) で指定できます。また、ウィンドウのアンカーの位置 (start、center、end) を指定することもできます。値はカンマで区切ります。
例:
position=200,start 50%,center
VNC サーバー
Lightdm を使って VNC 経由で接続することも可能です。サーバ側に tigervnc をインストールしてください。任意で、クライアント側の PC にも VNC クライアントとしてインストールしてください。
サーバ側で root として認証パスワードをセットアップしてください:
# vncpasswd /etc/vncpasswd
そして、以下のように LightDM の設定ファイルを編集してください。listen-address の設定で localhost からの接続のみをリッスンするように VNC を設定していることに注意してください。これは、SSH とポートフォワーディング経由での接続のみを許可するためです。SSH クライアントでは、トンネルの接続先として localhost:5900 のみを使うようにしてください。デュアルスタックのネットワーク接続では 127.0.0.1:5900 や ::1:5900 は信頼性がありません。セキュアでない接続も許可するようにしたい場合、この設定を無効化してください。
/etc/lightdm/lightdm.conf
[VNCServer] enabled=true command=Xvnc -rfbauth /etc/vncpasswd port=5900 listen-address=localhost width=1024 height=768 depth=24
設定したら、TigerVNC#クライアント側 に書かれているように SSH トンネルを開いてローカルホストに接続してください。
light-locker を使って画面をロック
light-locker は LightDM を使用してユーザーを認証するシンプルなスクリーンロッカーです。インストールして起動したら以下のコマンドでセッションをロックできます:
$ light-locker-command -l
上記コマンドを使うにはセッションの最初に light-locker を起動する必要があります。デフォルトでは、これは XDG 自動起動を使用して有効化されます。その他のオプションは 自動起動 を見てください。
マルチモニターのセットアップ
マルチモニター環境では LightDM がモニターの解像度を適切に設定しないことがあります。以下の Xorg 設定はデュアルモニターの環境で機能します: 大きなプライマリスクリーンを左側に配置し、サブの小さい方のスクリーンをプライマリの右側に配置します。順番は逆にすることも変更することもできます。
/etc/X11/xorg.conf.d/52-resolution-fix.conf
Section "Monitor"
Identifier "DP1"
Option "PreferredMode" "3840x2160"
Option "Primary" "1"
EndSection
Section "Monitor"
Identifier "eDP1"
Option "PreferredMode" "1920x1080"
Option "RightOf" "DP1"
EndSection
これは、/etc/lightdm/lightdm.conf の display-setup-script の設定を不要にします。
トラブルシューティング
画面が点滅して起動時に 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
LightDM や greeter でシステムロケール以外の言語を使いたい場合、ユニットファイルを編集して Environment= オプションを追加してください。
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 コマンドの出力で確認できます。
もしくは、GTK+ greeter を使用している場合、/etc/lightdm/lightdm-gtk-greeter.conf を編集して以下のように active-monitor パラメータを追加することもできます:
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter] active-monitor=0
0 は適当なディスプレイの番号に置き換えてください。
LightDM が表示されない
システムの起動が速すぎて、グラフィックドライバーが読み込まれるよりも先に LightDM サービスが起動してしまうことがあります。このような場合、lightdm.conf ファイルに以下の設定を追加してください:
[LightDM] logind-check-graphical=true
上記の設定で LightDM はグラフィックデバイスの準備が完了するのを待ってから Greeter を生成してセッションを開始します。
Pulseaudio が自動的に起動しない
PulseAudio#実行を見て下さい。
タッチパッドでタップしてクリックできない
設定によってはタップでクリックが機能しないことがあります。libinput を使用している場合、/etc/lightdm/lightdm.conf を編集して以下のように greeter-setup-script オプションをセットして xinput によるタッチパッドのクリックを有効にしてください:
/etc/lightdm/lightdm.conf
greeter-setup-script=xinput set-prop device_number option_number setting_value
xinput を使用して入力デバイスのプロパティを設定する方法は Libinput#設定を参照してください。
初回ログイン時に必ずセグメンテーション違反が発生する
ネットワークページ にあるように、ホスト名を設定してください。FS#47694も参照してください。
ログインの無限ループ
正しいユーザ名とパスワードを入力しても画面が真っ暗になり、何度やってもログインに戻るというループに陥った場合、rm ~/.Xauthority を実行すると解決することがあります。(または、スタックしたユーザーの問題のある .Xauthority) を実行すると、問題を解決できるかもしれません。
もう一つの理由は、"lightdm.conf" を一から作り直そうとして、あなたのバージョンにこの行が欠けていることが原因かもしれません。
session-wrapper=/etc/lightdm/Xsession
その場合、lightdm は lightdm-session をセッションラッパーとして使用しようとしますが、これは Arch Linux には存在しません。