「ディスプレイマネージャ」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「[[zh-tw:」を「[[zh-hant:」に置換) |
(他言語へのリンクを修正) |
||
(5人の利用者による、間の36版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:グラフィカルユーザーインターフェイス]] |
+ | [[Category:ソフトウェア一覧]] |
||
− | [[ar:Display manager]] |
||
− | [[cs:Display manager]] |
||
[[de:Login-Manager]] |
[[de:Login-Manager]] |
||
[[en:Display manager]] |
[[en:Display manager]] |
||
[[es:Display manager]] |
[[es:Display manager]] |
||
− | [[ |
+ | [[fr:Display manager]] |
− | [[fr:Gestionnaire de connexions]] |
||
− | [[he:Display manager]] |
||
− | [[it:Display manager]] |
||
[[pt:Display manager]] |
[[pt:Display manager]] |
||
[[ru:Display manager]] |
[[ru:Display manager]] |
||
− | [[tr:Görüntü yöneticisi]] |
||
− | [[uk:Display manager]] |
||
[[zh-hans:Display manager]] |
[[zh-hans:Display manager]] |
||
− | [[zh-hant:Display manager]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
− | {{Related|デスクトップ環境}} |
||
− | {{Related|ウィンドウマネージャ}} |
||
{{Related|ログイン時に X を起動}} |
{{Related|ログイン時に X を起動}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
− | [[Wikipedia:ja:Xディスプレイマネージャ|ディスプレイマネージャ]]、もしくはログインマネージャは、起動の最後に標準のシェルにかわって表示されるグラフィカルインターフェ |
+ | [[Wikipedia:ja:Xディスプレイマネージャ|ディスプレイマネージャ]]、もしくはログインマネージャは、起動の最後に標準のシェルにかわって表示されるグラフィカルユーザーインターフェイスです。[[ウィンドウマネージャ]]と[[デスクトップ環境]]の数が多くあるように、様々な種類のディスプレイマネージャがあります。さらに、それぞれのマネージャをカスタマイズしたりテーマを選択したりすることが可能です。 |
== ディスプレイマネージャ一覧 == |
== ディスプレイマネージャ一覧 == |
||
=== コンソール === |
=== コンソール === |
||
+ | |||
− | * {{App|[[CDM]]|非常に小さい、しかし機能がととのったログインマネージャ、bash によって実装|https://github.com/ghost1227/cdm|{{AUR|cdm-git}}}} |
||
− | * {{App|[[ |
+ | * {{App|[[CDM]]|[[Bash]] で記述されたログインマネージャー。|https://github.com/evertiro/cdm|{{AUR|cdm}}}} |
+ | * {{App|[[Console TDM]]|Bash だけで書かれた ''xinit'' の拡張。|https://github.com/dopsi/console-tdm|{{AUR|console-tdm}}}} |
||
− | * {{App|[[nodm]]|自動ログイン用の無駄のないディスプレイマネージャ。|http://enricozini.org/sw/nodm/|{{Pkg|nodm}}}} |
||
+ | * {{App|nodm|自動ログイン用のディスプレイマネージャ。2017 以降、開発中止。|https://github.com/spanezz/nodm|{{Pkg|nodm}}}} |
||
+ | * {{App|Ly|Linux と BSD のための TUI (ncurses ライクな) ディスプレイマネージャ。X と Wayland のセッションをサポートします。|https://github.com/nullgemm/ly|{{Pkg|ly}}}} |
||
+ | * {{App|tbsm|Bash セッションまたはアプリケーションランチャー。X と Wayland のセッションをサポートします。|https://loh-tar.github.io/tbsm/|{{AUR|tbsm}}}} |
||
+ | * {{App|emptty|X と Wayland をサポートする TTY 上のシンプルな CLI ディスプレイマネージャー。|https://github.com/tvrzna/emptty/|{{AUR|emptty-git}}}} |
||
+ | * {{App|loginx|getty/login/xinit の組み合わせ。ユーザフレンドリーな curses ui。|https://sourceforge.net/projects/loginx/|{{AUR|loginx}}}} |
||
+ | * {{App|Lemurs|Rust で書かれた、Linux 用 TUI ディスプレイマネージャ。X、Wayland、TTY シェルのセッションをサポートします。|https://github.com/coastalwhite/lemurs|{{AUR|lemurs-git}}}} |
||
=== グラフィカル === |
=== グラフィカル === |
||
+ | |||
− | * {{App|[[Enlightenment|Entrance]]|EFL ベースのディスプレイマネージャ、実験段階。|http://enlightenment.org/|{{AUR|entrance-git}}}} |
||
+ | * {{App|[[Entrance]]|[[Enlightenment]] のディスプレイマネージャ。非常に実験的で、適切な systemd サポートがありません。|https://github.com/Obsidian-StudiosInc/entrance|{{AUR|entrance-git}}}} |
||
* {{App|[[GDM]]|[[GNOME]] のディスプレイマネージャ。|https://wiki.gnome.org/Projects/GDM|{{Pkg|gdm}}}} |
* {{App|[[GDM]]|[[GNOME]] のディスプレイマネージャ。|https://wiki.gnome.org/Projects/GDM|{{Pkg|gdm}}}} |
||
− | * {{App|[[ |
+ | * {{App|[[LightDM]]|クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。|https://github.com/CanonicalLtd/lightdm/|{{Pkg|lightdm}}}} |
− | * {{App|[[ |
+ | * {{App|[[LXDM]]|[[LXDE]] のディスプレイマネージャ。LXDE とは別個に使うことも可能。|https://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}, {{Pkg|lxdm-gtk3}}}} |
− | * {{App|[[ |
+ | * {{App|[[SDDM]]|QML ベースのディスプレイマネージャ (KDM の後継)。[[Plasma]] や [[LXQt]] の推奨ディスプレイマネージャ。|https://github.com/sddm/sddm|{{Pkg|sddm}}}} |
+ | * {{App|[[SLiM]]|軽量でエレガントなグラフィカルログインのソリューション。2013 年以降、開発中止。systemd とは完全な互換性がありません。|https://sourceforge.net/projects/slim.berlios/|{{Pkg|slim}}}} |
||
− | * {{App|MDM|GDM 2 のフォーク。|https://github.com/linuxmint/mdm|{{AUR|mdm-display-manager}}}} |
||
− | * {{App|[[ |
+ | * {{App|[[XDM]]|XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。|{{man|8|xdm}}|{{Pkg|xorg-xdm}}}} |
− | * {{App|[[SLiM]]|軽量でエレガントなグラフィカルログインを提供 (開発終了)。|http://slim.berlios.de/|{{Pkg|slim}}}} |
||
− | * {{App|[[XDM]]|XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。|http://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html|{{Pkg|xorg-xdm}}}} |
||
+ | === ログインデーモン === |
||
− | ==ディスプレイマネージャをロードする== |
||
+ | * {{App|[[greetd]]|コンソールの greeter とグラフィカルな greeter の両方をサポートするログインデーモン。|https://git.sr.ht/~kennylevinsen/greetd|{{Pkg|greetd}}}} |
||
− | グラフィカルログインを有効にするには、好きな''ディスプレイマネージャ''のデーモンを使って下さい (例: [[SDDM]])。 |
||
+ | == ディスプレイマネージャをロードする == |
||
− | # systemctl enable sddm |
||
+ | グラフィカルログインを有効にするには、適切な systemd サービスを[[有効化]]してください。例えば、[[SDDM]]の場合、{{ic|sddm.service}} を有効にします。 |
||
− | これだけで動くはずですが、動かない場合、手動で {{ic|default.target}} を設定するか、古いインストールを使います: |
||
+ | これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動するデフォルトターゲットを変更]] を参照してください。 |
||
− | {{hc|$ ls -l /etc/systemd/system/default.target| |
||
− | [...] /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target}} |
||
+ | [[SDDM]] を[[有効]]にすると、シンボリックリンク {{ic|display-manager.service}} が {{ic|/etc/systemd/system/}} で設定されているはずです。古いシンボリックリンクを上書きするために、{{ic|--force}} を使う必要があるかもしれません。 |
||
− | シンボリックリンクを削除すれば systemd は標準の {{ic|default.target}} (つまり {{ic|graphical.target}}) を使うようになります。 |
||
− | + | {{hc|$ file /etc/systemd/system/display-manager.service| |
|
+ | /etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service |
||
− | |||
+ | }} |
||
− | SDDM を有効にした後、シンボリックリンク "display-manager.service" が {{ic|/etc/systemd/system/}} に設定されるはずです: |
||
− | |||
− | {{hc|$ ls -l /etc/systemd/system/display-manager.service| |
||
− | [...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/sddm.service}} |
||
=== systemd-logind を使う === |
=== systemd-logind を使う === |
||
− | ユーザーセッションの状態を確認するには |
+ | ユーザーセッションの状態を確認するには ''loginctl'' を使います。サスペンドや外部デバイスのマウントなどの全ての [[polkit]] アクションはそのまま動きます。 |
$ loginctl show-session $XDG_SESSION_ID |
$ loginctl show-session $XDG_SESSION_ID |
||
69行目: | 61行目: | ||
== セッション設定 == |
== セッション設定 == |
||
− | 多くのディスプレイマネージャは {{ic|/usr/share/xsessions/}} ディレクトリから利用できるセッションを読み込みます。このディレクトリには DM/WM のための標準の [ |
+ | 多くのディスプレイマネージャは {{ic|/usr/share/xsessions/}} ディレクトリから利用できるセッションを読み込みます。このディレクトリには DM/WM のための標準の [https://specifications.freedesktop.org/desktop-entry-spec/latest/ デスクトップエントリファイル] が入っています。一部のディスプレイマネージャは、[[Wayland]] 固有のセッションをリストアップするために、別のディレクトリ {{ic|/usr/share/wayland-sessions/}} を使用します。 |
− | ディスプレイマネージャのセッションリストにエントリを追加・削除するには、{{ic|/usr/share/xsessions/}} にある .desktop ファイルを必要に応じて作成・削除してください。典型的な .desktop ファイルは以下のようになります: |
+ | ディスプレイマネージャのセッションリストにエントリを追加・削除するには、{{ic|/usr/share/xsessions/}} にある ''.desktop'' ファイルを必要に応じて作成・削除してください。典型的な ''.desktop'' ファイルは以下のようになります: |
[Desktop Entry] |
[Desktop Entry] |
||
− | Encoding=UTF-8 |
||
Name=Openbox |
Name=Openbox |
||
Comment=Log in using the Openbox window manager (without a session manager) |
Comment=Log in using the Openbox window manager (without a session manager) |
||
80行目: | 71行目: | ||
TryExec=/usr/bin/openbox-session |
TryExec=/usr/bin/openbox-session |
||
Icon=openbox.png |
Icon=openbox.png |
||
− | Type= |
+ | Type=Application |
− | ===セッションとして ~/.xinitrc を実行=== |
+ | === セッションとして ~/.xinitrc を実行 === |
+ | |||
− | {{AUR|xinit-xsession}} をインストールすることで {{ic|.xinitrc}} をセッションとして実行することができるようになります。 |
||
+ | {{AUR|xinit-xsession}} をインストールすることで [[xinitrc]] をセッションとして実行することができるようになります。ディスプレイマネージャに対して {{ic|xinitrc}} をセッションとして設定してください。この時、{{ic|~/.xinitrc}} が[[実行可能属性|実行可能]]であることを確認してください。 |
||
=== ウィンドウマネージャを使わずにアプリケーションを起動 === |
=== ウィンドウマネージャを使わずにアプリケーションを起動 === |
||
90行目: | 82行目: | ||
[Desktop Entry] |
[Desktop Entry] |
||
− | Encoding=UTF-8 |
||
Name=Web Browser |
Name=Web Browser |
||
Comment=Use a web browser as your session |
Comment=Use a web browser as your session |
||
96行目: | 87行目: | ||
TryExec=/usr/bin/google-chrome --auto-launch-at-startup |
TryExec=/usr/bin/google-chrome --auto-launch-at-startup |
||
Icon=google-chrome |
Icon=google-chrome |
||
+ | Type=Application |
||
この場合、ログイン時に、{{ic|Exec}} で設定したアプリケーションがすぐに起動します。アプリケーションを閉じると、ログインマネージャに復帰します (DE/WM からログアウトしたときと同じ)。 |
この場合、ログイン時に、{{ic|Exec}} で設定したアプリケーションがすぐに起動します。アプリケーションを閉じると、ログインマネージャに復帰します (DE/WM からログアウトしたときと同じ)。 |
||
101行目: | 93行目: | ||
この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。 |
この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。 |
||
− | [[xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動]]も参照。 |
+ | [[xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動]] も参照。 |
+ | == ヒントとテクニック == |
||
− | == Tips and tricks == |
||
=== 自動起動 === |
=== 自動起動 === |
||
109行目: | 101行目: | ||
ほとんどのディスプレイマネージャは {{ic|/etc/xprofile}}, {{ic|~/.xprofile}}, {{ic|/etc/X11/xinit/xinitrc.d/}} を実行します。詳しくは [[xprofile]] を見て下さい。 |
ほとんどのディスプレイマネージャは {{ic|/etc/xprofile}}, {{ic|~/.xprofile}}, {{ic|/etc/X11/xinit/xinitrc.d/}} を実行します。詳しくは [[xprofile]] を見て下さい。 |
||
− | === 言語 |
+ | === ユーザセッションで使う言語を設定する === |
− | [ |
+ | [https://freedesktop.org/wiki/Software/AccountsService/ AccountsService] を使用するディスプレイマネージャの場合、{{ic|/var/lib/AccountsService/users/$USER}} を編集することでユーザセッションの[[ロケール]]を設定できます:{{hc|/var/lib/AccountsService/users/$USER|2= |
+ | [User] |
||
− | |||
+ | Language=''your_locale''}} |
||
− | [User] |
||
− | Language=''your_locale'' |
||
''your_locale'' を {{ic|ja_JP.UTF-8}} といった値に置き換えて下さい。 |
''your_locale'' を {{ic|ja_JP.UTF-8}} といった値に置き換えて下さい。 |
||
+ | または、[[D-Bus]] を使用してこれを実現できます: |
||
− | ディスプレイマネージャを再起動することで変更が適用されます。 |
||
+ | {{ic|busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s ''your_locale''}} |
||
− | |||
− | == 既知の問題 == |
||
− | |||
− | === systemd との非互換性 === |
||
+ | ログアウトして再びログインし直せば、変更が適用されます。 |
||
− | ''影響がある DM: Entrance, MDM'' |
||
+ | {{TranslationStatus|Display manager|2023-05-30|778791}} |
||
− | いくつかのディスプレイマネージャは [[PAM]] セッションのプロセスを再利用するため systemd と完全な互換性がありません。そのため二回目のログアウトで様々な問題が発生します: |
||
− | * NetworkManager アプレットが動かない。 |
||
− | * PulseAudio のボリュームが調整できない。 |
||
− | * 他のユーザーで GNOME にログインできない。 |
2024年3月8日 (金) 01:47時点における最新版
関連記事
ディスプレイマネージャ、もしくはログインマネージャは、起動の最後に標準のシェルにかわって表示されるグラフィカルユーザーインターフェイスです。ウィンドウマネージャとデスクトップ環境の数が多くあるように、様々な種類のディスプレイマネージャがあります。さらに、それぞれのマネージャをカスタマイズしたりテーマを選択したりすることが可能です。
目次
ディスプレイマネージャ一覧
コンソール
- Console TDM — Bash だけで書かれた xinit の拡張。
- nodm — 自動ログイン用のディスプレイマネージャ。2017 以降、開発中止。
- Ly — Linux と BSD のための TUI (ncurses ライクな) ディスプレイマネージャ。X と Wayland のセッションをサポートします。
- tbsm — Bash セッションまたはアプリケーションランチャー。X と Wayland のセッションをサポートします。
- emptty — X と Wayland をサポートする TTY 上のシンプルな CLI ディスプレイマネージャー。
- loginx — getty/login/xinit の組み合わせ。ユーザフレンドリーな curses ui。
- Lemurs — Rust で書かれた、Linux 用 TUI ディスプレイマネージャ。X、Wayland、TTY シェルのセッションをサポートします。
グラフィカル
- Entrance — Enlightenment のディスプレイマネージャ。非常に実験的で、適切な systemd サポートがありません。
- LightDM — クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。
- SLiM — 軽量でエレガントなグラフィカルログインのソリューション。2013 年以降、開発中止。systemd とは完全な互換性がありません。
- XDM — XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。
ログインデーモン
- greetd — コンソールの greeter とグラフィカルな greeter の両方をサポートするログインデーモン。
ディスプレイマネージャをロードする
グラフィカルログインを有効にするには、適切な systemd サービスを有効化してください。例えば、SDDMの場合、sddm.service
を有効にします。
これだけで動くはずですが、動かない場合、カスタム default.target
シンボリックリンクをリセットして、デフォルトの graphical.target
を指すようにする必要があるかもいれません。systemd#起動するデフォルトターゲットを変更 を参照してください。
SDDM を有効にすると、シンボリックリンク display-manager.service
が /etc/systemd/system/
で設定されているはずです。古いシンボリックリンクを上書きするために、--force
を使う必要があるかもしれません。
$ file /etc/systemd/system/display-manager.service
/etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service
systemd-logind を使う
ユーザーセッションの状態を確認するには loginctl を使います。サスペンドや外部デバイスのマウントなどの全ての polkit アクションはそのまま動きます。
$ loginctl show-session $XDG_SESSION_ID
セッション設定
多くのディスプレイマネージャは /usr/share/xsessions/
ディレクトリから利用できるセッションを読み込みます。このディレクトリには DM/WM のための標準の デスクトップエントリファイル が入っています。一部のディスプレイマネージャは、Wayland 固有のセッションをリストアップするために、別のディレクトリ /usr/share/wayland-sessions/
を使用します。
ディスプレイマネージャのセッションリストにエントリを追加・削除するには、/usr/share/xsessions/
にある .desktop ファイルを必要に応じて作成・削除してください。典型的な .desktop ファイルは以下のようになります:
[Desktop Entry] Name=Openbox Comment=Log in using the Openbox window manager (without a session manager) Exec=/usr/bin/openbox-session TryExec=/usr/bin/openbox-session Icon=openbox.png Type=Application
セッションとして ~/.xinitrc を実行
xinit-xsessionAUR をインストールすることで xinitrc をセッションとして実行することができるようになります。ディスプレイマネージャに対して xinitrc
をセッションとして設定してください。この時、~/.xinitrc
が実行可能であることを確認してください。
ウィンドウマネージャを使わずにアプリケーションを起動
ウィンドウ装飾やデスクトップ、ウィンドウ管理を省いて、アプリケーションを起動することもできます。例えば google-chromeAUR を起動するには、以下のように /usr/share/xsessions/
に web-browser.desktop
ファイルを作成します:
[Desktop Entry] Name=Web Browser Comment=Use a web browser as your session Exec=/usr/bin/google-chrome --auto-launch-at-startup TryExec=/usr/bin/google-chrome --auto-launch-at-startup Icon=google-chrome Type=Application
この場合、ログイン時に、Exec
で設定したアプリケーションがすぐに起動します。アプリケーションを閉じると、ログインマネージャに復帰します (DE/WM からログアウトしたときと同じ)。
この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。
xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動 も参照。
ヒントとテクニック
自動起動
ほとんどのディスプレイマネージャは /etc/xprofile
, ~/.xprofile
, /etc/X11/xinit/xinitrc.d/
を実行します。詳しくは xprofile を見て下さい。
ユーザセッションで使う言語を設定する
AccountsService を使用するディスプレイマネージャの場合、/var/lib/AccountsService/users/$USER
を編集することでユーザセッションのロケールを設定できます:
/var/lib/AccountsService/users/$USER
[User] Language=your_locale
your_locale を ja_JP.UTF-8
といった値に置き換えて下さい。
または、D-Bus を使用してこれを実現できます:
busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s your_locale
ログアウトして再びログインし直せば、変更が適用されます。