greetd/sway移行メモ。
KDEだとログインマネージャはSDDMがついてくるけどsway使うならSDDMじゃなくても良いのでgreetd/tuigreetにしました。
emerge -a gui-apps/tuigreet
私はOpenRC使っているのでdisplay-manager-initもインストール。
emerge -a gui/libs/display-manager-init
rc-update add display-manager default
greetdを使うように設定。
# /etc/conf.d/display-manager
# What display manager do you use ?
# [ xdm | greetd | gdm | sddm | gpe | lightdm | entrance ]
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="greetd"
さらにtuigreet使うようにgreetdを設定します。
設定例をネットで探しているとコマンドでsway起動しているのが大半ですが、それだと環境変数の読込ができないので.desktopファイルを作成してwrapperスクリプトを実行する方法にします。
# /etc/greetd/config.toml
[default_session]
command = "tuigreet -r -s '/usr/local/share/wayland-sessions'"
user = "greetd"
/usr/share/wayland-sessionsにあるファイルを編集しちゃうと再インストールの時にリセットされちゃうので/usr/local/share/wayland-sessionsにファイルを用意してtuigreetコマンドのオプションでディレクトリ指定します。
[Desktop Entry]
Name=Sway
Comment=An i3-compatible Wayland compositor
Exec=$HOME/.dotfiles/sway-wrapper.sh
Type=Application
上記で指定したラッパースクリプト。
swayの実行時はdbusセッション起動しとかないとchromeとかがおかしくなりました。
#!/bin/sh
# ~/.dotfiles/sway-wrapper.sh
export EDITOR=/usr/local/bin/nvim
export XDG_CACHE_HOME=/var/tmp/share/$USER
exec dbus-run-session -- sway
sway起動時に設定される環境変数を読み込むために下記コマンドをswayの設定ファイルに追記します。
これがないと通知デーモンや画面共有のプログラムなどが自動的に起動されなかったです。
exec dbus-update-activation-environment --all
ステータスバーは画面の左側にあるのが好きなのだけど、swaybarだと上か下かしか選択できないのでwaybarにしました。
emerge -a waybar
このあとすぐHyprlandに移行しました。