Greetd
関連記事
greetd は、コンソールベースであれグラフィカルであれ、ユーザが何を起動したいのかを仮定しない、軽量で柔軟な login manager デーモンです。コンソールから起動できるスクリプトやプログラムはすべて greetd で起動できるので、 Wayland Compositors に特に適しています。greeter を起動して、他のディスプレイマネージャと同様にユーザセッションを開始することもできます。
目次
インストール
greetdAUR または greetd-gitAUR パッケージを インストール します。
デフォルトの構成ファイルは /etc/greetd/config.toml です。PAM 固有のオプションは、 /etc/pam.d/greetd で設定する必要があります。
Greeters
ユーザーセッションを開始できるようにするには、greetd に greeter が必要です。いくつかの greeter が利用可能です:
agreetyを使用します。(デフォルト、greetdAUR/greetd-gitAUR に同梱)、agetty に似たテキストベースの greeter です。- https://git.sr.ht/~kennylevinsen/dlm dlm] (greetd-dlm-gitAUR で提供), fbdev greeter です。
- gtkgreet (greetd-gtkgreetAUR/greetd-gtkgreet-gitAUR によって提供されています) GTK greeter です。
- wlgreet (provided by greetd-wlgreetAUR/greetd-wlgreet-gitAUR), a Wayland greeter.
- tuigreet (greetd-tuigreetAUR によって提供されています)、コンソール UI greeter です。
- ddlm (greetd-dlm-gitAUR によって提供されています), fbdev greeter です。
dlmの強化/拡張版です。 - qtgreet (greetd-qtgreetAUR によって提供されています), Qt 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 を起動するには、上の例の $SHELL を sway に置き換えてください。
gtkgreet
gtkgreet が動作するには、コンポジターが必要です。完全な体験のためには、wlr-layer-shell-unstable をサポートするコンポジターが必要ですが、他のものでも動作します。そのため、swayを使うことが推奨されますが、cage のようなものを使うことも可能です。cage と sway の両方の例が以下に示されています。
gtkgreet で起動できるログイン環境を指定するには、 /etc/greetd/environments にその一覧を記述してください。
例:
sway bash
また、gtkgreet は -c mycommand パラメータで mycommand を目的のプログラム(例えば gtkgreet -c bash や gtkgreet -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 ベースのコンポジター(wayfireAUR、sway など)が必要です。
Wayfire の使用
wayfireAUR を インストール そして command オプションを次のように設定します。
... [default_session] command = "wayfire --config /etc/qtgreet/wayfire.ini" ...
参照される Wayfire 構成ファイルは qtgreet に含まれています。
Enabling autologin
If you want a user to be logged in automatically, an initial_session section must be defined in /etc/greetd/config.toml:
... [initial_session] command = "sway" user = "myuser" ...
The command option may contain the name of any executable file. In the example above, Sway will be started by myuser at boot and gtkgreet will be launched after the user logs out.
If you do not want to use greetd and always want autologin to be enabled, see autologin.