XFCE - FreeBSD 13.0 RELEASE - 環境構築


 クラウディア


1. 概要
2. インストール
3. SDDM カスタマイズ
4. シャットダウンユーザ設定
5. ユーザ用初期化ファイルの作成
6. ログインマネージャ起動

1. 概要

 下記のデスクトップ環境を構築する手順を記述します。  ここまでの時点で、システムインストールと「VirtualBox Guest Additions」の設定は終わっているものとします。  ぞれぞれのインストール・設定に関しては 「FreeBSD - デスクトップ環境構築 - 共通事項 - システムインストール」 「FreeBSD - デスクトップ環境構築 - 共通事項 - VirtualBox Guest Additions」  をご参照ください。
 項目   内容   備考 
ホスト Windows10 Version 20H2
VitualBox Version 6.1.18
ゲスト FreeBSD 13.0 RELEASE
ログインマネージャ SDDM

2. インストール

 「root」ユーザで

pkg install -y xorg ja-font-migmix
pkg install -y sddm sddm-freebsd-black-theme cursor-neutral-white-theme
pkg install -y x11-wm/xfce4 xfce4-screenshooter-plugin xfce4-whiskermenu-plugin
 2020年10月30日時点の「XFCE」のバージョンは、「xfce4-wm-4.14.5」下記の通りでした。  2021年4月20日時点の「XFCE」のバージョンは、下記の通りでした。  少し、変化がありました。

$ pkg info xfce4-wm
xfce4-wm-4.16.1
Name           : xfce4-wm
Version        : 4.16.1
Installed on   : Tue Apr 20 10:31:16 2021 JST
Origin         : x11-wm/xfce4-wm
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : xfce x11-wm
Licenses       : GPLv2
Maintainer     : xfce@FreeBSD.org
WWW            : https://xfce.org/
Comment        : Xfce's window manager
Options        :
        NLS            : on
        STARTUP        : on
Shared Libs required:
        libXRes.so.1
        libXext.so.6
        libpango-1.0.so.0
        libcairo.so.2
        libepoxy.so.0
        libgtk-3.so.0
        libICE.so.6
        libcairo-gobject.so.2
        libatk-1.0.so.0
        libxfce4ui-2.so.0
        libxfconf-0.so.3
        libSM.so.6
        libXcomposite.so.1
        libgdk_pixbuf-2.0.so.0
        libgio-2.0.so.0
        libXfixes.so.3
        libX11.so.6
        libglib-2.0.so.0
        libwnck-3.so.0
        libgobject-2.0.so.0
        libxfce4kbd-private-3.so.0
        libXpresent.so.1
        libXrender.so.1
        libstartup-notification-1.so.0
        libXdamage.so.1
        libxfce4util.so.7
        libintl.so.8
        libXrandr.so.2
        libgdk-3.so.0
        libXinerama.so.1
        libpangocairo-1.0.so.0
Annotations    :
        FreeBSD_version: 1300139
        repo_type      : binary
        repository     : FreeBSD
Flat size      : 2.16MiB
Description    :
The Xfce 4 window manager manages the placement of application windows
on the screen, provides window decorations, and manages work-
spaces or virtual desktops.

WWW: https://xfce.org/

3. SDDM カスタマイズ

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

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

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

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

[Theme]
# Current theme name
Current=breeze

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

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

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

4. シャットダウンユーザの設定

 一般ユーザからもシャットダウンできるようにします。  逆に、一般ユーザからシャットダウンさせないようにするにはこの手順を行わないでください。  本項は、「XFCE - Why does Mate system menu not have the Shutdown and Restart items? | The FreeBSD Forums」を参考にさせていただきました。

/usr/local/etc/polkit-1/rules.d/50-default.rules
 を編集します。  「root」ユーザで

sh
cat << 'EOF' >> /usr/local/etc/polkit-1/rules.d/50-default.rules

polkit.addRule(function (action, subject)
{
    if ((action.id == "org.freedesktop.consolekit.system.restart" ||
         action.id == "org.freedesktop.consolekit.system.stop")   &&
         subject.isInGroup("wheel"))
    {
        return polkit.Result.YES;
    }
});
EOF
exit
 「wheel」の箇所に、再起動・シャットダウンを許可したいユーザの所属する、グループ名を記述します。  わたしは、サスペンドを使いませんので、省略しています。  サスペンドを許可するには、

    if ((action.id == "org.freedesktop.consolekit.system.restart" ||
         action.id == "org.freedesktop.consolekit.system.stop")   &&
 の個所を下記へ変更します。

    if ((action.id == "org.freedesktop.consolekit.system.restart"  ||
         action.id == "org.freedesktop.consolekit.system.stop")    ||
		 action.id == "org.freedesktop.consolekit.system.suspend") &&

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

 「root」ユーザで

sh
cat << 'EOF' >> /usr/share/skel/dot.xsession
#!/bin/sh
# set locale
export LC_ALL=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
#
setxkbmap -layout jp
EOF
exit
chmod +x /usr/share/skel/dot.xsession
 既存のログインユーザで

cp /usr/share/skel/dot.xsession ~/.xsession

6.グインマネージャ起動

 「root」ユーザで、下記のコマンドでインストールしたものを有効化して

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

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


ハイスピードプラン
薬屋の独り言