- 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
うまく設定できていれば、ログイン画面が表示されます。
ユーザ名・パスワードを入力してログインします。

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
|