「ディスプレイマネージャ」の版間の差分
細 (Kusakata がページ「Display Manager (日本語)」を「ディスプレイマネージャ」に移動しました) |
(他言語へのリンクを修正) |
||
(6人の利用者による、間の42版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:グラフィカルユーザーインターフェイス]] |
+ | [[Category:ソフトウェア一覧]] |
||
− | [[ar:Display Manager]] |
||
− | [[cs:Display Manager]] |
||
[[de:Login-Manager]] |
[[de:Login-Manager]] |
||
− | [[en:Display |
+ | [[en:Display manager]] |
− | [[es:Display |
+ | [[es:Display manager]] |
− | [[fr: |
+ | [[fr:Display manager]] |
− | [[ |
+ | [[pt:Display manager]] |
− | [[ |
+ | [[ru:Display manager]] |
− | [[ |
+ | [[zh-hans:Display manager]] |
+ | {{Related articles start}} |
||
− | [[ru:Display Manager]] |
||
− | [[tr:Görüntü_yöneticisi]] |
||
− | [[uk:Display Manager]] |
||
− | [[zh-CN:Display Manager]] |
||
− | [[zh-TW:Display Manager]] |
||
− | {{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|自動ログイン用のディスプレイマネージャ。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|[[GDM (日本語)|GDM]]|[[GNOME]] のディスプレイマネージャ|http://projects.gnome.org/gdm/|{{Pkg|gdm}}}} |
||
− | * {{App|[[KDM (日本語)|KDM]]|[[KDE]] のディスプレイマネージャ|http://www.kde.org/|{{Pkg|kdebase-workspace}}}} |
||
− | * {{App|[[LightDM]]|クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。|http://www.freedesktop.org/wiki/Software/LightDM|{{Pkg|lightdm}}}} |
||
− | * {{App|[[LXDM]]|[[LXDE]] のディスプレイマネージャ。LXDE とは別個に使うことも可能。|http://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}}} |
||
− | * {{App|MDM|GDM 2 のフォーク|https://github.com/linuxmint/mdm|{{AUR|mdm-display-manager}}}} |
||
− | * {{App|[[Qingy]]|とても軽くて細かく設定ができる X Windows 独立系グラフィカルログイン (DirectFB を使用)|http://qingy.sourceforge.net/|{{AUR|qingy}}}} |
||
− | * {{App|[[SDDM]]|QML ベースのディスプレイマネージャ|https://github.com/sddm/sddm|{{Pkg|sddm}}, {{AUR|sddm-qt5}}}} |
||
− | * {{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|[[Entrance]]|[[Enlightenment]] のディスプレイマネージャ。非常に実験的で、適切な systemd サポートがありません。|https://github.com/Obsidian-StudiosInc/entrance|{{AUR|entrance-git}}}} |
||
− | ==ディスプレイマネージャをロードする== |
||
+ | * {{App|[[GDM]]|[[GNOME]] のディスプレイマネージャ。|https://wiki.gnome.org/Projects/GDM|{{Pkg|gdm}}}} |
||
+ | * {{App|[[LightDM]]|クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。|https://github.com/CanonicalLtd/lightdm/|{{Pkg|lightdm}}}} |
||
+ | * {{App|[[LXDM]]|[[LXDE]] のディスプレイマネージャ。LXDE とは別個に使うことも可能。|https://sourceforge.net/projects/lxdm/|{{Pkg|lxdm}}, {{Pkg|lxdm-gtk3}}}} |
||
+ | * {{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|[[XDM]]|XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。|{{man|8|xdm}}|{{Pkg|xorg-xdm}}}} |
||
+ | === ログインデーモン === |
||
− | グラフィカルログインを有効にするには、好きな''ディスプレイマネージャ''のデーモンを使って下さい (例: [[KDM (日本語)|KDM]])。 |
||
+ | * {{App|[[greetd]]|コンソールの greeter とグラフィカルな greeter の両方をサポートするログインデーモン。|https://git.sr.ht/~kennylevinsen/greetd|{{Pkg|greetd}}}} |
||
− | # systemctl enable kdm |
||
+ | == ディスプレイマネージャをロードする == |
||
− | これだけで動くはずですが、動かない場合、手動で {{ic|default.target}} を設定するか、古いインストールを使います: |
||
+ | グラフィカルログインを有効にするには、適切な systemd サービスを[[有効化]]してください。例えば、[[SDDM]]の場合、{{ic|sddm.service}} を有効にします。 |
||
− | {{hc|$ ls -l /etc/systemd/system/default.target| |
||
− | [...] /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target}} |
||
+ | これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動するデフォルトターゲットを変更]] を参照してください。 |
||
− | シンボリックリンクを削除すれば systemd は標準の {{ic|default.target}} (つまり {{ic|graphical.target}}) を使うようになります。 |
||
+ | [[SDDM]] を[[有効]]にすると、シンボリックリンク {{ic|display-manager.service}} が {{ic|/etc/systemd/system/}} で設定されているはずです。古いシンボリックリンクを上書きするために、{{ic|--force}} を使う必要があるかもしれません。 |
||
− | # rm /etc/systemd/system/default.target |
||
+ | {{hc|$ file /etc/systemd/system/display-manager.service| |
||
− | kdm を有効にした後、シンボリックリンク "display-manager.service" が {{ic|/etc/systemd/system/}} に設定されるはずです: |
||
+ | /etc/systemd/system/display-manager.service: symbolic link to /usr/lib/systemd/system/sddm.service |
||
− | |||
+ | }} |
||
− | {{hc|$ ls -l /etc/systemd/system/display-manager.service| |
||
− | [...] /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/kdm.service}} |
||
=== systemd-logind を使う === |
=== systemd-logind を使う === |
||
− | ユーザーセッションの状態を確認するには |
+ | ユーザーセッションの状態を確認するには ''loginctl'' を使います。サスペンドや外部デバイスのマウントなどの全ての [[polkit]] アクションはそのまま動きます。 |
$ loginctl show-session $XDG_SESSION_ID |
$ loginctl show-session $XDG_SESSION_ID |
||
− | == |
+ | == セッション設定 == |
+ | 多くのディスプレイマネージャは {{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) |
||
81行目: | 71行目: | ||
TryExec=/usr/bin/openbox-session |
TryExec=/usr/bin/openbox-session |
||
Icon=openbox.png |
Icon=openbox.png |
||
− | Type= |
+ | Type=Application |
+ | |||
+ | === セッションとして ~/.xinitrc を実行 === |
||
+ | |||
+ | {{AUR|xinit-xsession}} をインストールすることで [[xinitrc]] をセッションとして実行することができるようになります。ディスプレイマネージャに対して {{ic|xinitrc}} をセッションとして設定してください。この時、{{ic|~/.xinitrc}} が[[実行可能属性|実行可能]]であることを確認してください。 |
||
+ | |||
+ | === ウィンドウマネージャを使わずにアプリケーションを起動 === |
||
+ | |||
+ | ウィンドウ装飾やデスクトップ、ウィンドウ管理を省いて、アプリケーションを起動することもできます。例えば {{AUR|google-chrome}} を起動するには、以下のように {{ic|/usr/share/xsessions/}} に {{ic|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 |
||
+ | |||
+ | この場合、ログイン時に、{{ic|Exec}} で設定したアプリケーションがすぐに起動します。アプリケーションを閉じると、ログインマネージャに復帰します (DE/WM からログアウトしたときと同じ)。 |
||
+ | |||
+ | この方法で起動することを、ほとんどのグラフィカルアプリケーションは想定していないため、上手く行くように設定が必要になるかもしれません (ウィンドウマネージャが存在しないため、ウィンドウの移動やサイズ変更はできず、ダイアログも使えません。アプリケーションの設定ファイルでウィンドウの配置を設定しておかなくてはならないでしょう)。 |
||
+ | |||
+ | [[xinitrc#ウィンドウマネージャを使わずにアプリケーションを起動]] も参照。 |
||
+ | |||
+ | == ヒントとテクニック == |
||
=== 自動起動 === |
=== 自動起動 === |
||
− | ほとんどのディスプレイマネージャは {{ic|/etc/xprofile}}, {{ic|~/.xprofile}}, {{ic|/etc/X11/xinit/xinitrc.d/}} を実行します。詳しくは [[ |
+ | ほとんどのディスプレイマネージャは {{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''}} |
||
+ | ''your_locale'' を {{ic|ja_JP.UTF-8}} といった値に置き換えて下さい。 |
||
− | === systemd との非互換性 === |
||
+ | または、[[D-Bus]] を使用してこれを実現できます: |
||
− | ''影響がある DM: Entrance, MDM'' |
||
+ | {{ic|busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User$UID org.freedesktop.Accounts.User SetLanguage s ''your_locale''}} |
||
+ | ログアウトして再びログインし直せば、変更が適用されます。 |
||
− | いくつかのディスプレイマネージャは PAM セッションのプロセスを再利用するため systemd と完全な互換性がありません。そのため二回目のログアウトで様々な問題が発生します: |
||
− | * NetworkManager アプレットが動かない。 |
||
− | * PulseAudio のボリュームが調整できない。 |
||
− | * 他のユーザーで GNOME にログインできない。 |
||
+ | {{TranslationStatus|Display manager|2023-05-30|778791}} |
||
− | 詳しくは以下のバグレポートを見て下さい: |
||
− | * MDM: [https://github.com/linuxmint/mdm/issues/32] |
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
ログアウトして再びログインし直せば、変更が適用されます。