greetd

提供: ArchWiki
2023年9月3日 (日) 20:27時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (add Lowercase title)
ナビゲーションに移動 検索に移動

関連記事

greetd は、コンソールベースであれグラフィカルであれ、ユーザが何を起動したいのかを仮定しない、軽量で柔軟な login manager デーモンです。コンソールから起動できるスクリプトやプログラムはすべて greetd で起動できるので、 Wayland Compositors に特に適しています。greeter を起動して、他のディスプレイマネージャと同様にユーザセッションを開始することもできます。

インストール

greetdAUR または greetd-gitAUR パッケージを インストール します。

デフォルトの設定ファイルは /etc/greetd/config.toml です。PAM 固有のオプションは、 /etc/pam.d/greetd で設定する必要があります。

Greeters

ユーザーセッションを開始できるようにするには、greetd に greeter が必要です。いくつかの greeter が利用可能です:

greetd を開始する

有効化 して greetd.service を起動時に開始

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

Greeter の設定

greetd が実行する greeter の設定は、 default_session セクションの command オプションで行ないます。 もし何も変更がなければ、含まれている agreety greeter が使用されます。また、#agreety も参照してください。

デフォルトでは、greeter は greeter ユーザーとして実行されます。これは設定ファイルの default_session セクションの user オプションを編集して another_user を選択したユーザーで置き換えることで変更することが可能です。

...
[default_session]
user = "another_user"
...

/etc/greetd ディレクトリの 所有者 が適切に設定されていることを確認してください。

agreety

これがデフォルトの greeter です。これは、次のように設定ファイルを設定して greetd によって起動されます。

...
[default_session]
command = "agreety --cmd $SHELL"
...

agreety は、ユーザーがログインすると、任意のコマンドを起動することができます。例えば、Sway を起動するには、上の例の $SHELLsway に置き換えてください。

gtkgreet

gtkgreet が動作するには、コンポジターが必要です。完全な体験のためには、wlr-layer-shell-unstable をサポートするコンポジターが必要ですが、他のものでも動作します。そのため、swayを使うことが推奨されますが、cage のようなものを使うことも可能です。cage と sway の両方の例が以下に示されています。

gtkgreet で起動できるログイン環境を指定するには、 /etc/greetd/environments にその一覧を記述してください。 例:

sway
bash

また、gtkgreet は -c mycommand パラメータで mycommand を目的のプログラム(例えば gtkgreet -c bashgtkgreet -c sway など)に置き換えて呼び出すことができます。以下のコンポジットの例では、必要に応じてそのようにしてください。

cage の使用法

cageインストール し、以下のように command オプションを設定してください。

...
[default_session]
command = "cage gtkgreet"
...

sway の利用

swayインストール しますす。Sway を使用する場合、ユーザーがログインしたら終了させる必要があります。そのためには、例えば /etc/greetd/sway-config に以下のような内容で特定の設定ファイルを作成する必要があります。

# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
exec "gtkgreet -l; swaymsg exit"

bindsym Mod4+shift+e exec swaynag \
-t warning \
-m 'What do you want to do?' \
-b 'Poweroff' 'systemctl poweroff' \
-b 'Reboot' 'systemctl reboot'

include /etc/sway/config.d/*

次に、上記の設定ファイルで Sway を開始するように greetd を設定する必要があります。 command オプションを次のように設定します。

...
[default_session]
command = "sway --config /etc/greetd/sway-config"
...

wlgreet

wlgreet を開始するには、wlr-layer-shell-unstable のコンポジターが必要です。 Sway で gtkgreet を 上記 として設定するために必要な手順に従いますが、代わりに /etc/greetd/sway-config に以下を使用します。

exec "wlgreet --command sway; swaymsg exit"

bindsym Mod4+shift+e exec swaynag \
-t warning \
-m 'What do you want to do?' \
-b 'Poweroff' 'systemctl poweroff' \
-b 'Reboot' 'systemctl reboot'
 
include /etc/sway/config.d/*

tuigreet

tuigreet は特別な設定を必要とせず、次のように command オプションを設定するだけです。

...
[default_session]
command = "tuigreet --cmd sway"
...

tuigreet--help はカスタマイズオプションを表示します。

ddlm

ddlm は特別な設定を必要とせず、次のように command オプションを設定するだけです。

...
[default_session]
command = "ddlm --target sway"
...

qtgreet

qtgreet を使用するには、WLR ベースのコンポジター(wayfireAURsway など)が必要です。

Wayfire の使用

wayfireAURインストール そして command オプションを次のように設定します。

...
[default_session]
command = "wayfire --config /etc/qtgreet/wayfire.ini"
...

参照される Wayfire 設定ファイルは qtgreet に含まれています。

自動ログインを有効にする

ユーザーが自動的にログインするようにするには、initial_session セクションを /etc/greetd/config.toml で定義する必要があります。

...
[initial_session]
command = "sway"
user = "myuser"
...

command オプションには、任意の実行可能ファイルの名前を含めることができます。上記の例では、Sway は起動時に myuser によって起動され、ユーザーがログアウトした後に gtkgreet が起動されます。

greetd を使用せず、常に自動ログインを有効にする場合は、[1] を参照してください。

See also