「ディスプレイマネージャ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
1行目: 1行目:
 
[[Category:グラフィカルユーザーインターフェイス]]
 
[[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]]
 
[[fa:Display manager]]
 
[[fa:Display manager]]
[[fr:Gestionnaire de connexions]]
+
[[fr:Display manager]]
[[he:Display manager]]
+
[[ko: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|ログイン時に X を起動}}
 
{{Related|ログイン時に X を起動}}
25行目: 19行目:
   
 
=== コンソール ===
 
=== コンソール ===
  +
* {{App|[[CDM]]|[[Bash]] で記述されたログインマネージャー.|https://github.com/ghost1227/cdm|{{AUR|cdm-git}}}}
 
* {{App|[[Console TDM]]|Bash だけ書かれた xorg-xinit の拡張。|https://github.com/dopsi/console-tdm|{{AUR|console-tdm}}}}
+
* {{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]]|自動ログイン用のディスプレイマネージャ(2017年以降はメンテナンスされていません)。|http://enricozini.org/sw/nodm/|{{Pkg|nodm}}}}
 
* {{App|Ly|Linux および BSD 用の TUI(ncurse みたいな)ディスプレイマネージャ。|https://github.com/nullgemm/ly|{{AUR|ly}}}}
+
* {{App|[[nodm]]|自動ログイン用のディスプレイマネージャ (2017年以降はメンテナンスされていません)。|https://github.com/spanezz/nodm|{{Pkg|nodm}}}}
* {{App|tbsm|Bash セッションまはアリケションランチ。X および Wayland セッションをサポートします。|https://loh-tar.github.io/tbsm/|{{AUR|tbsm}}}}
+
* {{App|Ly|Linux と BSD のめの TUI (ncurses ライクな) ディスレイマネャ。X Wayland セッションをサポートします。|https://github.com/nullgemm/ly|{{AUR|ly}}}}
* {{App|emptty|X と Wayland をサポートする TTY上のシンプルな CLI ディスプレイマネージャー。|https://github.com/tvrzna/emptty/|{{AUR|emptty-git}}}}
+
* {{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|[[Enlightenment|Entrance]]|EFL ベースのディスプレイマネージャ、実験段階。|http://enlightenment.org/|{{AUR|entrance-git}}}}
 
  +
* {{App|[[Entrance]]|[[Enlightenment]] のディスプレイマネージャ。|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|[[KDM]]|[[KDE]] のディスプレイマネージャ (開発終了)。|https://www.kde.org/|{{AUR|kdebase-workspace}}}}
+
* {{App|[[LightDM]]|クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。|https://github.com/CanonicalLtd/lightdm/|{{Pkg|lightdm}}}}
* {{App|[[LightDM]]|クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。|https://www.freedesktop.org/wiki/Software/LightDM|{{Pkg|lightdm}}}}
+
* {{App|[[LXDM]]|[[LXDE]] のディスプレイマネージャ。LXDE とは別個に使うことも可能。|https://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}, {{Pkg|lxdm-gtk3}}}}
* {{App|[[LXDM]]|[[LXDE]] のディスプレイマネージャ。LXDE とは別個に使うことも可能。|https://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}}}
+
* {{App|[[SDDM]]|QML ベースのディスプレイマネージャ (KDM の後継)。[[Plasma]] や [[LXQt]] の推奨ディスプレイマネージャ。|https://github.com/sddm/sddm|{{Pkg|sddm}}}}
* {{App|[[SDDM]]|QML スのディスプレイマネージャ (KDM の後継)。Plasma 5 や LXQt の推奨ディスプレイマネージャ。|https://github.com/sddm/sddm|{{Pkg|sddm}}}}
+
* {{App|[[XDM]]|XDMCP をサポトした X ディスプレイマネージャ、ホストが選べる。|{{man|8|xdm}}|{{Pkg|xorg-xdm}}}}
* {{App|[[XDM]]|XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。|https://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html|{{Pkg|xorg-xdm}}}}
 
   
 
=== ログインデーモン ===
 
=== ログインデーモン ===
   
* {{App|[https://wiki.archlinux.org/index.php/Greetd Greetd]|コンソールとグラフィカルグリーターの両方をサポートする最小限の柔軟で不可知論的なログインデーモン。|https://git.sr.ht/~kennylevinsen/greetd|{{AUR|greetd}}}}
+
* {{App|[[greetd]]|コンソールとグラフィカルグリーターの両方をサポートするログインデーモン。|https://git.sr.ht/~kennylevinsen/greetd|{{AUR|greetd}}}}
   
==ディスプレイマネージャをロードする==
+
== ディスプレイマネージャをロードする ==
   
グラフィカルログインを有効にするには、適切なシステムサービスを[[有効化]]してください。例えば、[[SDDM]]の場合、{{ic|sddm.service}} を有効にします。
+
グラフィカルログインを有効にするには、適切な systemd サービスを[[有効化]]してください。例えば、[[SDDM]]の場合、{{ic|sddm.service}} を有効にします。
   
これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動時のデフォルトターゲットを変更する]] を参照してください。
+
これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動するデフォルトターゲットを変更]] を参照してください。
   
SDDM を [[有効]]にした後、シンボリックリンク {{ic|display-manager.service}} を {{ic|/etc/systemd/system/}} に設定する必要があります。古いシンボリックリンクを上書きするために、{{ic|--force}} を使う必要があるかもしれません。
+
[[SDDM]] を[[有効]]にした後、シンボリックリンク {{ic|display-manager.service}} を {{ic|/etc/systemd/system/}} に設定する必要があります。古いシンボリックリンクを上書きするために、{{ic|--force}} を使う必要があるかもしれません。
   
 
{{hc|$ file /etc/systemd/system/display-manager.service|
 
{{hc|$ file /etc/systemd/system/display-manager.service|
59行目: 55行目:
 
=== systemd-logind を使う ===
 
=== systemd-logind を使う ===
   
ユーザーセッションの状態を確認するには {{ic|loginctl}} を使います。サスペンドや外部デバイスのマウントなどの全ての [[polkit]] アクションはそのまま動きます。
+
ユーザーセッションの状態を確認するには ''loginctl'' を使います。サスペンドや外部デバイスのマウントなどの全ての [[polkit]] アクションはそのまま動きます。
   
 
$ loginctl show-session $XDG_SESSION_ID
 
$ loginctl show-session $XDG_SESSION_ID
65行目: 61行目:
 
== セッション設定 ==
 
== セッション設定 ==
   
多くのディスプレイマネージャは {{ic|/usr/share/xsessions/}} ディレクトリから利用できるセッションを読み込みます。このディレクトリには DM/WM のための標準の [https://standards.freedesktop.org/desktop-entry-spec/latest/ デスクトップエントリファイル] が入っています。
+
多くのディスプレイマネージャは {{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)
76行目: 71行目:
 
TryExec=/usr/bin/openbox-session
 
TryExec=/usr/bin/openbox-session
 
Icon=openbox.png
 
Icon=openbox.png
Type=XSession
+
Type=Application
   
===セッションとして ~/.xinitrc を実行===
+
=== セッションとして ~/.xinitrc を実行 ===
  +
{{AUR|xinit-xsession}} をインストールすることで {{ic|.xinitrc}} をセッションとして実行することができるようになります。
 
  +
{{AUR|xinit-xsession}} をインストールすることで [[xinitrc]] をセッションとして実行することができるようになります。ディスプレイマネージャに対して {{ic|xinitrc}} をセッションとして設定してください。この時、{{ic|~/.xinitrc}} が[[実行可能属性|実行可能]]であることを確認してください。
   
 
=== ウィンドウマネージャを使わずにアプリケーションを起動 ===
 
=== ウィンドウマネージャを使わずにアプリケーションを起動 ===
86行目: 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
92行目: 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 からログアウトしたときと同じ)。
97行目: 93行目:
 
この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。
 
この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。
   
[[xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動]]も参照。
+
[[xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動]] も参照。
   
 
== ヒントとテクニック ==
 
== ヒントとテクニック ==
105行目: 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}} を編集することでディスプレイマネージャの[[ロケール]]を設定できます:
 
   
  +
[https://freedesktop.org/wiki/Software/AccountsService/ AccountsService] を使用するディスプレイマネージャの場合、{{ic|/var/lib/AccountsService/users/$USER}} を編集することでユーザセッションの[[ロケール]]を設定できます:{{hc|/var/lib/AccountsService/users/$USER|2=
[User]
 
  +
[User]
Language=''your_locale''
 
  +
Language=''your_locale''}}
   
 
''your_locale'' を {{ic|ja_JP.UTF-8}} といった値に置き換えて下さい。
 
''your_locale'' を {{ic|ja_JP.UTF-8}} といった値に置き換えて下さい。
   
または、[[D-Bus]] を使用してこれを実現できます
+
または、[[D-Bus]] を使用してこれを実現できます:
 
{{ic|busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s ''your_locale''}}
 
{{ic|busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s ''your_locale''}}
   
ディスプレイマネージャを起動することで変更が適用されます。
+
ログアウトしてびログインし直せば、変更が適用されます。
   
{{TranslationStatus|Display manager|2021-10-22|697607}}
+
{{TranslationStatus|Display manager|2022-08-19|739214}}

2022年8月19日 (金) 18:54時点における版

関連記事

ディスプレイマネージャ、もしくはログインマネージャは、起動の最後に標準のシェルにかわって表示されるグラフィカルユーザーインターフェイスです。ウィンドウマネージャデスクトップ環境の数が多くあるように、様々な種類のディスプレイマネージャがあります。さらに、それぞれのマネージャをカスタマイズしたりテーマを選択したりすることが可能です。

ディスプレイマネージャ一覧

コンソール

  • CDMBash で記述されたログインマネージャー。
https://github.com/evertiro/cdm || cdmAUR
  • Console TDM — Bash だけで書かれた xinit の拡張。
https://github.com/dopsi/console-tdm || console-tdmAUR
  • nodm — 自動ログイン用のディスプレイマネージャ (2017年以降はメンテナンスされていません)。
https://github.com/spanezz/nodm || nodm
  • Ly — Linux と BSD のための TUI (ncurses ライクな) ディスプレイマネージャ。X と Wayland のセッションをサポートします。
https://github.com/nullgemm/ly || lyAUR
  • tbsm — Bash セッションまたはアプリケーションランチャー。X と Wayland のセッションをサポートします。
https://loh-tar.github.io/tbsm/ || tbsmAUR
  • emptty — X と Wayland をサポートする TTY 上のシンプルな CLI ディスプレイマネージャー。
https://github.com/tvrzna/emptty/ || emptty-gitAUR
  • loginx — getty/login/xinit の組み合わせ。ユーザフレンドリーな curses ui。
https://sourceforge.net/projects/loginx/ || loginxAUR

グラフィカル

https://github.com/Obsidian-StudiosInc/entrance || entrance-gitAUR
  • GDMGNOME のディスプレイマネージャ。
https://wiki.gnome.org/Projects/GDM || gdm
  • LightDM — クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。
https://github.com/CanonicalLtd/lightdm/ || lightdm
  • LXDMLXDE のディスプレイマネージャ。LXDE とは別個に使うことも可能。
https://sourceforge.net/projects/lxdm/ || lxdm, lxdm-gtk3
  • SDDM — QML ベースのディスプレイマネージャ (KDM の後継)。PlasmaLXQt の推奨ディスプレイマネージャ。
https://github.com/sddm/sddm || sddm
  • XDM — XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。
xdm(8) || xorg-xdm

ログインデーモン

  • greetd — コンソールとグラフィカルグリーターの両方をサポートするログインデーモン。
https://git.sr.ht/~kennylevinsen/greetd || greetdAUR

ディスプレイマネージャをロードする

グラフィカルログインを有効にするには、適切な 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_localeja_JP.UTF-8 といった値に置き換えて下さい。

または、D-Bus を使用してこれを実現できます: busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s your_locale

ログアウトして再びログインし直せば、変更が適用されます。

翻訳ステータス: このページは en:Display manager の翻訳バージョンです。最後の翻訳日は 2022-08-19 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。