sway - FreeBSD 14.1 RELEASE - 環境構築

クラウディア 
1. 概要
2. インストール
3. SDDM カスタマイズ
4. ユーザ用初期化ファイルの作成
5. ログインマネージャ起動
6. 備考

1. 概要

 「FreeBSD 12.4 RELEASE」の「sway」では、「jgmenu」も「OctoPkg」も起動てきませんでした。  なので「FreeBSD 12.4 RELEASE」では、記事は書きませんでした。  「FreeBSD 14.1 RELEASE」では、正常に動くのか、気がかりですが、やってみます。  下記のデスクトップ環境を構築する手順を記述します。
 種別   リソース・設定   備考 
ホスト Windows11 23H2
仮想環境 VirtualBox 7.0.14
ゲスト FreeBSD 14.1 RELEASE
ログインマネージャ SDDM
仮想システムタイプ BSD
仮想システムバージョン FreeBSD (64bit)
ハードディスク 180 GB
メモリ 4 GB
CPU 2コア
グラフィックスコントローラ VBoxSVGA 128MB 3D Disable

 ここまでの時点で、システムインストールと「VirtualBox Guest Additions」の設定は終わっているものとします。
 ぞれぞれのインストール・設定に関しては

	「FreeBSD - デスクトップ環境構築 - 共通事項 - システムインストール」
	「FreeBSD - デスクトップ環境構築 - 共通事項 - VirtualBox Guest Additions」

 をご参照ください。

2. インストール

 「root」ユーザ権限で。  「XWindow」の環境、「sddm」ログインマネージャ、「polkitd」、「sway」の順にインストールします。

pkg install -y xorg ja-font-migmix numlockx

pkg install -y sddm sddm-freebsd-black-theme cursor-neutral-white-theme

pkg install -y consolekit2 polkit

pkg install -y sway xwayland-devel wf-shell wcm drm-510-kmod wdisplays foot
 「FreeBSD 13.2 RELEASE」のときにうまくいった組み合わせにしています。  備考に末尾のインストール実行時のメッセージとバージョン情報を記録しておきます。

3. SDDM カスタマイズ

 ログイン画面の解像度を「1366x768」とし、キーボードレイアウトを「jp.106」にします。  「root」ユーザ権限で。

sh
cat << 'EOF' >>  /usr/local/share/sddm/scripts/Xsetup

xrandr --output VGA-0 --mode 1366x768 --rate 60
setxkbmap -layout jp
EOF
exit
 ログイン画面のテーマとカーソルを変更します。  「root」ユーザのまま

sddm --example-config > /usr/local/etc/sddm.conf
vi /usr/local/etc/sddm.conf

[Theme]
# Current theme name
Current=breeze

# Cursor size used in the greeter
CursorSize=

# Cursor theme used in the greeter
CursorTheme=breeze_cursors
 を下記へ変更します。

[Theme]
# Current theme name
Current=sddm-freebsd-black-theme

# Cursor size used in the greeter
CursorSize=

# Cursor theme used in the greeter
CursorTheme=Neutral++_White

4. ユーザ用初期化ファイルの作成

 「root」ユーザ権限で。

sh
cat << 'EOF' >> /etc/profile
export LC_ALL="ja_JP.UTF-8"
export LANGUAGE="ja_JP.UTF-8"
export LANG="ja_JP.UTF-8"
EOF

cat << 'EOF' >> /etc/csh.cshrc
setenv LC_ALL   "ja_JP.UTF-8"
setenv LANGUAGE "ja_JP.UTF-8"
setenv LANG     "ja_JP.UTF-8"
EOF

mkdir -pv /usr/share/skel

cat << 'EOF' >> /usr/share/skel/dot.xinitrc
#!/bin/sh

export DESKTOP=sway
exec sway
EOF
exit
 既存のログインユーザで。

cp /usr/share/skel/dot.xinitrc ~/.xinitrc
 さらにログインユーザで、「sway」のコンフィグレーションファイルを作成。

mkdir -pv ~/.config/sway/config.d
cp /usr/local/etc/sway/config ~/.config/sway/.

5. ログインマネージャ起動

 前項までインストール・設定したものを有効にします。  「root」ユーザ権限で。

sysrc polkitd_enable=YES
sysrc dbus_enable=YES
sysrc sddm_enable=YES
 起動します。

service dbus start
service sddm start
 うまく設定できていれば、ログイン画面が表示されます。  ユーザ名・パスワードを入力してログインします。
「sway FreeBSD 14.1」-「ログイン画面」

6. 備考

 バージョンの推移です。 ・2022年3月 9日 「FreeBSD 13.0 RELEASE」 「1.7」 ・2022年5月31日 「FreeBSD 13.1 RELEASE」 「1.7」 ・2023年5月25日 「FreeBSD 13.2 RELEASE」 「1.8.1」 ・2024年2月 1日 「FreeBSD 14.0 RELEASE」 「1.8.1」 ・2024年4月 1日 「FreeBSD 13.3 RELEASE」 「1.8.1」  2024年6月20日の時点で、下記のバージョンでした。

$ sway --version
sway version 1.9

pkg install -y sway xwayland-devel wf-shell wcm drm-510-kmod wdisplays foot
 インストール時に下記のログが表示されました。  長いですが。一応、メモとして残しておきます。

==> Running trigger: gtk-update-icon-cache.ucl
Generating GTK icon cache for /usr/local/share/icons/hicolor
=====
Message from seatd-0.8.0_1:

--
libseat is used to get DRM master and input devices for non-root users.
On Wayland this is only necessary when starting a compositor under KMS
console (e.g., /dev/ttyv0 backed by /dev/dri/card0). Nested sessions like
"Wayland on X11" or "Wayland on Wayland" don't need extra configuration.

By default libseat tries to find the first working backend. To override
set LIBSEAT_BACKEND via environ(7). Available backends and try order:

* "seatd" - seatd-launch(1) or seatd rc.d(8) service
* "consolekit2" - ck-launch-session(1) or pam_ck_connector(8)

"seatd" backend requires membership in "video" group to be allowed to
use setuid bit in seatd-launch(1) or connect to seatd(1) socket.

  # pw groupmod video -m <user>
  $ exit # log out to refresh group permissions

For example, to start a wlroots-based compositor replace "sway" with
your compositor (e.g., "hikari", "wayfire", "labwc", "river") then run

  $ seatd-launch sway

Alternatively, configure and run seatd(1) as system service

  # sysrc seatd_enable=YES
  # service seatd start
  $ sway

To use ConsoleKit2 run

  # pkg install consolekit2 basu
  # sysrc -x seatd_enable
  # service seatd stop
  # sysrc dbus_enable=YES
  # service dbus start
  $ ck-launch-session sway

where "ck-launch-session" can be dropped after

  # echo "session optional pam_ck_connector.so" >>/etc/pam.d/system
  $ exit # log out to re-trigger PAM
=====
Message from wayfire-0.8.1:

--
Additional packages recommended for new users:
- wf-shell (default background/launcher/panel)
- wcm (GUI settings)
- wayfire-plugins-extra

Experimental features:
- HiDPI support for X11 applications. For instructions see
  https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064#note_1139855

  Instead of ~/.config/sway/config edit ~/.config/wayfire.ini either via
  wcm (General -> Core -> XWayland scale + General -> Autostart) or manually:

    [core]
    xwayland_scale = 2
    [autostart]
    xsettingsd = xsettingsd
=====
Message from sway-1.9:

--
Notes:
- sway(1) can use mac_priority(4) to avoid stutter during high load

Experimental features:
- HiDPI support for X11 applications. For instructions see
  https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064#note_1139855
earthcar(アースカー)
Star Naming Gift
U-NEXT
JETBOY
メンズミレット
ハイスピードプラン