インストーラ入手や OS のインストール、sendmail 無効化と pkg update までは「FreeBSD のOSインストール」を参照してください。
2. インストール
pkg install -y xorg ja-font-migmix ja-fcitx-mozc zh-fcitx-configtool
pkg install -y slim slim-themes
pkg install -y x11-wm/xfce4
2019年11月8日、インストール時のバージョンは下記の通りでした。
> pkg info xfce
xfce-4.14
Name : xfce
Version : 4.14
Installed on : Thu Nov 7 16:41:31 2019 JST
Origin : x11-wm/xfce4
Architecture : FreeBSD:12:*
Prefix : /usr/local
Categories : xfce x11-wm
Licenses :
Maintainer : xfce@FreeBSD.org
WWW : https://www.xfce.org/
Comment : meta-port for the Xfce Desktop Environment
Options :
APPFINDER : on
GREYBIRD : on
GTK2ENGINE : off
ICONS : on
LIGHTDM : off
MOUSEPAD : on
NOTIFY : on
ORAGE : off
PRINT : off
SQUEEZE : off
TERMINAL : on
XPM : off
Annotations :
repo_type : binary
repository : FreeBSD
Flat size : 0.00B
Description :
Xfce Desktop Environment
This package does not contain anything by itself - it is a "meta-port" that
depends on other Xfce packages.
WWW: https://www.xfce.org/
3. シャットダウンユーザの設定
一般ユーザからもシャットダウンできるようにします。
逆に、一般ユーザからシャットダウンさせないようにするにはこの手順を行わないでください。
何故か、今までの設定では動作しなかったので、変更しました(2019年11月8日)。
/usr/local/etc/polkit-1/rules.d/50-default.rules
へ、例えば、「wheel」グループへ、再起動・シャットダウンを許可するものとして、以下を追加します。
(スクリプトでいきなり編集しようとしたら、うまくいきません)
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;
}
});
「wheel」の箇所に、再起動・シャットダウンを許可したいユーザの所属する、グループ名を記述します。
わたしは、サスペンドを使いませんので、省略していますが、サスペンドを許可するには、17行の「)」の前に続けて、「|| action.id == "org.freedesktop.consolekit.system.suspend"」を追加します。
「XFCE」の場合はさらに、以下の設定を行っておかないと、2回目のログイン以降に、パネルが表示されなかったり、パネルをカスタマイズしてもご破算になります。
/usr/local/etc/xdg/xfce4/kiosk/kioskrc
というファイルをディレクトリを含めて作成して、内容を設定します。
mkdir -pv /usr/local/etc/xdg/xfce4/kiosk
cat - << EOF >> /usr/local/etc/xdg/xfce4/kiosk/kioskrc
[xfce4-session]
CustomizeSplash=ALL
CustomizeChooser=ALL
CustomizeLogout=ALL
CustomizeCompatibility=%wheel
Shutdown=%wheel
CustomizeSecurity=NONE
[xfce4-panel]
CustomizePanel=ALL
EOF
4. /etc/rc.conf 編集
前項までインストール・設定したものを有効にします。
cat - << EOF >> /etc/rc.conf
polkitd_enable="YES"
dbus_enable="YES"
slim_enable="YES"
EOF
5. ユーザ用初期化ファイルの作成
ログインユーザで
/usr/share/skel/dot.xinitrc
というファイルを作成して、編集します。
cat - << EOF >> /usr/share/skel/dot.xinitrc
#!/bin/sh
# set locale
export LC_ALL=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
#
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=xim
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d
#
setxkbmap -layout jp
#
exec $1
EOF
既設のログインユーザで、上記をホームディレクトリへコピーします。
cp /usr/share/skel/dot.xinitrc ~/.xinitrc
6. xfce 起動
上記までの設定が終わったら、デーモン群を起動します。
service dbus start
service slim start
うまく設定できていれば、ログイン画面が表示されます。