Raspberry Pi 2 on FreeBSD 12.0 Xorg

前回に続いてRaspberry Pi 2 FreeBSD 12.0-RELEASEのX環境を構築していきたいと思います。

X環境はヘッドレスでxorgをインストールvnc serverを立ててクライアントpi3から実用的な運用(テスト環境)を目指したいと考えています。

Xorgインストール

前回インストールしたFreeBSDログイン、Xorgをインストールします。

# pkg install xorg

Xorgのインストールには時間がかかります。数時間はかかるでしょう。
FreeBSDにtmuxをインストールしておいて寝る前に実行しておきました。

tightvncインストール

ipaフォントもインストール

# pkg install tightvnc autocutsel ja-font-ipa

ここでリブートの前に
前回インストールしたsudoの設定をしておきます。

# visudo
freebsd ALL=(ALL) NOPASSWD: ALL # 末尾に追記
% sudo reboot

vncserver起動

FreeBSDにログイン user freebsdで実行 vncパスワード設定

vncserver
You will require a password to access your desktops.

Password: 
Verify:   
Would you like to enter a view-only password (y/n)? n
xauth:  file /home/freebsd/.Xauthority does not exist

New 'X' desktop is freebsd:1

Creating default startup script /home/freebsd/.vnc/xstartup
Starting applications specified in /home/freebsd/.vnc/xstartup
Log file is /home/freebsd/.vnc/freebsd:1.log

パスワードを設定したら一旦killします。

% vncserver -kill :1
Killing Xvnc process ID 944

適当にgeometryを指定して実行

% vncserver -geometry 980x700 -depth 24

クライアントのpi3からvncviewer実行
pi3にはtigervnc-viewerをインストールしています。

% vncviewer freebsd:1


設定したパスワードを入力


ウインドウマネージャが起動していませんね。

Os(FreeBSD)起動時にvncserverを起動するよう設定します。起動はcrontabから
user(freebsd)を指定して実行します。

% crontab -e
@reboot sudo -u freebsd /usr/local/bin/vncserver -geometry 980x700 -depth 24
% sudo reboot


懐かしのtwmが起動しました。
一旦killして再度vncserverを実行するとやはりtwmは起動しなくなります。
twmを常用するのは少々辛いところがあるのでwmを交代することにします。
openboxはpackagesに見当たらないので元祖blackboxをインストールしてみました。
fluxboxという選択肢もあるのですが取り敢えず超軽量級、超シンプルということで

% pkg install blackbox

~/.vnc/xstartupの起動スクリプトは~/.cshrcを読み込ませるためcshで走らせます。

#!/bin/csh
xrdb $HOME/.Xresources
autocutsel  -fork
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
blackbox &


こちらはkillしてもOK
シンプルな画面です。メニューは英文ですが特に問題無いでしょう。
メニューの編集は見ただけでわかる構成になっているので走りながら即編集していけます。
欠点はウインドウを最小(タイトルバー左側ボタン)にするとバーに入らないで行方不明になってしまいます。またウインドウのサイズ変更は下部左右の2箇所だけです。

テキストエディタleafpad

packagesにテキストエディタ(leafpad)があるのでインストール

# pkg install leafpad

依存関係が多かったので1時間位かかったように思います。

blackbox menuの編集

デフォルトのメニューを~/.config/blackbox/にコピーして編集

% mkdir -p ~/.config/blackbox
% cp /usr/local/share/blackbox/menu ~/.config/blackbox

~/.config/blackbox/menu

# This is the default menu file for Blackbox 0.33.0 and up
# 
#	[command]  (label)  {data}
#
#   [begin] [end] [exec] [exit] [reconfig] [restart] [submenu] 
#   [style] [stylesdir] [include] [workspaces] [config]

[begin] (Blackbox)
  [exec] (Xterm)       {xterm}

  [submenu] (Accessarys)
    [exec] (Leafpad) {leafpad}
    [exec] (Xcalc)   {xcalc}
  [end]

  [submenu] (Settings)
    [exec] (Edit Xstartup)     {leafpad ~/.vnc/xstartup}
    [exec] (Edit .Xresources)  {leafpad ~/.Xresources}
  [end]

  [submenu] (Styles) {Choose a style...}
    [stylesdir] (/usr/local/share/blackbox/styles)
  [end]

  [workspaces] (Workspace List)
  [config] (Configuration)

  [submenu] (Blackbox)  {Blackbox Menu...}
    [reconfig] (Reconfigure)
    [restart] (Restart)
    [exec] (Edit Menu) {leafpad ~/.config/blackbox/menu}
  [end]
[end]

~/.blackboxrcの編集
24行目編集したmenuを読み込みます。

session.menuFile: ~/.config/blackbox/menu

右クリックblackbox menuからRestartすると反映されます。

下のblackbox Edit Menuでleafpadから編集可能になります。
編集した内容は即反映もしくはReconfigureでmenuに反映します。

tightvncは大変軽快に動作します。
osの特性上1回目のアプリケーション起動はメモリに読み込む間ちょっと起動が遅いことがありますが2回目からは素早く起動します。

まだX関連の設定は続きます。