「ディスプレイマネージャ」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) |
(同期) |
||
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: |
+ | [[fr: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|[[ |
+ | * {{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| |
+ | * {{App|[[nodm]]|自動ログイン用のディスプレイマネージャ (2017年以降はメンテナンスされていません)。|https://github.com/spanezz/nodm|{{Pkg|nodm}}}} |
− | * {{App| |
+ | * {{App|Ly|Linux と BSD のための TUI (ncurses ライクな) ディスプレイマネージャ。X と Wayland のセッションをサポートします。|https://github.com/nullgemm/ly|{{AUR|ly}}}} |
− | * {{App| |
+ | * {{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|[[ |
+ | * {{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|[[ |
+ | * {{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|[ |
+ | * {{App|[[greetd]]|コンソールとグラフィカルグリーターの両方をサポートするログインデーモン。|https://git.sr.ht/~kennylevinsen/greetd|{{AUR|greetd}}}} |
− | ==ディスプレイマネージャをロードする== |
+ | == ディスプレイマネージャをロードする == |
− | グラフィカルログインを有効にするには、適切な |
+ | グラフィカルログインを有効にするには、適切な systemd サービスを[[有効化]]してください。例えば、[[SDDM]]の場合、{{ic|sddm.service}} を有効にします。 |
− | これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動 |
+ | これだけで動くはずですが、動かない場合、カスタム {{ic|default.target}} シンボリックリンクをリセットして、デフォルトの {{ic|graphical.target}} を指すようにする必要があるかもいれません。[[systemd#起動するデフォルトターゲットを変更]] を参照してください。 |
− | SDDM を |
+ | [[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 を使う === |
||
− | ユーザーセッションの状態を確認するには |
+ | ユーザーセッションの状態を確認するには ''loginctl'' を使います。サスペンドや外部デバイスのマウントなどの全ての [[polkit]] アクションはそのまま動きます。 |
$ loginctl show-session $XDG_SESSION_ID |
$ loginctl show-session $XDG_SESSION_ID |
||
65行目: | 61行目: | ||
== セッション設定 == |
== セッション設定 == |
||
− | 多くのディスプレイマネージャは {{ic|/usr/share/xsessions/}} ディレクトリから利用できるセッションを読み込みます。このディレクトリには DM/WM のための標準の [https:// |
+ | 多くのディスプレイマネージャは {{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= |
+ | 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| |
+ | {{TranslationStatus|Display manager|2022-08-19|739214}} |
2022年8月19日 (金) 18:54時点における版
関連記事
ディスプレイマネージャ、もしくはログインマネージャは、起動の最後に標準のシェルにかわって表示されるグラフィカルユーザーインターフェイスです。ウィンドウマネージャとデスクトップ環境の数が多くあるように、様々な種類のディスプレイマネージャがあります。さらに、それぞれのマネージャをカスタマイズしたりテーマを選択したりすることが可能です。
目次
ディスプレイマネージャ一覧
コンソール
- 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。
グラフィカル
- Entrance — Enlightenment のディスプレイマネージャ。
- LightDM — クロスデスクトップのディスプレイマネージャ、様々なツールキットを使って書かれたフロントエンドを使用できます。
- XDM — XDMCP をサポートした X ディスプレイマネージャ、ホストが選べる。
ログインデーモン
- greetd — コンソールとグラフィカルグリーターの両方をサポートするログインデーモン。
ディスプレイマネージャをロードする
グラフィカルログインを有効にするには、適切な 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
ログアウトして再びログインし直せば、変更が適用されます。