Raspberry Pi ZERO W + Nexus7(2012)

当サイトには基本ディスプレー、キーボードの付いた有効なマシンはPi3しかありません。
万一Pi3、もしくはローカルLan内のなにかに異常があった場合調査、復旧に困難を伴うことがあります。
またPi3への新規インストールの際にもコンソール画面だけでは効率が悪くなります。

現在は出番の少なくなったNexus7(2012)+keybordとPi ZERO-Wを合わせてもう1台のmini-PC環境を構築してみたいと思います。


Nexus7とPi ZERO-Wはなんの捻りもないvnc接続ですがZERO-Wにはraspbian-stretch-liteをインストール、ヘッドレスでxorgから軽量のX環境を構築、vncをNexus7の画面サイズに合わせて起動して専用端末風に見せかけています。ローカルLan内限定です。

ZERO-W インストール

Pi3でカード作成(デバイス名確認、注意のこと)

# dd if=2018-11-13-raspbian-stretch-lite.img of=/dev/sda bs=1M

書き込みが終わったらカードの段階で最低限の設定をしておきます。(各自の環境)
pcmanfmからカードのbootに空ファイルssh作成、ターミナルからネットワーク設定

$ sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /media/pi/rootfs/etc/wpa_supplicant

/media/pi/rootfs/etc/dhcpcd.conf # 追記

static ip_address=192.168.0.13
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

カードをZERO-Wにセットして起動、sshで接続してセットアップ続行
pi3の/etc/hostsにはアドレスとhostnameを登録

$ ssh pi@raspberrypi
$ sudo raspi-config
Locale ja_JP.UTF-8
Timezone Asia Tokyo

exit exitしてssh再接続
updateしてX関連インストール

root@raspberrypi:~ # apt update && apt -y upgrade
root@raspberrypi:~ # apt install xorg twm tightvncserver autocutsel fontconfig fonts-ipafont fonts-ricty-diminished scim-anthy
root@raspberrypi:~ # exit

インストールが終わったらvncserverを起動してパスワード設定

pi@raspberrypi:~ $ 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/pi/.Xauthority does not exist

New 'X' desktop is raspberrypi:1

一旦kill $ vncserver -kill空白:1になります

pi@raspberrypi:~ $ vncserver -kill :1
Killing Xtightvnc process ID 19560


Pi3はウインドウが混み合ってるのでFreeBSDから作業をしています。
インストール直後のupdateでは1.1G
X関連インストール後は1.4G

ZERO-Wには~/.vnc/xstartupが作成されています。下記はコメントアウトされているので外して有効にします。

x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

再度vncserverを適当なサイズを指定して起動

pi@raspberrypi:~ $ vncserver -geometry 800x480 -depth 24


FreeBSDのvncviewerから呼び出しています。

% vncviewer raspberrypi:1

Xが正常に起動、確認できたところでkill

pi@raspberrypi:~ $ vncserver -kill :1

使いやすく軽量なUI、ツールをインストール

root@raspberrypi:~ # apt install tcsh openbox lxpanel lxappearance lxterminal leafpad vim pix-icons gnome-icon-theme

~/.Xresourcesの作成と日本語環境

基本の手順はFreeBSDで作成したものと一緒です。FreeBSD 12.0 日本語環境
必要なパケージはxorgの項でインストールしてあります。
~/.Xresourcesを作成します。
65xxx.conf(3個)を適当なディレクトリに作成、実行スクリプトは下記を使います。
font_set.sh

#!/bin/sh
sudo cp *conf /etc/fonts/conf.avail
cd /etc/fonts/conf.d
sudo ln -s ../conf.avail/65-fonts-ipa-mincho.conf
sudo ln -s ../conf.avail/65-fonts-ipa-pgothic.conf
sudo ln -s ../conf.avail/65-fonts-monospace.conf

ディレクトリ内で実行

 $ sh font_set.sh

~/.vnc/xstartupの編集

#!/bin/csh

xrdb $HOME/.Xresources
xsetroot -solid grey
xsetroot -cursor_name left_ptr
autocutsel &
xterm -geometry 80x24+115+55 &
lxpanel &
scim -d
/etc/X11/Xsession

日本語入力は最軽量級と思われるscim-anthyを導入しました。
ここもやはりFreeBSD同様xstartupはcshで動かします。scim-anthyは以前の経緯からすると.bashrc .cshrcに記述するようになっていますが現在はbshell系からは起動しないようです。
ZERO-Wにはtcshをインストール、FreeBSDの.cshrcを作成、ホームディレクトリに置きます。
~/.cshrcには次の2行が必要です。

setenv  LANG    ja_JP.UTF-8
setenv  XMODIFIERS @im=SCIM

ユーザーのshellはbashでOKです。
ウインドウマネージャは自動でopenboxが適用されます。

defaultにあるexport XKL_XMODMAP_DISABLE=1は無視されますが当サイトで試した限りでは特に問題ないようです。cshはスクリプトに不敵と言われていますが他はshellを問わない実行コマンドなので問題ないと思います。


漢字キーはデフォルトでControl+spaceとZenkaku_Hankakuが適用されていますがNexus7キーボード用にControl+jとControl+kを追加しました。(Control+jはleafpadで使っている)
Zenkaku_Hankakuは時々効かなくなることがあります。

vncのサイズはNexus7から見やすい708×440で起動することにしました。
起動は手軽にcrontabに設定します。

pi@raspberrypi:~ $ crontab -e
@reboot sudo -u pi /usr/bin/vncserver -geometry 708x440 -depth 24

pi@raspberrypi:~ $ sudo reboot

androidからの接続はbVNC Freeを使いました。

VNC Connection Settingsに必要な項目を入力
ホスト名 raspberrypi 接続ポート 5901
ユーザー名 pi
パスワード ********
入力したら Connect


Nexus7からもデフォルトの状態でも問題なく見えますね。
キーボードは500円のケース付き中華キーボード(micro usb)と無印blue toothキーボードがあります。
どちらも使えますが中華キーボードは一部記号キーが刻印と違っています。
やはり無印でもblue toothキーボードに軍配が上がります。

ZEROに標準のraspbian-stretchをインストールするとあきらかにもっさりした感じになるのですがこちらは軽快に動作します。(大物のアプリケーションはダメですが)
vnc特有の再描写感は少しあります。

次回はファイルマネージャーの導入とNexus7からはマウスなしキーボードのみの運用を目指しているのでここらをテストしてみたいと思います。

Raspberry Pi 2 on FreeBSD 12.0 Applications

ここ数日でpackagesが大幅に更新されています。現時点でmakeが通るものは全てpkgに登録されている感じがします。

PCManFMもインストールできますね。

openbox lxpanelなども登録されています。
UIはまた次の機会に変更しようと思います。

webブラウザはchromium-browser,firefoxはまだのようですがepiphanyなどwebkit系のブラウザがインストールできます。但しcoreを吐いて起動できません。
Web browser are in “segmentation fault (core dumped)” in Rpi 2

原因は確認していませんがURLのページにある現象と思います。オプションを追加してportからwebkitgtkをmakeするといいようです。

取り敢えずは日本語文章などをコピーするくらいなのでw3m-imgで充分かな。


音もデフォルトでOKですね。

画像関連も一般的なものはほとんど利用できるようです。


pkgからインストールするffmpegはffplayを使用できません。
vnc接続もあってか大きな映像はスムーズに再生できませんが元ファイルの映像サイスが320×240程度であればmplayerで遅延もなく再生できます。

I’m curious! わたし、気になります

さて気になっていたPi-FreeBSDですがRaspberry Piでは起動デバイスがSDカード(mmcsd0)とあってか余計な手間もなくFreeBSD4の頃の感覚で扱うことができました。(内容は大分進化していると思いますが)

取り敢えず設定済みのカードが1枚あれば今後新たにカードを作成する際にも設定ファイルなどを利用することができます。これからも少しFreeBSDで遊んでみようと思います。

Raspberry Pi 2 on FreeBSD 12.0 File Manager

現在の時点ではRaspberry pi FreeBSDにはxfce4などの統合環境は出揃ってないように見えます。
またfirefoxやpcmanfmなどのメジャーなアプリケーションもまだ取り込まれていないようです。それでもここ数日で新しく登録されたアプリケーションもあり今後徐々に充実されていくものと思います。

少し思い出しながらGUIのRox Filerと比較的新しいCLI Rangerを導入してみました。
Roxは見た目、操作系重視して(これ大事ですね)Rangerをメインにしようと思います。

Rox Filer

Rox Filerは軽量、シンプルなFilerですが壁紙やディスクトップアイコンを貼り付けることができます。
Xでは壁紙やディスクトップアイコンは基本ファイルマネージャの仕事ですね。
インストール

# pkg install rox-filer rox-session rox-videothumbnail rox-wallpaper rox-mime-editor rox-edit


当時は設定画面の日本語化も不充分でウインドウがコロコロと大きさが変わったり(ディフォルト)と使いにくい印象があったのですが改めて設定し直して使ってみると普通に使えるようです。
但しシステムファイルを検索、調査するような用途には向きません。用途を限定して使用すれば充分使えると思います。

pinboardの設定
ディスクトップアイコンはpinboardを使って設置します。
PIN_name=freebsd(任意)で実行します。

% rox -p freebsd

ディスクトップに青いホームアイコンができます。ファイラーを起動して必要なコマンドをディスクトップにドラッグ&ドロップ。

% which xterm
/usr/local/bin/xterm

起動設定
~/.vnc/xstartup に記載

#!/bin/csh
bmpanel2 &
xrdb $HOME/.Xresources
autocutsel  -fork
xsetroot   -solid grey
rox -p freebsd &
xclock  -geometry 120x120-0+8 &
xterm   -geometry 80x5+255-0 &
sleep 1
blackbox &
scim -d


壁紙はホームアイコン右クリック背景を設定から
壁紙やアイコンは別途用意する必要があります。
~/.iconsに入れるといいでしょう。pi3からコピーしましたがpkgにもあるはずです。
各ファイルの関連付けも設定しなければいけません。
右クリックはrox menuに取られてしまうので設定メニューから奪取します。

pinboardを起動すると背景色はグレーになります。(背景色は壁紙で対応)
black box menuからrestart(reconfigure)やstyleを変更するとpinboardは終了します。
再度起動する時はターミナルから

% rox -p freebsd

Rngerr

高機能なCLIファイルマネージャー
FreeBSDからはpy27系とpy36系がインストールできます。

% pkg search ranger
py27-ranger-1.9.2   Ranger is a file manager with VI key bindings
py36-ranger-1.9.2   Ranger is a file manager with VI key bindings

どちらも変わりなく使用できますがpreviewは関連するpkgをインストールしましたが設定が下手なのか表示してくれませんでした。

% pkg install py27-ranger

設定ファイルをコピー

% ranger --copy-config=all
creating: /home/freebsd/.config/ranger/rifle.conf
creating: /home/freebsd/.config/ranger/commands.py
creating: /home/freebsd/.config/ranger/commands_full.py
creating: /home/freebsd/.config/ranger/rc.conf
creating: /home/freebsd/.config/ranger/scope.sh

colorschemesのコピー

cp -r /usr/local/doc/ranger/config/colorschemes ~/.config/ranger


lxterminalからrangerを実行するとカラフルな色で立ち上がります。
でも見難いんですね。
特に青と赤が見えにくい。colorschemeを設定すればいいのですが面倒
ディレクトリとファイルの区別がつけばいいので単色系のsnow.pyをベースにいじってみました。

% cd ~/.config/ranger/colorschemes
% cp snow.py freebsd.py

~/.config/ranger/colorschemes/freebsd.py

7行目色追加
from ranger.gui.color import default_colors, reverse, bold, BRIGHT, black, blue,
 cyan, green, magenta, red, yellow
23行目 fg += BRIGHT コメントアウトして適用したい色に変更
            #    fg += BRIGHT
            #    fg = cyan
            #    fg = yellow
                fg = green
            #    fg = magenta

~/.config/ranger/rc.conf

131行目
# set colorscheme default
set colorscheme freebsd

ほかに変更した箇所は次の2箇所
37 set show_hidden true 隠しファイルを表示
153 set draw_borders true 枠線表示
xtermではフォントのせいか枠線が少し乱れます。.Xresources XTerm*cjkWidth 削除
colorscheme defaultでもxtermでだいぶ見やすくなりました。

一般ユーザー(freebsd)はgreenに設定
rootにも同様に設定してcolorschemeはcyanに設定

~/.cshrcにはalias r ranger を書いて”r”一文字で実行
ディレクトリやファイル名はSihftを押しながらマウスで範囲選択コピーできるのでターミナルからの編集などもすごい楽になります。

関連付け
関連付けはrifle.confに記載します。rifle.confの最初の方に実行させたい拡張子とアプリケーションを記載します。
.config/ranger/rifle.conf

ext pdf = mupdf "$@"
ext jpg = gpicview "$@"
ext png = gpicview "$@"

FreeBSDとしては今のところこれだけできれば充分かなと思っています。

次回引き続きアプリケーション環境を設定していきます。

Raspberry Pi 2 on FreeBSD 12.0 WM(Blackbox)

ウインドウマネージャ Blackboxは設計が古い、開発も終了していると言うことで機能的に不足しているところや若干の不具合もありますがその分軽い、設定運用が簡単になっています。

取り敢えずはBlackboxを使うことにしてタイトルバーの表示が日本語に対応していないのでフォントの変更を含め簡単にdark系のstyleを作成してみます。

また最小化時行方不明になる不具合があるのでパネルを追加してみました。

blackbox dark style

既存のstylesをコピー

% cp -r /usr/local/share/blackbox/styles ~/.config/blackbox
% cd ~/.config/blackbox/styles
% cp Blue Dark

menuの編集
~/.config/blackbox/menu

  [submenu] (Styles) {Choose a style...}
    [stylesdir] (~/.config/blackbox/styles)
  [end]

コピーしたDarkを編集
参考 Dark

フォントをipag.otfに変更
下部のウインドウを掴むところも小さくしています。
結構適当

色を調べるためgcolor2をインストールしました。

# pkg install gcolor2

bmpanel2の導入

# pkg install bmpanel2

% bmpanel2 を実行すると下部(default bottom)にパネルが起動します。
ディフォルトのテーマは/usr/local/share/bmpanel2/themes/にあります。

% ls /usr/local/share/bmpanel2/themes/
alduin-glossy       auriel-green-smooth curvy-pink          noir
alduin-smooth       auriel-pink-opaque  flora-blue          striped
auriel-blue-opaque  auriel-pink-smooth  flora-green         transpy
auriel-blue-smooth  curvy-blue          flora-pink          xsocam
auriel-green-opaque curvy-green         native              xsocam-dark

テーマを指定して実行

% bmpanel2 --theme=alduin-glossy 

テーマを~/.local/share/bmpanel2にコピー

% mkdir -p ~/.local/share/bmpanel2
% cp -r /usr/local/share/bmpanel2/themes ~/.local/share/bmpanel2

各テーマディレクトリ以下に設定ファイルthemeと画像があります。

基本はbottomになっているので上にする場合はtopに変更します。
テーマによっては設定ファイルthemeの記述(特にワークスペース)が不完全になっているようです。
また設定コマンドbmpanel2.cfgがあるらしいのですがfreebsdからのインストールには見当たりません。
launcherも機能しませんでした。

使用するテーマが決まったらbmpanel2rcに記述
~/.config/bmpanel2/bmpanel2rc

theme alduin-glossy

起動は~/.vnc/xstartupに記載します。
bmpanel2を先に起動して適当にsleepを入れパネルが上(下)にひっついてからウインドウマネージャを起動するようにします。

#!/bin/csh
bmpanel2 &
xrdb $HOME/.Xresources
autocutsel  -fork
xsetroot   -solid grey
xclock  -geometry 120x120-0+8 &
xterm   -geometry 80x5+255-0 &
sleep 1
blackbox &
scim -d


ウインドウを最小化するとするとボタンは左端に順に移動します。
ウインドウが行方不明になることは無さそうです。
また日本語入力をONにするとTray内のアイコンがAnthyに変わります。
パネルはほかのウインドウマネージャでも使用できそうですね。

画像のテーマはalduin-glossyを正しいと思われるワークスペースに書き換えています。
ワークスペースは右側に配置
separator.pngをauriel-blue-opaqueからコピー
参考 alduin-glossy theme

基本のUIはできてきたので次回は現時点でインストールできるアプリケーションを調べてみます。

Raspberry Pi 2 on FreeBSD 12.0 日本語環境

今回は日本語環境の設定をしてみます。

現在使っているディスクトップPi3と同じ見栄えになるようにしてみようと思います。

日本語入力環境はscim-anthyにしました。

.Xresourcesの編集

~/.Xresources

XTerm*utf8              : 1
XTerm*locale            : true
XTerm*selectToClipboard : true
XTerm*faceName          : monospace
xterm*ximFont           : sans
XTerm*faceSize          : 11.5
XTerm*cjkWidth          : true
XTerm*fontDoublesize    : true
XTerm*saveLines         : 2000
XTerm*geometry          : 80x24
XTerm*charClass: 33:48,37:48,45-47:48,38:48,64:48

XTerm*background: #292929
XTerm*foreground: #DDDDDD
XTerm*color0:     #333333
XTerm*color1:     #A94952
XTerm*color2:     #83A949
XTerm*color3:     #A99F49
XTerm*color4:     #4983A9
XTerm*color5:     #A94983
XTerm*color6:     #49A99F
XTerm*color7:     #AAAAAA
XTerm*color8:     #666666
XTerm*color9:     #ED6975
XTerm*color10:    #B8ED69
XTerm*color11:    #EDE169
XTerm*color12:    #69B8ED
XTerm*color13:    #ED69B8
XTerm*color14:    #69EDE1
XTerm*color15:    #DDDDDD

xclock*foreground : #0EF40E
xclock*background : #292929
xclock*hands      : #292929
xclock*highlight  : #09CBF3
xclock*update     : 1

xcalc*customization : -color

—追記
cjkWidthを削除
charClassを追記

% xrdb .Xresources

LXTerminalのインストール

もう一つのターミナルとしてlxterminalをインストールします。

# pkg install lxterminal

.Xresourcesを作成して実行するとxtermはこんな感じになります。

ipa-fontをインストールすると/usr/local/etc/fonts/conf.avail/62-fonts-ipa.confができますがこのファイルを編集してもxtermは改善してもlxterminalなどでうまくいきません。
raspbian同様新たに設定し直します。

フォントricty-diminishedはfreebsdからはインストールできないのでpi3(raspbian)からsshでfreebsdにコピーします。(pi3にはインストール済)

$ scp -r /usr/share/fonts/truetype/ricty-diminished freebsd:/tmp

freebsd側ではcp -rでコピーします。パーミッションはroot:wheelに保たれます。

# cp -r /tmp/ricty-diminished /usr/local/share/fonts

以下のファイル名で作成して適当なディレクトリを作成、まとめておきます。(user freebsd or root)
65-fonts-ipa-mincho.conf
65-fonts-ipa-pgothic.conf
65-fonts-monospace.conf
font_set.sh
作成したらディレクトリ内で実行

% sh font_set.sh


リブートして確認
xtermもlxterminalも同じ表示になりました。
文字も少しきれいになってるかな
電卓もカラーになりました。
xclockの秒針は頭しか回っていませんが愛嬌があっていいと思います。

日本語入力 scim-anthy

日本語入力はscim-anthyが動きました。

# pkg install ja-scim-anthy

~/.cshrc 追記

setenv  LANG    ja_JP.UTF-8
setenv  XMODIFIERS @im=SCIM

~/.vnc/xstartup 末尾に追記

scim -d


リブートして確認
初期状態はCtrl + Spaceで起動します。


ツールバーからSCIM設定
開始/終了 右のボタンクリック
キーコード 右のボタンクリック
漢字キーをクリックして登録


追加で設定済みキーに反映 OK OK
リブートして有効

霞(kasumi)

% kasumi


Anthy個人用辞書管理ツール

次回はwm(Blacbox)廻りを少しいじってみたいと思います。

Top