電子辞書Brainをいじる (2) Brainuxの初期設定とネットワークに接続して遊ぶ

Brainuxをいじって遊ぶ

前回作成したMicroSDから改めてBrainuxを起動します。
電子辞書のメニュー(HOME -> ツール -> 追加コンテンツ -> 追加アプリ・動画)に進んで、
「launch Linux」をクリックすることで、Linux(Brailunx)を起動できます。

環境的には、Brainuxは、Debian GNU/Linux 11 (bullseye)ベースのようです。

大体初代ラズパイの半分くらいの性能のメインボードに以下のハードウェアをついている感じです。
・ディスプレイ(タッチパネル付き)
・キーボード
・バッテリ回り

 

ハードウェア等の情報を表示させてみる

手始めに、Brainuxから見えるハードウェア情報を表示してみます。
Terminalを立ち上げて、コマンドを入力します。

 

lscpu CPU情報表示

CPUは、ARMv5 tejlですね(Debianのアークテクチャ的にはArmelに相当します)。
NXP i.MX283 の場合は ARM926EJ-S コア、命令セットが ARMv5Tとのことです。

性能的には大体初代ラズパイの半分くらいの性能でしょうか?

 

free メモリ使用状況表示(SWAP設定後)

Brainのメインメモリは128MBです。
前回作成したSwap領域も認識しています(2048MBは少し多かったかもしれません。512MB程度でよかったかも)。

 

lsusb USBデバイスの一覧を表示

USBホストコントローラが認識されています。

 

lsblk ブロックデバイス(ストレージ)の一覧を表示(領域拡張後)

microSD(mmcblk1)が認識されています。

 

mount マウント状況

問題なくマウントとされています。
/boot vFAT領域
/ etc4領域

 

df diskfree 空き容量確認

マウントされた領域の利用状況を確認d系ます。
(/や/bootの利用状況は、初期値ではなく、いろいろアプリを追加した後の値になります。)

 

lsipc システムパラメータ情報を表示

システムの各種パラメータを表示します。

 

uname -a 使用中のシステム名を表示

CPUアーキテクチャは、armv5tejl になります。

 

hostnamectl ホスト名以外のシステム情報をまとめて表示

OSとしては、Debian GNU/Linux 11 (bullseye)がベースのようです。
Linux カーネルは 5.4ですね。

 

ip address ネットワーク情報を表示

現状は外向けのネットワークアダプタなどはつけていないのでIP付与はありません。

ほかにも、さまざまなコマンドが実行できます。
slコマンドまで入っているのは少し笑いましたが。

 

BrainにUSB機器を接続して、認識させる。

Brainuxでは、外部電源供給可能なMicroAタイプのUSBホストアダプタを利用すると、
USB機器を認識することができます。(動くかどうかはドライバ次第ですが)
(Brainux起動時のデフォルトではUSBホストモードになってます。)
(Brainからの給電ができないため外部電源供給が必須です。)

外部電源供給可能なMicroAタイプのUSBホストアダプタは、以下が使用できました。

使用できたホストアダプタ(おすすめ順)

●給電付OTGアダプタ(Shigezoneさんで購入) 充電〇

秋葉原の東京ラジオデパートにあるShigezoneさんで販売している
給電付きOTGアダプタも利用できました。こちらはBrainへの充電も可能です。
USBA側コネクタは 1つなので、複数USB機器を接続したいなら別途USB-HUBが必要です。
(11/16時点での価格:350円)

Type-B(A)コネクタの向きで右と左の2種類がありますが、今回は右を買いました。
右だとBrainにつけたときにUSB-Aコネクタ側が後ろに向きます。(左だと、前に向きます。)

アイネックス USBホストアダプタ 補助電源付 ADV-120 充電×

Amazonで入手したものが利用できました。
ただ、このホストアダプタ経由でのBrainへの充電はされないみたいなのでBrainの充電切れには注意してください。
(11/16時点での価格:727円)

Richer-R 4ポートマイクロUSBハブUSB2.0 OTG拡張アダプタ スマートフォンとタブレット用充電ケーブル 充電△? USB-HUB付き 認識にくせあり 

Amazonで入手したものが利用できました。
4ポートのUSBHUBにもなっているので、複数のusb機器を認識させるのには便利です。
接続するホスト機器によって123と切り替えスイッチがあるタイプですが、いったん3の位置で使っています(違いが判りません)。
あとBrainuxで認識させるのに癖があって、認識しない場合はBrainに接続している状態で、一回充電ケーブルを抜いて再度充電ケーブルを接続すると、認識する場合があるようです。
使用中のBrainへの充電も可能ですが給電能力は少し弱めかもしれません。
(11/16時点での価格:599円)

lsusbコマンドで、現在認識しているUSB機器が確認できます。

例えばこんな感じです。
認識している機器
有線NIC、タッチパッド付きキーボード、マウス、USBAudioデバイス、USB-HUB、
Brain内部のUSBコントローラ

lsusb -tで見ると、Driverも当たっていますね。
(UVCデバイスのように対応するドライバがないと、Driver=,とドライバ名が表示されません。UVCデバイス認識すると使い道が広がるのだが、使うにはカーネル構築が必要とのことなので、断念)

 

有線LANでネットワークに接続する

Brainuxでは、USB有線lANを使ってネットワークに接続できます。
必要なものは、外部電源供給可能なMicroAタイプのUSBホストアダプタと、USB接続タイプの有線LANアダプタです。

USB接続タイプの有線LANアダプタについては、手持ちにLogitecのUSBHUB付きの100Mbpsの有線LANアダプタがあったので、試しにつないでみたら使えました。
USB-HUB付であれば、USBマウスやキーボードも追加で繋げられるので便利です。
ロジテック 有線LANアダプタ USB 2.0 USB2.0ハブ3ポート付 LAN-TXU2H3A

有線LANでつないでみると、LANアダプタを認識してLANにつながりました。
LANアダプタはASIX Electronics AX88772B として認識しています。
DHCPでIPを自動取得(192.168.29.11)して、DGW(192.168.29.1)へのPingも通りました。

ちなみに、USB有線LANアダプタの代わりにUSBテザリング可能なモバイルルータを接続しても外部通信可能でした。
今回は手持ちのAterm MR04LNをUSBテザリング有効にして、USBホストアダプタ経由で接続したら、ちゃんとNDIS機器として認識してインターネットへの通信ができました。
(が、モバイルルータでNATされているので、Brain->外部ネットワークへの通信は可能ですが、逆に外部からBrainへの通信は厳しいことになります。)

あと、USB無線LANドングルについては、USB機器としては認識しましたが、wpa_supplicantの設定がうまくいかず、現状成功していません。

USBでホストPCを経由してネットワークに接続する(USB Ethernet Gadget)

BrainをUSB機器としてPCに認識させて、ネットワークに接続する方法です。
USBケーブル1本でBrainをネットワークに接続することができます。

「sudo brain-config」 コマンドでUSB Controllerのモードを変更すると、
パソコンとUSBケーブルを1本でつないで、ホストPCを経由して外部ネットワークに接続することができるようです。(Brain->外部ネットワークへの通信は可能ですが、逆はホストPC->Brain方向への通信のみが可能です。)

Brainへの充電も同時にしてくれますので、長時間Brainを使いたいならこちらですが、
USBキーボード・マウスとの併用はできません。

  • Host[USB Host Mode]モード
     BrainがUSB ホストアダプタを経由してUSB機器を認識できるモード(デフォルト)
     USBキーボードやマウス、USBネットワークアダプタ等を直接使うことができます。
  • Peripheral[USB Devioce Mode (for Gadget)]モード
     BrainをUSB機器として、他PC等のデバイスとして認識させることができるモードです。
     ただし、BrainがUSB機器を認識することはできません。

詳しいやり方は、Brainux Wikiに書かれています。
USB Ethernet Gadget

作業は大体はこのページの通りです。
UBSケーブルを接続して、ホストPCからピポッと鳴れば、接続しているはずです。
sudo ip aを実行して、IPv4アドレスが付与されていればOKです。

上記の場合、3: usb0:のブロックを確認すると、192.168.137.226が割り当たっていますね。
これが、ホストPCから見たBrainのIPアドレスになります。
(ホストPCでNATされているので、ホストPCからのみBrainにアクセスできます。)

IPv4が割り当たっていない場合は、DHCPでのIP取得ができていない場合があるので、
USBケーブルのつけなおしをしてみたり、以下のコマンドを打ってみてください。

sudo dhclient

これで、DHCPからIP取得されれば、外部へのPingも通るようになります。

PCからSSHでアクセスする

Brainがネットワークににつながったので、PCからSSHに接続してみる。
ip a コマンドの結果を確認すると、DHCPで割り振られたIPが192.168.29.11だった場合、
そのIPでログインしてみると、無事接続できました。
認証情報は コンソールと一緒で、user/brain でOKでした。

同様にWINSCPでSFTPプロトコルにてログインできるので、
ファイルのやり取りもネットワーク経由でOKです。

 

ブラウザ(midori)を試す

Brainuxには標準でブラウザも搭載しています。

Midori という軽量および高速な動作を目的としたブラウザが標準でありますので
X11上環境上で起動します。

midori &

速度とレスポンスを無視すれば、普通にGoogleにもSSL接続できます。

定番の「阿部寛」さんのホームページもOKです。
(もうすぐhttpでの接続ができなくなって、https接続のみになるそうので、いまのうちに)

さすがに重いので、Midoriによる日常的なブラウジングは難しいです。

ブラウザ(NerSurf)を試す

Netserfも標準で入っていますが、midoriよりは軽いですが、標準でJavascriptが有効になっていないようで、googleにアクセスすると警告が出ます。

terminalから、netsurf &で起動出来ます。

Javascrptは、右上の横三本線から、Edit->Preferences->Contentー>Enable Javascriptにチェックを入れれば有効にできるようですが、Javascriptを有効にしても私の環境ではGoogle検索は失敗しました。

netsurfは使えるレベルのレスポンスに感じますが、表示できるサイトに制限があるようです。

ネットワークにつながったので、aptでパッケージ更新してみる。

Brainuxのベースは、「Debian GNU/Linux 11 (bullseye)」なので、ネット経由でのパッケージ管理ツールも入っています。

すでに導入しているOSパッケージの更新は以下のコマンドになります。

sudo apt update
sudo apt upgrade

ただし、2025/11/05時点でやってみると、標準ではパッケージが保管されているレポジトリにアクセスできなくてスキップされているようです。

brainのコミュニティを確認すると、OSのarmelアーキテクチャ(32bit ARMv4T以上)がdebian11の公式レポジトリから削除されてしまった影響とのことです。
>Debian 11 bullseye のフルサポートは去年で終了していて、既に LTS 期間に入っているようです。LTS 期間のサポート対象として armel は外れているので、サポート終了の結果としてリポジトリから消滅したものと思われます。

現状のレポジトリリストを確認すると、以下のようでした。
/etc/apt/sources.list debian公式のレポジトリが登録
/etc/apt/sources.list.d/* brainux用のレポジトリが登録

で、コミュニティの情報を元に、ブラウザでサイトを確認しながら試行錯誤していましたが、
以下のレポジトリを指定すると、apt updateできているっぽい。

/etc/apt/sources.list

deb http://archive.debian.org/debian bullseye main contrib non-free
deb-src http://archive.debian.org/debian bullseye main contrib non-free

この更新後、apt show コマンドで、パッケージ情報も取得できるようになって、
パッケージインストールもできているみたいのでいけてるかな?
(なお、試しに導入したxtightvncviewerは起動・接続共に成功しましたが、画面表示レスポンスが遅いので使い方に制限が出そうです。チューニングで解決するかもしれませんが。)

ただ、このレポジトリもいつまで使えるのかはちょっと不安・・・・
むりやりdebian 12 Bookworm にアップデートされた強者もいらっしゃるようなので、
そのうち切り替えるのを試してみるかもしれません。
ただ、説明の中でのvirtualboxのゲストOSが何なのかがわからなくて調査中。
How to upgrade Brainux to Debian 12:
Brainux を Debian 12 にアップグレードする方法

それと、この状態でapt upgradeしても毎回「x11-ico-dvd」が引っかかってくるのですが、これは別原因かな。

/boot領域を読み書き可能としてマウントする(暫定対応)

mountの実行結果の通り、Brainux起動直後では、
/boot領域はro(ReadOnly)としてマウントされています。

/boot領域を読み書き可能になるためには、以下のようにコマンドを入力すると、
rootユーザであれば読み書き可能になります(再起動ごとに必要です。)。

sudo mount -o remount,rw /boot

ls -alの結果の通り、この状態では一般ユーザでは/boot以下の領域は書き込みできません。
書き込みが必要な場合は、sudoコマンドを使ってroot権限で操作してください。

/boot領域を読み書き可能設定の永続化とvFAT領域(/boot)の文字化けについて

WinCEの領域について、Brainuxでファイル表示してみると、
ファイル名に2バイト文字を使っているフォルダがが ‘???’ となっているものがあります。
(Windows上で見ると「アプリ」というフォルダが文字化けしています)

これは、Windows上でのファイル名はShift-JISとして扱いますが、
Brainux(Linux)ではUTF8として扱うため、不整合が出ているためです。
この不整合を修正します。

/lib/systemd/system/boot.mount を編集します。

Options=roとなっているところを以下のように変更します。

Options=ro

Options=rw,utf8

設定を変更したら、再起動して、あたらめてBrainuxを起動します。

sudo shutdown -r now

X11上のターミナルや、他PCからsshにアクセスした場合は、正常に文字化けが解消されています。
また、sudo コマンドで管理者権限で操作したときは、/bootフォルダ以下の編集もできるようになりました。

まずは、書き込みの確認から

もし、一般ユーザであっても/bootの読み書きを許すのであれば、
/lib/systemd/system/boot.mount を以下のように変更して下さい
(umaskの指定で、fmask.dmaskの両方が変更されます。)

Options=rw,utf8,umask=0000


しかし、Brainux起動時にshellを起動した場合だけでは、まだ2バイト文字が表示できていません。これは、標準コンソールが2バイト文字の表示をサポートしていないためです。

2バイト文字の表示をするためには、標準コンソール上でfbtermを起動します。
fbterm上では、正常に2バイト文字が表示されます。

fbterm

ただし、デフォルトのフォントでは、文字が崩れる場合があるので、
exitでfbtermを終了してから、フォントを追加します。

sudo apt install fonts-ipafont
fc-cache -fv
fc-list | grep -i ipa

cd
sudo vi .fbtermrc

fonts-names=mono

fonts-names=IPAGothic,mono
に変更します。

また、文字表示サイズが小さければ、お好みでフォントサイズを変更してください。

font-size=12

font-size=16

・localeの設定をします

sudo apt install locales-all

sudo brain-config を起動して、以下のメニューに移動します。
3 Localisation Options
L1 Locale

en_US.UTF-8 UTF-8はすでに選択されています。

ja_JP.UTF-8 UTF-8 を選択して Ok

システム言語設定を英語にする場合
en_US.UTF-8 を選択してOK

システム言語設定を日本語にする場合
ja_JP.UTF-8 を選択してOk

ログインし直してfbtermを起動します。

これで、X11環境でなくても、日本語表示できるようになりました。

 

日本語(全角)文字列の入力について (2025/12/10追加)

これで、fbterm上でjwm上での日本語(全角)文字列の出力は成功しましたが、
次に日本語(全角)文字列の入力もできるようにしたいです。

Brain関連のサイトも参考にします。
日本語を表示・入力する – Brain Hackers

デフォルトで日本語入力のためのパッケージは入っているようです。
入っていなければ、パッケージを追加します。
apt install fbterm uim-fep uim-anthy

以下の設定を追加します。

$ vi ~/.uim        以下の”&lt;”は”<“に変換してください。

これで、
Ctrl+`(Ctrl+[英語キーボード認識での日本語キーボードでの半角/全角]) か、 
Ctrl+スペース で
全角/半角の入力を切り替えにできます。
(本当はALT+’とかにしたかったのですが、うまくいかなかった)

ここまでで、事前準備は完了です。
そうしたら、コンソール上で全角文字を入力してみます。
Shell上のfbterm上や、
jwm上のTermial(lxterminalやxterm)で以下のコマンド入力してください

uim-fep

するとコンソール/ターミナルの一番下に”anthy-utf8[[An- R]”と表示されます。
あとは設定した切替キーを押すたびに、半角/全角が切り替えできます。
入力したらスペースやカーソル上下で選んで、実行(Enter)で確定です。

日本語(全角)文字列が不要になった場合は、以下のコマンドでuim-fepを終了できます
exit

—-

ただし、この時点ではコンソールソフトウェア以外では日本語全角文字の入力ができませんでした。調べてみると、uim-ximを使うといいようです。

パッケージのインストール
$ sudo apt install uim-xim uim-gtk2.0 uim-gtk3 uim-qt5

なお、上記設定後に1度リブートした後は、
X環境上のTerminal(lxterminal)でも、日本語入力ができるようになりました。
(最下段のFEPステータスは表示されません。表示したい場合はuim-fepを起動)

その他のコマンドについて対応するため、
以下のファイルを編集します。

$ vi ~/.xprofile

export CLUTTER_IM_MODULE=xim
export GTK_IM_MODULE=’uim’
export QT_IM_MODULE=’uim’
export QT4_IM_MODULE=’uim’
export XMODIFIERS=’@im=uim’
uim-xim &
uim-toolbar-gtk3-systrray &
uim-toolbar-gtk3 &

toolbar2つについては、必須ではないので不要であれば#でコメントアウトしてください
(起動後に右クリックから終了することもできます。)

これでX環境を再起動すると、対応したアプリで日本語入力可能になります。
(Toolbarの2つは、ターミナルを起動すると正しく表示されます)

アプリ側でも全角文字のサポート対応が必要な場合があるので、
日本語入力できるかはアプリ次第になります。
(gedit [sudo apt install gedit] では、日本語入力できることを確認しています。)

もし、普段日本語入力しないのであれば、メモリ確保のためにコメント化して、
必要なときのみ手動で起動するのも手かもしれません。
(toolbar分だけでメモリの27MBくらいを消費します)
uim-xim [2.3M] 、uim-toolbar-gtk3-systrray [14M]、uim-toolbar-gtk3 [13M]

もしくは、コンソール上でuim-fepでの入力できるようにするという運用もあります。

ただこの環境だとxtermでの文字変換中に文字化け(確定すると正常)するので、
そのうち、別のIMについても調べてみたいです。

多分この辺が参考になりそう
Debian系で複数のIM(インプットメソッド)を立ち上げる

 

BrainuxのX環境でのタッチパネル操作について (2025/12/12追加)

Brainの画面はタッチパネルになっているので、
マウス操作と左クリックについては標準でできるようになっています。

ただ、右クリックについてはタッチパネルから操作できないようで、
USBマウスを接続するしか方法が見つかりませんでした。

なので、今回タッチパネルで右クリックできないか調査してみました。
JVMは軽量のWindowsマネージャだから、この辺の機能はドライバ次第。

まずは、タッチパネルのデバイス名を確認します

$ sudo apt install xinput
$ xinput

タッチパネルのデバイス名は、「mxs-lradc-ts」で認識されていますね。
i.MX SoC 系のタッチスクリーンで、組み込み系や軽量Linuxでよく使われているみたい。

このデバイスは xinput では認識されてるけど、右クリックのエミュレーションが有効かどうかは別問題。Evdev ドライバを使っているといいんだけど・・・・

$ xinput list-props “mxs-lradc-ts”

Evdev ドライバを使っているようです。
右クリックであるThird Buttonの情報を抜き出してみると

ドライバ的にはエミュレーション機能は持っているけど、無効状態でした。
ほかの設定も併せて有効にしてみます。

$ xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation” 1
$ xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation Timeout” 750
$ xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation Threshold” 30

;Timeout: 長押しと判定するまでの時間(ミリ秒)
;Threshold: 指を動かさずに押し続ける許容距離(ピクセル)

これで、タッチパネルを長押しすると、右クリックメニューが出てきました。

ただ、この設定は、再起動すると初期化されるので、
起動時に自動設定されるように、~/.xprofileに追記しておきます。

$ vi ~/.xprofile
xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation” 1
xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation Timeout” 750
xinput set-prop “mxs-lradc-ts” “Evdev Third Button Emulation Threshold” 30

—-

また、長押しがうまくいかない方のために
マウスクリックをエミュレーションするコマンドを使う方法も紹介します。

$ sudo apt install xdotool
$ xdotool click 3

これで、現在マウスカーソルがあるところで、右クリックを押したことになります。
xbindkeysあたりと組み合わせれば、特手の本体キーに右クリックを割り当てることも
可能です。

$ sudo apt install xbindkeys tcl tk
$ xbindkeys –defaults > ~/.xbindkeysrc

設定するキーは xbindkeys -k で確認できます。
試しに、Ctrl + ALT + z(>>の上 + 文字切替 + z)を入力すると、
Control+Alt + z
と表示されるので、そのまま定義ファイルに設定して、
xbindkeysを起動すれば OKです。
設定したキーを入力すると右クリックをしたことになります。

$ vi ~/.xbindkeysrc
“xdotool click 3”
Control+Alt + z

$ xbindkeys

キー割り当てについは、別のアプリとぶつからないように調整してください。
Brain本体キーの「>>下」「ツール」「HOME」あたりがBrainuxで使えないのが痛い

なお、再起動後も設定を永続する場合は、以下の行を追加して下さい。

$ vi ~/.xprofille
bash xbindkeys_autostart 

 

Brainux のX環境でのソフトウェアキーボードについて

Brainについてはキー数が少ないため、Brainux上でのキー入力は
一般的なキーバインドでは無いです。
特に記号については、キーの割り当て表を見ながらではないと正直覚えきれないのと、
私のPW-SH3では一部キーでは、勝手にリピートしてしまうこともあり、
USBキーボードの出番になることも多いです。

Brainの画面はタッチパネル機能付きですので、
今回X11用のソフトウェアキーボードを見つけましたので、試してみました。

xvkbd X11用ソフトウェア仮想キーボード
xvkbdは、X Window System用の仮想(グラフィカル)キーボードプログラムです。画面に表示されたキーボードをクリックすることで、他のクライアント(ソフトウェア)に文字を入力することができます。キオスク端末やハンドヘルドデバイスなど、ハードウェアキーボードを搭載していないシステムでも使用できます。また、コマンドラインオプションで指定した文字を他のクライアントに送信する機能も備えています。

インストールは、APT経由で可能です。
sudo apt install xvkbd

起動は、X環境上のターミナルから以下のコマンドで可能です。
xvkbd &

標準では、英語キーボードタイプ(ファンクションキー&テンキー付き)で表示されます。

キーをいくつか入力すると、単語補完機能により、候補を表示させる機能があります。
(“te”まで入れた結果、いくつかの単語が候補で出ています。)

右下の”xvkbd”キーから、表示形式などのカスタマイズができます。
標準では、keypad(10キー)とFunction(ファンクションキー)にチェックが入っているので
テンキー&ファンクションキー付きで表示されています。

もし単語補完機能が不要であれば、”xvkbd”キーメニューから「Propety」 に進めば、
設定可能です。
Dynamic Dictionay Weight に “0” を入力し、[Integrate Completion Panel?]の選択を外して、xvkbdを再起動すれば、単語補完機能は無効になるようです。

「Keypad」「Sun Funtion Keys」で、10キー、ファンクションキーを
それぞれ別ウインドウとして分離表示することも可能です。

コマンド起動時から、10キー、ファンクションキーを表示しないようにするためには、
以下のように実行します。
xvkbd -compact &

同様に起動時に以下のようにすると、Shiftの押下状況に応じて、
入力される文字のみ表示されるようになります。
xvkbd -modal &

 

個人的に残念なのは、
本体部分のReturnキーの上のキーがそのままではDELキーになり、
SHIFTを押すことでBSキーになることです。
DELキーとBSキーでは圧倒的にBSキーのほうが使用回数が多いので、
これが逆であれば、理想通りでした。

と、いうことで、設定ファイルを書き換えて入れ替えできるか確かめてみます。

xvkbd の設定ファイルは、/etc/X11/app-defaults/XVkbd-common になりますので、
このファイルのバックアップを取って更新してみます。

変更前 cat /etc/X11/app-defaults/XVkbd-common

変更内容
  sudo vi /etc/X11/app-defaults/XVkbd-common

   1ブロック: 75 <-> 45
  2,3ブロック:BackSpace <-> Delete
   4ブロック:BackSpace <-> Delete , Del <-> BS
   5ブロック:Delete -> BackSpace , BS -> Del
   6ブロック:BackSpace -> Delete , Del -> BS

変更後 cat /etc/X11/app-defaults/XVkbd-common

一度、xvkbdを終了して、あたらしく、起動します。
できたー

もし、BrainuxのX環境起動時に自動的に、xvkbdを起動させたいのであれば、
~/.xprofile に以下のように追記してください。

$ vi ~/.xprofile
xvkbd &

  

(参考)Terminal上で使用可能なコマンド[2024-12-23-202715版]

userでpathが通っているコマンド

sudo コマンド上でpathが通っているコマンド

(なお、slコマンドだけはsudo上での実行はpathが通っていなくて、出来ないようです。)

カテゴリー: Brainux | コメントする

電子辞書Brainをいじる (1) Brainuxの環境を構築する

電子辞書Brainをいじる

以前ネットを検索していると、電子辞書を改造して、WinCE上でアプリを動かしたり、
Linux(Debian)を動かすことができるというのを発見していたが、動かせる電子辞書を持っていないので、記憶の片隅に置いていた。

先日Bookoffを探索していたときに、SHARPさんの電子辞書であるBrain SH3が3000円で転がっているのを発見。
検索してみたところ、通称Brain第3世代と言われるもので、比較的に簡単にWindowsCE化やLinux(Brainux)を動かすことが可能なようですので、その場で購入。
(第1-3世代が普通に動かすことができる範囲で、第4世代は機種選定や工夫が必要とのこと)

で、WindowsCE(WinCE)化についてはもともとこの電子手帳が「Windows Embedded CE 6.0 Core」上で動いているので、それを開放する形でアプリが動かすことができます。

また、Linux(Brainux)については、SDに書き込むDiskイメージが公開されているので、こちらを利用すればOKですが、ファイルシステムの関係でそのままでは、1つのSDカードで教養は難しそうでしたので、まずは、Linux(Brainux)を準備して、Boot領域にある少量のFAT32領域を拡張して、WinCE環境で共用利用できるよう環境構築を挑戦してみます。

BrainのWindowsCE化を含めた活用ページ
Brain Wiki

Brainuxについては、こちらが紹介ページだと思います。
Brainux Wiki

用意するもの

今回用意するのは以下ですが、
ぶっちゃけ第1-3世代のSHARP 電子辞書Brainさえ入手できれば、あとは何とかなると思います。

  • SHARP BRAIN PW-SH3(第3世代Brain)
  • MicroSDカード(今回は32GBを用意。Linuxだけなら4GB以上のmicroSDカードが必要)
  • PC(今回はWindowsPCを使った手順になります)
  • PC上でMicroSDが読み書きできるスロットやUSBドングル(必要に応じてSDアダプター)
  • Linux(Brainux)のDiskイメージ
    今回は、以下のgithub上にある2024-12-23-202715バージョンのイメージをダウンロードします。
    Releases · brain-hackers/buildbrain
    sdimage-2024-12-23-202715.zip
  • 起動可能なUSBドライブを簡単に作成できるツール
    今回はrufusを利用しますが、以下からダウンロードできます。
    Rufus – 起動可能なUSBドライブを簡単に作成できます
    rufus-4.11p.exeのポータブル版で大丈夫です。
  • Windows上でパーティーションを操作できるツール
    今回はMinTool Partition Wizard無償版を利用します。
    以下からダウンロードできます。
    MiniTool Partition Wizard ダウンロード センター
    無償版(pw-free-online.exe)で問題ありません。

Linuxイメージの書き込み

まずはダウンロードしたBrainuxの起動イメージのzipファイル(sdimage-2024-12-23-202715.zip)を展開し、出てきたファイル(sdimage-2024-12-23-202715.img)を
Rufusを利用して用意したMicroSDに書き込みします。

まずは、用意したMicroSDをPCに接続して認識させます。

次にMicroSDにLinuxイメージを書き込みます。
Rufusはポータブル版であれば、インストール不要でするの利用が簡単です。
「ブートの種類」横の「選択」をクリックして、先ほど解凍したイメージファイル(sdimage-2024-12-23-202715.img)を設定します。

「デバイス」については用意したMicroSDを選択してください。
(書き込み先を間違えるとデータが消えて大惨事になりますので、容量などで確認してください。)
あとはデフォルトでOKです。
準備ができたらスタートを押します

警告が出るので、問題なければ「OK」をクリックすると書き込みが開始されます。

書き込みが終われば、SDカードの準備は完了です。

書き込んだ結果、全体で約3GBが使用済です。
うちWindows10,11やWinCEで操作可能な領域であるFAT領域は64MBで、
空き領域は残りF48MB程度ですね。
WinCE環境と共存させるには、心もとない容量です。

アプリフォルダには、Linux(Brainux)起動用のアプリが登録されています。

Linux(Brainux)の起動

作成したMicroSDをBrain(PW-SH3)に挿して電源を入れます。
電子辞書のメニュー(HOME -> ツール -> 追加コンテンツ -> 追加アプリ・動画)に進んで、
「launch Linux」をクリックすることで、Linux(Brailunx)を起動できます。

OS起動には50秒くらいかかります。

ログイン画面では、Xinitrc、Shell、Jvmが選べるようです。
デフォルトのログイン認証情報は、user/brainです。

Shellが非X11環境で、Xinitrc・JvmがX11環境になります。

Shellでは、X11が立ち上がらないので、GUIは使えませんが動きが軽いです。

Xinitrc・Jvmの違いがまだ分かっていないのですが、初回起動時にタッチパネルの調整画面が出るのでここで設定すれば、画面タッチパネルも問題なく使えます。
画面タッチパネルは感圧式なので、付属のペンか爪の先で押すような操作になるのですが、
何もないところでタッチすると、メニューが出てくるので、Terminalを選べば、Shellが起動します。

キーボード操作について

SH3の場合、、Brainuxではキーボードバインドは以下になります
(基本英字キーボードな割り当てです)。

Enter「決定」ボタンになります。
ESC 「調べる」ボタン
TAB 「国語辞典」ボタン

Shift 「シフト」ボタン
Ctrl 「≫を回転して上向きした記号」ボタン
Alt 「文字切り替え」ボタン
記号 「記号」ボタン

それ以外のキーマップは、BrainWikiに詳しく書かれています。

PW-SH3で試しているのですが、同時押し入力パターンの一部記号(「,」「.」「/」)の入力がうまくいかない場合があり、入力できても何故か連続入力されて止まらないことが多いです。
ほかの機種が同じかはわかりませんが。

この場合、削除キーで削除して対応していますが、すぐに別のキーを押すことで連続入力を止めるやり方しか思いつきませんでした。
(「.」を入力するのに、記号+m -> m で.mを入力して、mを削除)

「.」はIPアドレスとか、URLの入力で入力する頻度が高いので、ちょっとストレスではあります。

入力出来るときは入力できるが、何故か連続入力として認識されてしまい、今のところ上手く制御できていません。

USBホストアダプタ経由でUSBキーボードを接続するのが、おすすめです。
(英語キーボード認識になりますので、英語キーボード推奨です。)

現在のストレージ系の情報を表示させてみる

では、Terminalを立ち上げて現在の状態を確認するため、コマンドを打ってみます。

lsblk ブロックデバイス(ストレージ)の一覧を表示

mount マウント状況

brainuxを終了させる

brainuxを終了させるには、以下のコマンドを入力します(userのパスワード入力が必要)。
私が使ったイメージでは自動で電源OFFまでされました。
次回電源ボタンを押した際には、電子辞書アプリが起動します。

sudo shutdown -h now

再起動は以下コマンドになり、再起動後に電子辞書アプリが起動します。

sudo shutdown -r now

FAT32領域を広げたい

先ほど確認した通り、WinCEでも利用できるFAT領域が64MBなので、MicroSDの空き容量を使って拡張してみます。

今回使うツールはMintool Partition Wizardです。
先ほどダウンロードしたインストーラ(pw-free-online.exe)を実行すればインストールできます。
(Mintool Partition Wizardインストール後に、Windowsログオン時にMintoolのウィンドウができようになったときは、タスクスケジューラにある「MinTool ShadowMaker」「MinToolPartiitionWizard」を無効化すれば出なくなります。)

MicroSDはDisk3になります。
まずはFA32領域にあるLinux領域(EXT4)をずらします。
32GBのMicrosdなので、FAT32を全体の半分の16GBを確保したとすると、
後ろのLinux領域をまずは移動します。

Linux領域であるrootfs(Ext4)を選択して、右クリック->移動/サイズ変更をクリックします。

現在所鵜パーティションの位置情報が表示されます。

パーティションのブロックを右に移動して、「前の未割り当て領域」を0.00->15.92になるまで移動します。

OKを押して、左横の適用をクリックします。

警告が出るので、「はい」をクリックします。

移動が開始されます。
(実際のデータ移動が発生するのでそれなりに時間がかかります。)

完了するとメッセージが表示されます。

移動が完了しました。
rootfs(Exr4)の領域が移動して、
FAT32領域であるboot(FAT32)の後ろに空き領域が確保できたことがわかります。

次は、FAT32領域を広げます。
FAT32領域であるboot(FAT32)をクリックして、「拡張」をクリックします。

現在のパーティションの状態が表示されます。

「どのくらいの空き領域を利用しますか?」のスライダーを一番右側に移動して、
先ほど確保した空き領域をすべて使って拡張します。

OKを押して、左下の適用をクリックします。

警告が出るので、「はい」をクリックします。

完了するとメッセージが表示されます(データの移動などはないのですぐに終わります)。

SDカードのFAT32領域の状態をWindowsから見ると、容量15.9GBに拡張されています。

これでFAT32領域の拡張は完了です。

改めてBrainuxを起動する

拡張したmicroSDをBrainに挿しなおして、先ほどと同様にBrainuxをブートします。
問題なくBootできればOKです

再度、lsblk ブロックデバイス(ストレージ)の一覧を表示すると、
/boot領域16GBになっていますね。拡張成功です。

Linux領域を拡張

次にLinux領域を拡張します。
標準でツールが用意されているので、こちらを利用します。

sudo brain-config

上下左右キーと Enter キー(決定キー)を使って以下の手順に従って操作します。
“Advanced Options” を選択
“Expand Filesystem” を選択

しばらくすると “Root partition has been resized. …” と表示されるので “Ok” を選択
“Back” を押しトップメニューに戻る
“Finish” を選択すると再起動が促されるため再起動すれば、拡張完了です。

再度、lsblk ブロックデバイス(ストレージ)の一覧を表示すると、
無事 /領域が13.1GBになっています。

SWAP領域の確保

最後にSwap領域を確保します。

デフォルトではSwapは設定されていません。

まずは、Swapファイルの作成と、Swap設定を実施します。
ここでは、Swapファイルの静として、”2048″と2GBを指定しています。
(今考えると、512MBくらいでも問題ないかもしれません。)

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile


次に、Swap設定を永続化するために、
/etc/fstabファイルを編集して、次の行を追加します。

/swapfile none swap sw 0 0

キーのバインドに癖があるので、以下を参考にしてください。
Enter 決定
ESC 「調べる」ボタン
: 記号+シフト+H
= 記号+F
/ 記号+-
viiの保存と終了 シフト+ZZ

では、freeコマンドでSwapの状態を確認します。
Swap領域が確保されていますね。

最後に再起動して、再度freeコマンドでSwapが継続して確保されていることを確認出来たら作業完了です。一部スワップしていることも確認できます。

これでBrain自体のインストールまでは完了しました。

 

今後WinCE化やアプリのインストール、Brainux上のアプリ等を試していきたいです。

 

カテゴリー: Brainux | コメントする

電子辞書Brainをいじる まとめページ

電子辞書Brain に関する本プログでのまとめページです。

 

 

最近の更新履歴

2025/12/08

・ゲームを2つ追加
 cgames    コンソール版の倉庫番、マインスイーパー、ブロックゲーム
 JNetHack   ローグライクゲームの日本語版

2025/12/09

・ゲームを1つ修正(オリジナル+パッチ版追加)
 JNetHack   ローグライクゲームの日本語版(お理事バル+日本語パッチ版導入 追加)

・ゲームを1つ追加
 wordwarvi   レトロな横スクロールシューティングゲーム

2025/12/10

・Brainux上で日本語(全角)文字を入力できる方法について追加
 日本語(全角)文字列の入力について

・ゲームを1つ追加
 kgoldrunner  ロードランナー風パズルアクション

2025/12/11

・X環境用のソフトウェアキーボードについて追加
 Brainux のX環境でのソフトウェアキーボードについて 

・JnetHackをソフトウェアキーボードで遊ぶ方法について追記
 JNetHack   ローグライクゲームの日本語版 (2025/12/08追加)

2025/12/12

・BrainuxのX環境でのタッチパネル操作(右クリック対応)について追加
 BrainuxのX環境でのタッチパネル操作について (2025/12/12追加)

・ゲームを1つ追加
 OpenSyobonAction オープン版しょぼんのアクション (2025/12/12追加)

2025/12/13

・Code::Blocks IDE project (.cbp)からMakefileを生成するためのツールについて追加
 cbp2make Code::Blocks IDE project (.cbp)からMakefileを生成するためのツール

・ゲームを3つ追加
 gnome-mahjongg 「上海」麻雀パイを使った1人用パズルゲーム (2025/12/13追加)
 spacearyarya スペースハリアー風三次元三人称シューティングゲーム (2025/12/13追加)
 wing      縦方向シューティングゲーム (2025/12/13追加)

カテゴリー: Brain, Brain(CE), Brainux, 電子手帳 | コメントする