電子辞書Brainをいじる (4) Brainuxでアプリをインストールして遊ぶ

Brainuxにアプリをインストール

インストール方法のパターン

Brainuxにアプリをインストールには、いくつか方法があります。

  • Debinのレポジトリにあるソフトウェアの場合
    aptコマンドでダウンロードからインストールまで実施できます。

    apt show <パッケージ名>     パッケージの詳細を表示します。
    sudo apt install <パッケージ名>  パッケージをインストールします。
    dpkg -L <パッケージ名>      インストールパッケージのファイルリストを確認

apt search <パッケージ名の一部> パッケージ名やキーワードを検索します。
                (既にインストールされているかも確認できます。)

  • ソースからインストールするパターン
    ソースからインストールする場合は、基本的にドキュメントに書かれている方法でビルド、インストールします。
    ただし、ソース内にビルドを自動化するスクリプトがあれば、自動化したビルドが可能になります。

    「Makefile」がある場合は、make & sudo make install でインストールします。

    「configure」スクリプトが用意されている場合、スクリプトを実行してから、make & sudo make installでインストールします。

    Imakefile」がある場合は、xmkmf -a & make & sudo make install でインストールします。
    (環境に合わせてmakefileを作成してくれます。)

    「CMakeLists.txt」がある場合は、mkdir build & cd build & cmake .. & cmake –build . & cmake –install でインストールします。

    「*.cbpファイル(Code::Blocks IDE project、workspace files)がある」場合は、
    cbp2make -in Bomberman.cbp -out Makefile & make でビルドできます。
    インストールは、make installでできるかもしれませんが、基本的にアプリによります。


    ——————- 

(注意) 2025/12/27追記
なお本ブログでのインストール記事でのパッケージ導入ですが、
アプリインストール時点で不足しているものについて記載しています。
アプリのインストールする順番によっては、
必要なパッケージが記載されていない場合もありますので、
その場合は別途別途導入してください。

インストールするパッケージ名がわからない場合は、googleなどの検索で、
“apt <コマンド名>”や、”apt <ライブラリ名>”などで検索で探せる場合があります。
ソースからのビルドする場合は、”<ライプラリ名>-dev” というパッケージを
導入すればいいことが多いです。

インストール可能な正しいパッケージ名を調べるには、
“apt search <パッケージ名の一部 or キーワード>” で確認することができます。
また、apt search コマンドでは既に導入済かどうかについても確認できます。

——————-

apt等でいろいろアプリをインストールしてみます

実行成功

FDclone        CUI上で利用できるファイル&ディレクトリ管理ツール

xtightvncviewer    X11上で稼働するvncviewer

rdesktop       RDPプロトコルに対応した接続クライアント

xfreerdp2       RDPプロトコルに対応した接続クライアント

gngb         GAME BOY エミュレータ

openmsx       MSXエミュレータ(SDL1.2版で現実的な速度に。)[2025/12/22追加

fmsx        MSXエミュレータ(MSX1/2/2+) [2025/12/20追加]

dosbox       グラフィックス、サウンド、DOS を備えた x86 エミュレータ(Brainでは厳しい)

Neko Project 2 kai  PC9801/9821 エミュレータ

px68k       X68000エミュレータ(かなり遅いです。) 

libSDL2       ハードウェアへの低レベルアクセスを提供する開発ライブラリ

fceux 2.2.3 (SDL1.2版) ファミコンエミュレータ(音無しであれば実用的な速度で動作)

mplayer/smplayer  音楽・動画再生ツール

xpenguins     小さなペンギンがウィンドウ上を動き回るデスクトップマスコットアプリ

xmkmf       Imakefile から Makefile を生成するためのツール

cmake       CMakeLists.txtからMakefileを生成するためのツール

cbp2make     Code::Blocks IDE project (.cbp)からMakefileを生成するためのツール

oneko       X11猫(マウスカーソルを追いかける猫を表示するデスクトップマスコット)

macopix      アクティブウィンドウに座るマスコットプログラム

Emi Clock      美少女コスプレ時計 Emi Clock

xhime        常駐姫ちゃん (デスクトップマスコット的なアニメーションソフト)

xfishtank      X のルートで様々な熱帯魚が泳ぐ壁紙上の水槽が楽しめます。

xfireworks     Xのルートウィンドウ上で花火が打ちあがります

XMascot      Xの画面上で揺れるマスコットを表示する プログラム (2025/12/14追加)

xdesktopwaves   Xのルートウィンドウ上で水の波をシミュレーション

dclock       X Window System 向けの柔軟な表示設定が可能なデジタル時計

mxclock      絵柄が綺麗な時計です.

SunClock       時刻と地理データを表示可能な可愛い時計

Xantfarm     X11用のシンプルなアリ農場

XMangekyou    X11で動く万華鏡です

Xshodow     「書道」のアプリケーションです.

 

動作未確認(動作遅延、動かない等)

remmina       複数の接続に対応した統合クライアント(動作はするが接続できない)

higan        マルチゲームコンソールエミュレータ(動作はするが遅すぎる)

fceux         ファミコンエミュレータ(動作は遅いです。)

nestopia       ファミコンエミュレータ(動作は遅いです。キー入力反応なし?)

java          Java VMの開発実行環境 (非常に遅い)

 

アプリケーション紹介

FDclone CUI上で利用できるファイル&ディレクトリ管理ツール

FDcloneは、古のDOS用のフリーツールであるFD(File&Directory)をUNIX ベースの OSに移植したものです。(FDclone公式ページ)
FDcloneはCUI上で利用できるファイル&ディレクトリ管理ツールということで、
Winowsで言えば、エクスプローラのような感じに使えます。

コマンドやファイル名を直接入力しなくても、ディレクトリの移動やファイルの操作支援ができるので、キー入力に工夫が必要なBrainuxにはピッタリなツールです。

Brainuxでは、apt経由で導入できます。

sudo apt install fdclone

事前にSDカードの文字化け対策をしておけば、/boot以下でも日本語文字も正しく表示できます。
(Brainux起動時にshellで起動した場合は、fbtermを起動してからFDcloneを起動すれば、日本語ファイル名も正しく表示されます。)

シフトを押しながらEで、fdclone自体の設定変更や確認ができます。
キー割り当てや、ランチャ、アーカイバ設定なども可能です。

「内部設定」のおすすめは、以下の通りです。

SORTTYPE: 名前順(昇り順), 直前のソート形式を保持
SORTTREE: 有効
WRITEFS: 使用禁止
LANGUAGE: 英語(English)ではFDcloneのメッセージが英語になります。ここをUTF-8に変更するとメッセージが日本語になりますが日本語表示できない環境では文字化けするので注意。
FNAMEKCODE: UTF-8

その他キー割り当てや、拡張子にあった実行コマンド等いろいろチューニング可能です。
変更したら、保存から「Overwrite」を実行して設定を保存します。

チューニング次第で何でもできるようになるツールですので、おすすめです。

なお、「unzip」や「lhasa」、「nkf」をaptでパッケージをインストールすることで、
zipやlzh内ファイルの解凍なしでの参照(決定[Enter])や解凍(u)、
UTF-8以外の文書ファイルの表示等(ファイル選択してx、先頭に”nkf “と入れて実行)
も可能になります。

sudo apt install unzip lhasa nkf

cabファイルについては、
別途「cabextract」パッケージをaptでインストールすれば
cabextract 展開したいファイル名.cab
で解凍できるようになります(-l オプションでリスト表示)。

cabファイルへの変換もしたいのであれば、「gcab」パッケージをaptでインストールすれば、gcabコマンドで圧縮(-c)、解凍(-x)、リスト表示(-t or -l)ができるようになります。

sudo apt install cabextract

xtightvncviewer X11上で稼働するvncviewer

昔から使われている画面転送プロトコルであるVNCのクライアントです。
X11上で動きます。

VNCは、今思うと昔のうちのホームページでメイン張ってたコンテンツでした。

もう25年も前の記事・・・・当時はかなりのキワモノ扱いのソフトウェアでした。
リナザウとかW-Zero3とかPSPとかでもクライアントを動かして遊んでました。なつかしい。

さっそく、Brainuxで動かせるかを試します。
インストールはApt経由で可能です。

sudo apt install xtightvncviewer

今回は、接続先としてUltraVNCを導入した環境に接続しています。

xtightvnc <接続先IP>:<DISPLAY番号>

例)
xtightvnc 192.168.29.47:1
<パスワード入力>

とりあえず、接続は可能です。
速度は、正直遅いです。

なお、VNCプロトコルには音声リダイレクトの機能はない(はず)なので、
音声リダイレクトをしたい場合は、Plusaudioとかを使うしかないと思います(未確認)。

rdesktop RDPプロトコルに対応した接続クライアント

rdesktopは、Windowsで使われているリモートコントロールサービスであるRemoteDesktop(RDP Service)に接続するためのツールです。
接続先でRDPを有効にするにはWindowsはPROエディションが必要です。

インストールはApt経由で可能です。

sudo apt install rdesktop

接続先でRDPを有効になっていれば、
たとえば、以下のコマンドで接続できます。

rdesktop -k en -x lan -a 8 -f <接続先IPアドレス> -u <ログインユーザ名> -p <Password>

例)
rdesktop -k en -x lan -a 8 -f 192.168.29.43 -u user -p userpass

-k :キーボードレイアウト(en)
-x :ネットワークモード(RDP5 experience)を指定します。
-a :色深度(32,24,16,8)
-f :フルスクリーンモード
-u :リモートデスクトップ(Windows)のユーザー名
-p :上記ユーザのWindowsパスワード
パスワード文字列に”!”などがある場合は、パスワード全てをシングルクォーテーションで括ります。

-f でフルスクリーン表示したときのBrainのキーボードでの解除は以下の同時押しです
≫の上向き + 文字切り替え + 決定   (Ctrl + Alt + Enter に相当)
それ以外だと、スタートメニューから電源->切断でもRDP接続を切断できます。

あと、usbサウンドデバイスを付けているのであれば、以下のオプションを追加すると音声のリダイレクションも可能でした。
ただ、画面描画が激しい状態だと音がとぎれてましたので、この辺はマシンパワーとかの取り合いをしている感じでした。なので音楽再生付きでyoutube鑑賞はムリゲーです。
どっちかだけなら何とかなるかもしれません。

-r sound:local:alsa

rdesktopは少し古いいツールなので、
Windows10や11に接続する際にNLA関係でエラーがでて接続できないときがあります。
その時は「RDP NLA」とかで検索して、Windows側で対応してみてください。
もしくは、次に試す「freerdp2」のほうを試してみてください。

xfreerdp2 RDPプロトコルに対応した接続クライアント

rdesktop と同様のRDP Clientです。
rdesktopよりも比較的新しいソフトですので、NLA認証の問題も解決されているようです。

インストールはApt経由で可能です。

sudo apt install freerdp2-x11

接続先でRDPを有効になっていれば、
たとえば、以下のコマンドで接続できます。

xfreerdp /v:<接続先IPアドレス> /u:<ログインユーザ /p:<接続パスワード /f

例)
xfreerdp /v:192.168.29.43 /u:user /p:userpass /f

rdesktop同様、BrainにUSBサウンドデバイスを挿した状態で以下のコマンドオプションを追加すると音声も転送されます。
(一部ノイズ交じりなのも、画面描画が激しい状態だと音がとぎれるのも一緒)

/sound:sys:alsa

サウンドがうまく再生できないときは、以下のメッセージが今コンソール側に出ているっぽいので、ALSAのバッファがたりていないのかもしれません。
ALSA lib pcm.c:8545:(snd_pcm_recover) underrun occurred

remmina 複数の接続に対応した統合クライアント(動作はするが接続できない)

様々なプロトコルに対応した接続用クライアントです。
ssh,RDP,VNC等
接続前のGUIは立ち上がりますが、実際に接続しようとしてもつながりません。
標準のsshでさえつながらないので、どこかネットワーク的にもうまくいっていないのかもしれません。

インストールはApt経由で可能です。

sudo apt install remmina remmina-plugin-rdp remmina-plugin-vnc

higan  マルチゲームコンソールエミュレータ(動作はするが遅すぎる)

gngb GAME BOY エミュレータ

libSDL2  ハードウェアへの低レベルアクセスを提供する開発ライブラリ

libSDL2は、オーディオ, キーボード, マウス, ジョイスティック, グラフィックハードウェアへの低レベルアクセスを提供する開発ライブラリです。(SDL – Simple DirectMedia Layer )

実はdebian11レポジトリに、libSDL2としてすでに登録されているのでAPT経由でインストール自体はできます。
$ sudo apt show libsdl2-2.0-0

ただし、APTでインストールしたものだと、Brainux上で動かないようです。
具体的には、libSDL2に依存するパッケージが”Illigal instruction”エラーで異常終了します。
パッケージが、libSDL2に依存しているかについては、以下のコマンドで確認できます。
sudo apt show <パッケージ名>

このため、今回はlibSDL2をBrainuxで動くように再構築する必要があります。

先達の方の記事を参考に、再構築します。

ビルドツール類をインストールします。
$ sudo apt update
$ sudo apt-get install g++ build-essential libsdl2-dev

libSDL2のソースをダウンロードします。
$cd
$sudo apt source libsdl2

そのままでは動かないので、ソースコードを修正します。
$ cd libsdl2-2.0.14+dfsg2/include
$ sudo cp -p SDL_atomic.h SDL_atomic.h.org
$ sudo vi SDL_atomic.h

SDL_atomic.hの184行目を以下の通り修正する。
(“|| defined(__ARM_ARCH_5TE__)”を消すせばいいとのことです。)

SDL2の依存関係を解消して、ビルドします。
$ cd ~/libsdl2-2.0.14+dfsg2
$ sudo apt-get build-dep libsdl2
$ sudo dpkg-buildpackage

以下のようにエラーがでたら、修正のコミットが必要となります。

修正のコミットは以下のコマンドを実行します。
$ dpkg-source –commit

以下のように表示されるので、「Enter the desired patch name」はbrainと入力しています。
エディタが立ち上がったら、ctal-xで終了する

再度、再構築コマンドを実行すると、延々とコンパイルが行われます。
(うちのBraiux環境[PW-SH3]で環境での実行では4.5時間ほどかかりました。Brainへの給電は必須です。)
$ dpkg-buildpackage

再構築が終わったら、1つ上のディレクトリにインストール用パッケージ(.deb)ファイルができているので、これをインストールします。
$ cd ..
$ sudo dpkg -i libsdl2-2.0-0_2.0.14+dfsg2-3+deb11u1_armel.deb
$ sudo dpkg -i libsdl2-dev_2.0.14+dfsg2-3+deb11u1_armel.deb

(以下3つは必要に応じてインストールしてください。)
$ sudo dpkg -i libsdl2-2.0-0-dbgsym_2.0.14+dfsg2-3+deb11u1_armel.deb
$ sudo dpkg -i libsdl2-dev-dbgsym_2.0.14+dfsg2-3+deb11u1_armel.deb
$ sudo dpkg -i libsdl2-doc_2.0.14+dfsg2-3+deb11u1_all.deb

これで、libSDL2に依存しているアプリケーションパッケージでも、”Illigal instruction”エラーが出なくなることを確認しました。(libSDL2に依存しているアプリケーションの再導入は不要です。)

ちなみに、再構築完了後に、以下のフォルダを確認すると、SDL2のテストプログラムが作成されていますので、確認できます。
~/libsdl2-2.0.14+dfsg2/debian/build-tests

試しにX11環境で”testgles2″ を実行してみたところ、2.20 frames per secondでした。

fceux ファミコンエミュレータ(動作は遅いです。->SDL1.2版では動きます。)

 

fceux 2.2.3 (SDL1.2版) ファミコンエミュレータ(音無しであれば実用的な速度で動作)

 

nestopia ファミコンエミュレータ(動作は遅いです。キー入力反応なし?)

openmsx  MSXエミュレータ(動作は遅い->SDL1.2版で現実的な速度に。)

openmsx 0.15 (SDL1.2版) インストール     2025/12/22追記

fMSX MSXエミュレータ(MSX1/2/2+)

java Java VMの開発実行環境 (非常に遅い)

Java VMの開発実行環境です。
開発環境インストール sudo apt install openjdk-11-jdk
実行環境インストール sudo apt install openjdk-11-jre

ただ、バージョン表示するだけでも1分程度かかる状況ですので、実用的ではないと思います。
一応、openjdk-11-demoパッケージの”Font2DTest.jar”を実行してみました。
X11上にFont2DTestのウィンドウ枠が出ることまでは確認しましたが、
あまりに遅くて諦めました。

(2026/01/04追記)
BrainのCPUであるARM926EJ-Sのアーキテクチャはarmv5tejでjavaバイナリ実行支援である”Jazelle DBX命令(BXJ)”をサポートしているんだけど、この機能を利用できるJavaVMは現行のものではないみたい。

user@brain:~$ cat /proc/cpuinfo
Features : swp half thumb fastmult edsp java

過去のいくつかのJavaVMのバージョンで、Jazelle DBX命令を使えるものを探したのですが見つかりませんでした。

 

dosbox グラフィックス、サウンド、DOS を備えた x86 エミュレータ(Brainでは厳しい)

 

px68k X68000エミュレータ

  

xpenguins 小さなペンギンがウィンドウ上を動き回るデスクトップマスコットアプリ

XPenguins home page

ウィンドウの上をかわいい小さなペンギンが歩き回るX11アプリケーションです。
あと表示されているペンギンをクリックすると・・・・

インストールはApt経由で可能です。
sudo apt show xpenguins

X11環境で、Shellから”xpenguins &”で起動できます。

オプションで、いろいろ表示を指定できるのでぜひ試してみてください。
-n <ペンギンの数>でペンギンの数を増やしたり、–allでいろんなペンギン?を表示したりできますが、表示する数を増やすとさすがにちらつきます。ちらつきは、-m 150とかで軽減できるようです。

あと、テーマを追加することもできます。
オフィシャルページの右側の真ん中よりちょっと下にある、「XPenguins Themes」のところの
Source tarball:xpenguins_themes-1.0.tar.gz
ダウンロードして、解凍した後、themes以下の各フォルダを
/usr/share/xpenguins/themes/の下にコピーしてみてください。(要root権限)。
追加テーマは、なかなか攻めたラインナップとなっておりますのでぜひ試してみてください。

-l
 インストールされたテーマのリスト
-t “<テーマ名>”
 テーマを使用
–all
 すべてのテーマを利用。数が多い場合は -n 5 とかで数を制限しましょう

 

xmkmf Imakefile から Makefile を生成するためのツール

xmkmfは、X11アプリケーションがソース提供されているときに、コンパイルに必要な”Makefile”を環境に合わせて”Imakefiie”から作成してくれるツールです。

最近開発されたアプリケーションであれば、”configure”コマンドで環境に合わせて”Makefile”を作成してコンパイルすることも多いのですが、昔は”Imakefiie”を用意するアプリケーションも多かったのです。

インストールはApt経由で可能です。
sudo apt install xutils-dev

通常は、アプリケーションのソースディレクトリ(Imakefileがあるフォルダ)で以下のコマンドを実行します。
xmkmf

また、xmkmf -a のように -aオプションを付けると、
make Makefiles、make includes、make depend まで自動的に実行します。

あとは、通常通り、以下でビルド&インストールです。
make
make install

インストールログ

 

cmake CMakeLists.txtからMakefileを生成するためのツール

アプリケーションのソースを確認した際に、「CMakeLists.txt」があれば、
ここからビルド環境に合わせたMakefileを生成してビルドできます。

cmake コマンドは、apt経由でインストール可能です。

apt install cmake

ビルドは以下のような流れで実施できます。
mkdir build
cd build
cmake ..
cmake –build .
cmake –install

 

インストールログ

 

cbp2make Code::Blocks IDE project (.cbp)からMakefileを生成するためのツール(2025/12/13追加)

アプリケーションのソースを確認した際に、
「*.cbp」ファイル(Code::Blocks IDE project 、workspace files)があれば、
ここからMakefileを生成してビルドできます。

cbp2make コマンドは、apt経由でインストール可能です。

apt install cbp2make

 

アプリケーションのビルドは以下のような流れで実施できます。

cbp2make -in Projrct.cbp -out Makefile
make

make時にエラーが出た場合は、エラーに応じて対応してください。

例:allegro5ライブラリを利用していた場合、以下のように修正
LIB = -lallegro -lallegro_dialog -lallegro_image -lallegro_ttf -lallegro_audio -lallegro_acodec -lallegro_color -lallegro_font -lallegro_main -lallegro_memfile -lallegro_primitives

例:allegra4.4ライブラリを利用していた場合、以下のように修正
LIB = -lalleg

インストールは、make installでできるかもしれませんが、基本的にアプリによります。

インストールログ

 

oneko X11猫(X11上で動作するマウスカーソルを追いかける猫を表示するデスクトップマスコット)

onelo(X11猫)は11上で動作するマウスカーソルを追いかける猫を表示するデスクトップマスコットです。

キャラがマウスカーソルが変化したネズミを追いかけて、追いつくと特定のアクションをしたのちに、眠りにつきます。

標準はマウスを追いかけるネコですが、オプションでいろいろなキャラに変更できます。
(ネコ、トラ、イヌ、BSDデーモン、(ccさくら)さくら、(ccさくら)知世)

上記公式サイトから、以下をダウンロードして、brainux上で解凍してインストールします。
current version for X Window System – [oneko-1.2.sakura.5.tar.gz]

マニュアルにも書いてありますが、Imakefileがありますのでxmkmf にて環境に合わせたMakefaileを生成して、ビルドします。

ビルド&インストール
tar xvf oneko-1.2.sakura.5.tar.gz
cd oneko-1.2.sakura.5
xmkmf -a
make
sudo make install

上記スクリーンショットは、oneko –tomoyo& を起動した後で、oneko –sakura& を起動した場合です。
すると、マウスカーソル(カード)を追いかける桜に知世がカメラを向けるというカオス原作再現な状況にできます。

インストールログ

なお、GittHubにも同じバージョンとも思われるソースが上がっていますので、こちらからもインストールできます(見た感じソースやドキュメントの文字コードが変更されているだけのようです)。
ですが、Imakefileが入っていないので、先ほどの手順ではビルドできません。
README.md ドキュメントの通り、clangツールを使用してコンパイルするか、
Imakefileの代わりにCMakeLists.txtがありますので、cmakeコマンドでインストール可能です。(こちらのソースの場合、システムへのインストールは手動になるようです。)

 

macopix アクティブウィンドウに座るマスコットプログラム

MaCoPiXは、UNIX系OS(要X Window System)、Microsoft Windows(7以降)、macOS(10.9以降)で動作するマスコットプログラムです。

キャラクターは、マスコットデータ(おすわりマスコット)に登録されたメッセージやしぐさでランダムに動きます。
公式ページにあるキャラクターデータは、2003-2007年公開当時の人気キャラクター関係が多数登録されています。
([はやて×ブレード] [マリみて] [秋桜] [みずいろ] [Pia2] [月姫] [とらハ] [こみパ] [Kanon] [ONE])

公式ページ

インストールは、APT経由で可能です。
(データは新規サイトのものであれば、アプリからダウンロード可能)

sudo apt install macopix

以下のコマンドで起動が可能です。マスコットデータは、~/.macopix/に保存されている .mcpx ファイルになります。

macopix <マスコットデータ名> &

今回は公式データの中から、現状おそらく唯一の現役キャラであると思われる「高町なのは」を召喚します。

「高町なのは」は、「とらいあんぐるハート」グループにいますのでこちらのマスコットデータをダウンロードして設定します。
注)「魔法少女リリカルなのは」はもうすぐ新作TVシリーズも始まるTVシリーズ3作、映画4作やスピンオフ作品まで出ている人気作ですが、元もは大人向けゲームのファンディスクでのパロディ企画企画から派生したスピンオフ作品です(現在で元ネタよりも有名な作品となっているものの1つ)。

マスコットを右クリックして、Mascot Launcherで「とらいあんぐるハート1・2・3」から「高町なのは」を選択します。
このままだとコメントが文字化け(□)しますが、そこは設定変更で対応できます。

ただし、コンフィグ画面が大きいので、BrainのX画面では設定変更できないので、
PC等のX11画面上のターミナルから、
ssh -X <BrainuxのIPアドレス>

で、Brainuxにアクセスして、macopix &で起動します。
あとはマスコットを右クリックして、Configから「Resource」->「Font/Color」画面で、
「Default for Clock」と「Default for Balloon」のフォントを日本語文字列対応の「IPAGithic Regular」あたりに変更します。

その他の設定部分も必要に応じて変更してください。
もしこれでダメな場合は、Macotのほうのフォントも変更してみてください。

(かなり細かい調整ができますので、公式ページを参考にしてください。)

設定を変更したら、右下の「OK」をクリックして設定画面を終了させます。
あらためてマスコットを右クリックして、「Save」->「Save all」で保存します。

これで次回起動時に反映されますが、
起動方法のところで書いた通り、起動時のマスコット指定だけは毎回起動時オプションに指定が必要です。

インストールログ

 

Emi Clock  美少女コスプレ時計 Emi Clock

美少女コスプレ時計 Emi Clockは古のジョーク時計アプリです。
種類のかわいい文字盤と、26種類の衣装を選ぶことができるコスプレ時計です

公式サポートページ

X11版のソースコートのダウンロード先が公式ページからリンクされていますので、
こちらからダウンロードできます。

X11版 Emi Clock 2.0.2 
emiclock-2.0.2.tar.gz

インストールは、以下のような流れで行えます。
Imakefileがありますのでxmkmf にて環境に合わせたMakefaileを生成して、ビルドします。

cd
mkdir emiclock
cd emiclock/

wget https://ftp.vector.co.jp/11/78/1347/emiclock-2.0.2.tar.gz
tar zxvf emiclock-2.0.2.tar.gz
cd emiclock-2.0.2

xmkmf -a
make
sudo make install

ただうちの環境では、makeinstallすると、メニューの2段階目以降が表示されなくなりましたので、以下のリソースファイルをリネームして暫定で回避しています。

/etc/X11/app-defaults/EmiClock

/etc/X11/app-defaults/EmiClock.bk

インストールログ

xhime 常駐姫ちゃん (X11上で動作するデスクトップマスコット的なアニメーションソフト)

xhimeはX11上で動作するデスクトップマスコット的なアニメーションソフトです。
常駐姫ちゃんとも呼ばれています。(オリジナルはPC98版で、それをX11に移植したものですす。)
(「姫ちゃんのリボン」という昔のアニメのキャラクターをモデルにしたスクトップマスコットです。)

インストールは、aptなどでのインストールはできず、ソースからコンパイルする必要があります。
xhime – 常駐姫ちゃん X Window System 版 – からソース アーカイブを入手し、
解凍したものをBrainxに転送して、コンパイルするのですが、
まずは Imakefileから Makefileを生成します。
xmkmf -a

エラーになりました。
非常に古いソフトウェアなので、ソースの修正が必要なようです。

理由は、現在非推奨になっている”varargs.h”というヘッダファイルを使っていて、
最新の環境ではコンパイルできないためです。

このため以下の部分を修正します。(varargs.hをstdarg.hに変更する関係で、該当するソース部分も変更する必要があります。)

28行目付近

include <varargs.h>

include <stdarg.h>

 
118行付近

改めて、コンパイルします。
(Makeでワーニングが出てますが、まずはコンパイルを目指します。)
xmkmf -a
make
make install

実行は ”xhime &” でマスコット(姫ちゃん)が表示されます。

マウスの左ボタンで移動ができます。右ボタンで終了します。 中央のボタンを押すと、表示ウィンドウを一番上に(Raise)します。 デフォルトでは Return キーに反応してアニメーションが変化します。

が、Returnキーを押しても、アニメーション(いけいけGoGOジャーンプ)してくれません。
コンパイル時のワーニング部分にキー入力判別のあたりがあるのでこの辺は後日対応したいですね。(warning: ‘XKeycodeToKeysym’ is deprecated [-Wdeprecated-declarations])

xhime -use_vm &  で起動すると、姫ちゃんの周りにウィンドウ枠が表示されますが、
その中であればEnterキーに反応しますので、動作確認にどうぞ。

(2026/1/17追記)
xtermからxhimeを起動したところ、Enterキーに反応しました。
Brainux標準のlxterminal から起動すると反応しないので、
何か条件があるのかもしれません。

 

インストールログ

 

xfishtank X のルートで様々な熱帯魚が泳ぐ壁紙上の水槽が楽しめます。

X のルートを水槽にして、様々な熱帯魚が泳ぐ壁紙上の水槽を楽しめます。

インストールは、APT経由で可能です

sudo apt instsll xfishtank

実行は、” xfishtank & “で起動できます。
デフォルトでは、泡の数:32、魚の数:10です。
必要であれば、オプションで、変更できます。
 

インストールログ

 

xfireworks Xのルートウィンドウ上で花火が打ちあがります

XFireworks は、X のルートウィンドウで花火大会を開催します。
これは、日本語の “花火大会” の模倣です。 日本で夏に行われる上に有名なイベントであり、川辺で行われます。花火の種類も豊富で,とってもきれいです.

起動は、「xfireworks &」です。
「xfireworks -no-direct-draw &」で起動すると花火の動きがスムーズになる気がするけど、
安定しているのは、「xfireworks &」のほうな気もします。

オプションで、打ち上げ頻度や残像の残り方などのパラメータが変更できるようで、
好みにあわせてみてください(詳細は、man xfireworksを参照してください。)

インストールは、APT経由で可能です

sudo apt instsll xfireworks

 

XMascot Xの画面上で揺れるマスコットを表示する プログラム (2025/12/14追加)

XMascot のページ

XMascot は、X Window System の画面上に可愛いマスコットを表示する プログラムです。
重力加速度と鎖の長さから振り子運動を計算して、マスコットを揺らしてくれます。
標準の重力加速度は 0.17G(地球加速度の1/6,月面上と同じ)、減衰係数0.01です。
調整すると、揺れ方が変わります。

詳しくは、公式ページのFAQをご確認ください。

標準では、動物シリーズ(10種類)、星座シリーズ(12種類)のキャラクターが用意されています。

また、このアプリ公開当時はいくつかの外部データが公開されていたのですが、
ページごと消えているところも多く、現時点で探してみると以下の2つが見つかりました。
「同級生2」マスコット
「下級生」マスコットのページ

インストールは、aptなどでのインストールはできず、ソースからコンパイルする必要があります。今回は、追加データも含めてインストールしてみます。
途中、そのままではエラーになるので、文字コードの変換やソースなどの一部変更等を行っています。

$ cd
$ mkdir XMascot
$ cd XMascot
$ wget https://cclub-flying.dsl.gr.jp/products/xmascot/xmascot2.6a.tar.gz
$ wget https://cclub-flying.dsl.gr.jp/products/xmascot/dokyu2/dokyu2mas.tar.gz
$ wget https://cclub-flying.dsl.gr.jp/~sage/bin/kakyumas.tar.gz

$ tar zxvf xmascot2.6a.tar.gz
$ cd xmascot2.6a
$ cd mascots
$ tar zxvf ../../dokyu2mas.tar.gz
$ mv dokyusei2 dokyu2
$ mkdir kakyu
$ cd kakyu
$ tar zxvf ../../../kakyumas.tar.gz
$ cd ../../

$ find ./ -type f -not -name ‘.gif’ -not -name ‘.mag’ -not -name ‘.au’ -not -name ‘.raw’ | xargs -i nkf -w -Lu –overwrite {};

$ vi Imakefile

XMascot.ad:: XMascot.ad.sed
sed ‘s!SOUND_COMMAND_NAME!$(SOUND_COMMAND)!;s!XMASDIR!$(XMASDIR)!’ XMascot.ad.sed > $@
sed ‘s!menu1!menu1!’ mascots/zodiac/zodiac.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu2!’ mascots/dokyu2/dokyu2.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu3!’ mascots/nadesico/nadesico.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu4!’ mascots/kakyu/kakyu.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu5!’ mascots/eva/eva.Xdefaults >> $@

XMascot.ad:: XMascot.ad.sed
sed ‘s!SOUND_COMMAND_NAME!$(SOUND_COMMAND)!;s!XMASDIR!$(XMASDIR)!’ XMascot.ad.sed > $@
sed ‘s!menu1!menu1!’ mascots/zodiac/zodiac.Xdefaults >> $@
sed ‘s!menu1!menu2!’ mascots/dokyu2/dokyu2.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu3!’ mascots/nadesico/nadesico.Xdefaults >> $@
sed ‘s!menu1!menu4!’ mascots/kakyu/kakyu.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu5!’ mascots/eva/eva.Xdefaults >> $@

——————-

japanese/XMascot.ad:: japanese/XMascot.ad.sed
sed ‘s!SOUND_COMMAND_NAME!$(SOUND_COMMAND)!;s!XMASDIR!$(XMASDIR)!’ japanese/XMascot.ad.sed > $@
sed ‘s!menu1!menu1!’ mascots/zodiac/zodiac.Xdefaults.jp >> $@
XCOMM sed ‘s!menu1!menu2!’ mascots/dokyu2/dokyu2.Xdefaults.jp >> $@
XCOMM sed ‘s!menu1!menu3!’ mascots/nadesico/nadesico.Xdefaults.jp >> $@
XCOMM sed ‘s!menu1!menu4!’ mascots/kakyu/kakyu.Xdefaults.jp >> $@
XCOMM sed ‘s!menu1!menu5!’ mascots/eva/eva.Xdefaults.jp >> $@

japanese/XMascot.ad:: japanese/XMascot.ad.sed
sed ‘s!SOUND_COMMAND_NAME!$(SOUND_COMMAND)!;s!XMASDIR!$(XMASDIR)!’ japanese/XMascot.ad.sed > $@
sed ‘s!menu1!menu1!’ mascots/zodiac/zodiac.Xdefaults.jp >> $@
sed ‘s!menu1!menu2!’ mascots/dokyu2/dokyu2.Xdefaults.jp >> $@
XCOMM sed ‘s!menu1!menu3!’ mascots/nadesico/nadesico.Xdefaults.jp >> $@
sed ‘s!menu1!menu4!’ mascots/kakyu/kakyu.Xdefaults >> $@
XCOMM sed ‘s!menu1!menu5!’ mascots/eva/eva.Xdefaults.jp >> $@

$ vi xmascot.h

enum{ NODAT, STRING, ID, SYMBOL, RESERVE } TokenType;

typedef enum{ NODAT, STRING, ID, SYMBOL, RESERVE } TokenType;

$ xmkmf -a
$ make
$ sudo make install

$ sudo cp mascots/dokyu2/.mag /usr/lib/X11/xmascot/
$ sudo cp mascots/kakyu/.mag /usr/lib/X11/xmascot/
$ sudo chmod +r /usr/lib/X11/xmascot/*.*

これで、一通りインストールが完了しました。それぞれ、以下で起動できます。

$ xmascot &
$ xmascot -name dokyu2 &     #同級生2マスコット
$ xmascot -name kakyu &     #下級生マスコット


(参考)
マスコットデータ フォルダ:          
  /usr/lib/X11/xmascot/
Xリソースファイル(Unicode:日本語リソース):  
  /usr/lib/X11/en_US.UTF-8/app-defaults/XMascot
Xリソースファイル(Default:デフォルトリソース):
  /etc/X11/app-defaults/XMascot


もし、xmascot &で起動して全てのキャラクターをメニューから選択したいのであれば、Xリソースファイルを、以下のように置換してみてください。
(viでは、:%s/dokyu2/menu2./g のように操作すると、文字列の一括置換ができます。)

dokyu2* -> menu2. kakyu -> *menu3.

*menu2.popup.label: -> *menu2.title:
*menu3.popup.label: -> *menu3.title:

*menusNum: 2 -> *menusNum: 4

 

xdesktopwaves Xのルートウィンドウ上で水の波をシミュレーション

xdesktopwaves は X ウィンドウシステムを水面下におくセルオートマトンです。 ウィンドウとマウスが海上の船のようになり、各動きが水の波を引き起こします。 雨を触らせたり嵐で水をかきみだしたりすることもできます。

xfishtank、XMascot(下で紹介)と一緒に動かすと、結構いい感じになります。
(XMascotの減衰係数を0にするのがコツで、これにより波が発生しつつけます。)

インストールは、APT経由で可能です

sudo apt instsll xdesktopwaves

 

dclock X Window System 向けの柔軟な表示設定が可能なデジタル時計

Dclock の主要機能は、その描画方法における柔軟性の高さです。
“date” からの出力による “Wednesday, 3rd Jan” のような表示さえ可能です。
Dclock はアラーム設定もサポートしています

表示はいろいろとカスタマイズ可能です(例)。

dclock                   12時間表示(デフォルト)
dclock -m                 24時間表示
dclock -date “%p %Y-%m-%d (%a) “ 下にAM/PM表示 年-月-日(曜日省略形)を表示
dclock -m -date “%Y-%m-%d (%a)” -dateup 24時間&上に年-月-日(曜日省略形)を表示
dclock -m -seconds            24時間&秒を表示する

インストールは、APT経由で可能です

sudo apt instsll dclock

 

mxclock 絵柄が綺麗な時計です.

公式サイト

普通の時計です。サイズ変更は出来ません。
マウスの左右ボタンで文字盤(4種類)を切替えられます。
起動時オプションで秒針も表示できます(-sec)

インストールは、aptなどでのインストールはできず、ソースからコンパイルする必要があります。

$ cd
$ mkdir mxclock
$ cd mxclock/
$ wget https://ftp.vector.co.jp/05/92/1347/mxclock.taz
$ tar xf mxclock.taz
$ cd mxclock.d
$ xmkmf -a
$ make
$ sudo make install

 

SunClock 時刻と地理データを表示可能な可愛い時計

sunclock は、世界地図を表示し、昼の地域を明るく、夜の地域を暗く描画 することにより、地球に太陽光が照らされた地域を示します。 デフォルトのタイムゾーンに対するローカルタイムを示すだけでなく、 主要な都市の GMT 時間、法定時および太陽時、都市の緯度経度、 地球上の任意の二点間の距離を表示できます。 Sunclock は、経線、緯線、南北回帰線および極圏を表示できます。 時間の進み方を加速し、四季の移り変わりを表示する組み込み機能を 有しています。

メインは世界地図表示ですね。都市の選択とかはやり方がわからなくて、できていませんが
世界地図だけでも環境インテリア的にはいいかと。

(詳細は、man sunclockを参照してください。)

インストールは、APT経由で可能です
sudo apt instsll sunclock

 

Xantfarm X11用のシンプルなアリ農場

公式サイト:xantfarm

Xantfarmはアリ塚をシミュレートし、ルートウィンドウに表示します。
アリの世界には三つの元素があります:空気です。 アリは空気中を移動し、を掘り起こし、それを砂として落とします。 アリには3つの行動があります:さまよい運搬する、パニックです。 プログラムにはいくつかの簡単な確率が組み込まれています これは、放浪運搬の間の切り替えを制御します。 パニックになるのを見るには、カーソルでアリをつついてみてください。

実行例
xsetroot -solid Brown
xantfarm ~/.xantfarm.checkpoint -num 10 -c 150 -air Cyan -sand Coral -ant Black

定期的に状況を保存して、次回起動時に続きから開始できるようにします
(5000サイクル間隔で保存なので標準の15cpsだと5分に1回保存します・)
-num:100 (アリの数 標準は10)
-c :150 (1秒間に実行するサイクル(CPS) 標準は15)
あと、空(-air),砂(-sand),アリ(-ant)の色も変えられます。
地面の色は、X11のルートウィンドウの色になりますので、別で指定します。
xsetroot -solid Brown

色指定は、X11 color names – Wikipediaが参考になります。

終了後に画面が残るので、xsetroot コマンドで初期化してください。
 

インストールは、ソースからのビルドになります。

$ cd
$ mkdir xantfarm
$ cd xantfarm
$ wget https://www.acme.com/software/xantfarm/xantfarm_14Aug2014.tar.gz
$ tar zxf xantfarm_14Aug2014.tar.gz
$ cd xantfarm
$ xmkmf -a
$ make
$ sudo make install

 

———-

XMangekyou X11で動く万華鏡です

公式サイト:XMangekyou

万華鏡です.
変化しながらくるくるまわる映像はとってもきれいですが,トリップしすぎて
まわりに怪しがられないように気をつけてください.
壁紙に張り付けることもできます.
ある条件で,アニメーションがはじまっちゃったりします。

いろいろ表示のカスタマイズができるようです。
詳しくは、”nkf README.euc | more”で確認してください。

アニメーションが始める条件については、どこにも記載がありませんが
ぜひソースファイルを読んで、条件を探してみてください。
場所探すのはそんなに難しくはありません。あとは条件を満たしてみてください。

 

インストールは、ソースからのビルドになります。

$ cd
$ mkdir XMangekyou
$ cd XMangekyou
$ wget https://kozos.jp/myfreesoft/xmangekyou-2.0.1.tar.gz
$ tar zxf xmangekyou-2.0.1.tar.gz
$ cd xmangekyou-2.0.1

・configure.hを変更します。
#define XMANGEKYOU_LIB “/usr/X11R6/lib/X11/XMangekyou/”

#define XMANGEKYOU_LIB “/usr/local/lib/X11/XMangekyou/”

・Makefileを変更します。
XMANGEKYOU_PREFIX = /usr/X11R6

XMANGEKYOU_PREFIX = /usr/local

$ make
$ sudo make install

 

———-

Xshodow「書道」のアプリケーションです.

公式サイト:XShodou

XShodou は,UNIX の X Window System 上で動作する, 「書道」のアプリケーションです. マウスのドラッグを繰り返すことにより,だれでも気がるに「書道」 が楽しめます.

Shodou は FreeBSD 用ですが,Tck/Tk で書いてあるので,
UNIX ならば それほど苦労することなく,移植できるでしょう.
実行には Tck/Tk が必要です.
詳しい使用方法は,インストール後に man xshodou をご覧ください.

起動は、テーミナル上で「xshodou」で起動します。

マウスで筆をシミュレーションして書道をすることができます。
マウスドラッグで筆の移動。
マウスの右クリックを押すと筆を下に下げます(=線が太くなる)、
逆にマウスの左クリックを押すと筆を上にあげます(=線が細くなる)

なので残念ながらタッチパネルだけで操作すると1筆書きになっちゃいます。

インストールは上に書かれているように、Tck/Tk で書かれているので、
環境に合わせてファイルを書き替えてからインストールするだけです
(ビルドは不要)。

$ cd
$ mkdir XShodou
$ cd XShodou
$ wget https://kozos.jp/myfreesoft/xshodou-1.11.tar.gz
$ tar zxf xshodou-1.11.tar.gz
$ cd xshodou-1.11
$ sudo apt install tcl tk

$ vi Makefile
XSHODOU_PREFIX = /usr/X11R6

XSHODOU_PREFIX = /usr/local

$ vi xshodou
#!/usr/local/bin/wish

#!/usr/bin/wish

set title_file /usr/X11R6/lib/X11/XShodou/xshodou-title.xbm

set title_file /usr/local/lib/X11/XShodou/xshodou-title.xbm

$ sudo make install

 

———-

 

Brainで「痛デスクトップ」?

上記のアプリを組み合わせると、こんなbrainで「痛デスクトップ環境」が作れます。

痛デスクトップ レシピ
xeyes &
emiclock &
oneko -tomoyo &
oneko -sakura &
xhime &
macopix trh_nanoha.mcpx &
xpenguins –all -n 10 -m 150 &
Terminai 内アプリ: top

アクアリウム時計 レシピ
xfishtank &
xdesktopwaves &
XMascot &      # 蟹、重力加速度 0.02G、減衰係数 0.00
dclock -m &
xclock &

 

他、試してみてほしいアプリありましたら、コメントで

教えてください

Views: 121

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

電子辞書Brainをいじる (3) BrainuxでX11(X window system)とUSBサウンドデバイスで遊ぶ

BrainuxとX環境への接続について

Brainuxには、標準でX環境(X11[X window system])が利用できます。

X環境(X11[X Window system])の1つの特徴として、アプリケーションと表示するシステムが独立していて、アプリケーションを動かすサーバと、画面描画するサーバが別でも構わないことです。

X11はクライアント/サーバモデルで提供しているのですが、
あくまで画面描写が主体となっているため、一般的な認識とは逆になります。

・ここでの「クライアント」は、GUIを表示するプログラム(Xアプリケーション)になります。
・ここでの「サーバー」は、クライアント(Xアプリケーション)からの要求を受け付けて、画面に表示する内容を管理するプログラム(X11[X window system])になります。

Brainの画面でX11アプリケーションを利用するには、いくつかのパターンがあります。

  1. Brainを直接操作して、Brain上でXアプリケーションを起動し、Brainの画面で操作する
  2. Brainから他PCにsshでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する
  3. 他PCからsshでBrainにログインして、Brain上でXアプリケーションを起動し、Brainの画面で操作する
  4. 他PCでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する

起動操作Xアプリケーション実行Xアプリ表示(操作)
1.Brainを直接操作して、Brain上でXアプリケーションを起動し、Brainの画面で操作するBrainBrainBrain
2.Brainから他PCにsshでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作するBrain->他PC他PCBrain
3.他PCからsshでBrainにログインして、Brain上でXアプリケーションを起動し、Brainの画面で操作する他PC->BrainBrainBrain
4.他PCでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する他PC他PCBrain

ここでは、以下を想定して、それぞれの方法での接続例を紹介します。

brain(IP:192.168.29.11) Brainux環境
他PC(IP:192.168.29.19) X11環境を持ったLinuxを想定

今回の環境的には、USBホストアダプタを使って、USBネットワークアダプタ経由でネットワークに接続しています。
(USBでホストPCを経由してネットワークに接続する(USB Ethernet Gadget)だと、他PCからBrainへの通信について制限が出てくるので、ホストPCがX11導入したLinuxであればいけるかもといったところ)


1.Brainを直接操作して、Brain上でXアプリケーションを起動し、Brainの画面で操作する

起動操作Xアプリケーション実行Xアプリ表示(操作)
BrainBrainBrain

これがBrainuxでの一般的な操作になります。
Brain上でBrainuxを起動する際には、「xinitrc」か「jvm」を選択して起動すれば、X環境が立ち上がります。

あとは、terminalを起動し、Xアプリケーションを起動してください。
DISPLAY環境変数にはすでに:0は設定されているので、明示的に設定する必要はありません。(xeyesは、マウスカーソルの方向を向く目玉のアプリケーションです。)

xeyes &

その他デフォルトで、x11-appsというパッケージが導入されているようです。
xeyes(目玉アプリ)以外にも、oclock(アナログ時計),xclock(アナログ時計),calc(電卓)、xedit(エディタ)、xmore(ビューア)あたりは普通に使えると思います。

2.Brainから他PCにsshでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する

起動操作Xアプリケーション実行Xアプリ表示(操作)
Brain->他PC他PCBrain

Brainから、他PCにSSHログインして起動したXアプリケーションを、Brainの画面に出す方法です。
Terminalを立ち上げて、sshでログインする際に、-X オプションを設定することで、アクセス元のX環境に画面表示のリダイレクトをしてくれます。(DISPLAY環境変数は自動設定されます。)

ssh -X user@192.168.29.19
xeyes &

3.PCからsshでBrainにログインして、Brain上でXアプリケーションを起動し、Brainの画面で操作する

起動操作Xアプリケーション実行Xアプリ表示(操作)
他PC->BrainBrainBrain

他PCからsshでBrainにログインして、Brain上でXアプリケーションを起動する方法です。
他PCはWindows上でもputty等でのsshアクセスでもかまいません。問題ありません。
Brainのキーボードで直接入力すると、特殊なキーバインドの違いや反応の悪さなどで、他PCでアプリの起動をする場合等に使用できます(デバック向けかな)。

以下の通り、画面表示先を指定する、DISPLAY環境変数を手動で設定すればOKです。

export DISPLAY=:0
xeyes &

4.他PCでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する

起動操作Xアプリケーション実行Xアプリ表示(操作)
他PC他PCBrain

これは、Xアプリケーションの実行ウィンドウのみを、Braiに表示させるものです。
ただし、Brain上で、X11側で、Xアプリケーションからの接続を許可させる必要があるため、通常と違う手順が必要です。

接続許可は、xhosts というコマンドを利用します。
ただし、Brainux標準では、xhostは導入されていないようです。

まずは、BrainにXアプリケーションからの接続を許可すためのコマンド(xhost)を導入します。
(一度導入すれば、大丈夫です。)

sudo apt update
sudo apt show x11-xserver-utils

次に、BrainでBrainuxを起動する際に、「shell」で起動してください。
(そのまま「xinitrc」か「jvm」で起動してしまうと、X接続用のポート(:0の場合6000)が閉じているため接続できません。)

shellが起動したら、以下のコマンドでXを起動します。

Brain上でXが起動したら、terminalを起動して、アクセス許可を設定します(X起動毎に設定が必要です。)
(今回は、”192.168.29.19″からのアクセスを許可するものとします。)

xhost +192.168.29.19

(なお「xhost +」とすると、すべての接続を許可する設定になってしまいます。セキュリティ的には非推奨になります。)
+はBrainのキーボードでは、「シフト+記号+F」ですが、入力がしずらい場合があります。

ここまで終われば、他PC(Linux)でTerminalを立ち上げて、
DISPLAY環境変数を上書き設定します。
(BraiのIPは192.168.29.11とした場合)

export DISPLAY=192.168.29.11:0
xeyes &

 

X環境への接続についての補足

上記の接続の組合せでも、X環境を利用することができます。
例えば、3の後に2をやることで、疑似的に4の接続にすることも可能です。
(4.の特殊なXnの立ち上げや設定が不要)

起動操作Xアプリケーション実行Xアプリ表示(操作)
他PC->Brain->他PC他PCBrain

2.Brainから他PCにsshでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する
4.他PCでログインして、他PC上でXアプリケーションを起動し、Brainの画面で操作する

ssh user@192.168.29.11

export DISPLAY=:0
ssh -X nasubi@192.168.29.19

xeyes &

実際にやってみると、他PC上でXアプリケーションを起動する以下の方法では、
速度的にも問題なくアプリケーションを利用することができます。

これらは、俗にいう「シンクライアント」運用になります。
別PCに処理をさせて、結果のみBrainに表示させ、
BrainにUSBキーボードとマウスを付ければ、ハンドヘルドPCの出来上がりです。

また、これまでの説明の中のサーバ指定を逆にすれば、別サーバのX画面に、Braiux上で起動したアプリケーションを表示することもできますが、ここでは割愛します。

難点をいれば、現状Sound再生はされないといったところぐらいでしょうか・・・

参考
ローカルからリモートのXサーバにウィンドウを飛ばす

 

xterm の設定変更について(Xリソースファイルの管理)

lxterminaiは 40MB程度と結構メモリを消費するので、
メモリ消費量が比較的少ない(8MB)ターミナルとして
xtermも使えるようにしておきます。

ただxtermのデフォルトでは、白地に黒文字で目が痛いので
黒地に白文字に変更するためには、
xtermの設定変更として、Xのリソースファイルに追記します。

Xのリソースファイルは、アプリごとに以下のフォルダにまとめられています。
/etc/X11/app-default/

xtermの場合、/etc/X11/app-default/XTerm に追記します。

黒地に白文字に変更するには、ファイルの最後に、以下の行を追加します。

$ sudo vi /etc/X11/app-default/XTerm
xterm*reverseVideo:on

なお、ユーザ単位での設定では一般的に
~/.Xresourcesに追加するように書かれている資料もありますが、
Brainuxでは、このファイルを参照する様にはなっていないので、
もしユーザ単位でリソースファイルを切り替えたいのであれば、
~/.xprofileに、以下のような行を追加してみてください。
起動時に、~/.Xresourcesが読み込みされるようになります。

$ vi ~/.Xresources
xtermreverseVideo:on
x-terminal-emulatorreverseVideo:on

$ vi ~/.xprofile
xrdb -merge ~/.Xresources

 

JWMのメニューにアプリケーション(xterm)に追加する

現状JWMのメニューには、Terminal(lxterminal)しかアプリが登録されていないので、
xtermを追加してみます。

調べてみると、JWMのコンフィグは、以下にありました。
/etc/jwm/system.jwmrc

なお、ユーザごとにカスタマイズしたいのであれば、
先ほどのファイルを、~/.jwmrcにコピーすれば、これらの設定が優先的に使われます。

/etc/jwm/system.jwmrcファイルの先頭部分を確認してみると、
以下のようになっていました。

<?xml version=”1.0″?>
<JWM>
<!– The root menu. –>
<RootMenu onroot=”12″> <Include>/etc/jwm/debian-menu</Include>
<Program icon=”terminal.png” label=”Terminal”>lxterminal</Program>
<Separator/>
<Program icon=”lock.png” label=”Lock”> xlock -mode blank </Program>
<Separator/>
<Restart label=”Restart” icon=”restart.png”/>
<Exit label=”Exit” confirm=”true” icon=”quit.png”/>
</RootMenu>

ここで、メニューに、xtermの定義を追加してみます。
ついでに、Includeの行の下に<Separator/>も追加しています。
<Program label=”xterm”>xterm</Program>

$ sudo vi /etc/jwm/system.jwmrc

<Include>/etc/jwm/debian-menu</Include>
<Program icon=”terminal.png” label=”Terminal”>lxterminal</Program>
<Separator/>
 ↓
<Include>/etc/jwm/debian-menu</Include>
<Separator/>
<Program icon=”terminal.png” label=”Terminal”>lxterminal</Program>
<Program label=”xterm”>xterm</Program>
<Separator/>

設定に間違いがないか、以下のコマンドでチェックします。
jwm -p

最初は /etc/jwm/debian-menu ファイルがないため、そこは失敗しますが、
今回はその分はエラーでOKです。それ以外にエラーが出ないことを確認します。

では以下のコマンドで、設定をリロードします。
jwm -reload

すると、xtermが追加されました。

xtermをクリックすると、、定義したxtermが起動しました。

 

OSに登録されたアプリケーションをJWMに表示する

BrainuxはDebian11ベースのOSですので、DebianにAptコマンドでアプリをインストールすると、以下のフォルダにアプリケーション登録ファイル(*.desktop)が登録されています。
/usr/share/applications

この登録ファイルを元に自動でJWMの設定ファイルに変換してくれるツールを導入します
xdgmenumaker

$ cd
$ mkdir xdgmenumaker
$ cd xdgmenumaker
$ git clone https://github.com/gapan/xdgmenumaker.git
$ cd xdgmenumaker/
$ sudo apt install txt2tags
$ make
$ pip install pyxdg
$ make install
$ sudo touch /etc/jwm/debian-menu
$ sudo chmod 666 /etc/jwm/debian-menu
$ xdgmenumaker -n -i -f jwm > /etc/jwm/debian-menu

これで、以下のコマンドで、設定をリロードします。
jwm -reload

すると、apt経由でインストールしたアプリケーションの分のメニューが追加されました。


ただ、この状態だとaptでアプリを追加しても自動でメニューへの反映がされません。
JWM起動時に自動的に反映させてもいいのですが、起動してからJWMが操作できるまでにかなり時間がかかるため、「メニューの反映」をreload menuとして登録して、手動で登録できるようにします(アイコンが不要であれば-iオプションを消すとMenu動作が軽くなります)。

$ sudo vi /etc/jwm/reloadjwmmenu

#!/bin/sh
xdgmenumaker -n -i -f jwm > /etc/jwm/debian-menu
jwm -reload
exit

$ sudo chmod 755 /etc/reloadjwmmenu


作成したスクリプトをsystem.jwmrcに登録します。
<Program label=”ReloadMenu”>sh /etc/jwm/reloadjwmmenu</Program>

ついでに、VirtualKeybordも追加しておきました。
これで「.profile」で自動起動しなくてもよくなります。
<Program label=”VirtualKeybord”>xvkbd</Program>

$ sudo vi /etc/jwm/system.jwmrc

<!– The root menu. –>
<RootMenu onroot=”12″>
<Include>/etc/jwm/debian-menu</Include>
<Separator/>
<Program icon=”terminal.png” label=”Terminal”>lxterminal</Program>
<Program label=”Xterm”>xterm</Program>
<Program label=”VirtualKeybord”>xvkbd</Program>
<Separator/>
<Program icon=”lock.png” label=”Lock”>
xlock -mode blank
</Program>
<Separator/>
<Program label=”ReloadMenu”>sh /etc/jwm/reloadjwmmenu</Program>
<Restart label=”Restart” icon=”restart.png”/>
<Exit label=”Exit” confirm=”true” icon=”quit.png”/>
</RootMenu>

これで、ReloadMenuをクリックすれば、メニューの反映が行われます。

なお、標準ではxlockが入っていないので、不要であれば、Lockの行は消してください。
多分もっといい方法がありそうだけど、とりあえず動いたということで良しとします。

今は、Lockの行の代わりに、以下のように「OS Reboot」を設定すると、
JWMから再起動できるようにしています。

$ sudo vi /etc/jwm/system.jwmrc

<!– The root menu. –>
<RootMenu onroot=”12″>
<Include>/etc/jwm/debian-menu</Include>
<Separator/>
<Program icon=”terminal.png” label=”Terminal”>lxterminal</Program>
<Program label=”Xterm”>xterm</Program>
<Program label=”VirtualKeybord”>xvkbd</Program>
<Separator/>
<Program label=”OS Reboot”>
/usr/bin/x-terminal-emulator -e sh -c ‘echo run Reboot;sudo reboot’
</Program>

<Separator/>
<Program label=”JWM ReloadMenu”>sh /etc/jwm/reloadjwmmenu</Program>
<Restart label=”JWM Restart” icon=”restart.png”/>
<Exit label=”Exit” confirm=”true” icon=”quit.png”/>
</RootMenu>

 

X11画面のスクリーンショットを撮る方法

X11画面のスクリーンショットは、「scrot」コマンドで取得できるようです。

scrotは、以下のコマンドでインストールできます。
sudo apt install scrot

コマンドオプションでいろいろ取得方法をカスタマイズできるようです。

scrot     画面全体のスクリーンショットを撮ります。
scrot -ub   タイトルバー+アクティブウインドウのスクリーンショットを撮ります。
scrot -sb   カーソルの形が+に変わるので、
       その後ウインドウをクリックすると、タイトルバー+クリックしたウインドウ
       のスクリーンショットを撮ります。(ウインドウ範囲外だと全画面)
       左クリック長押しで範囲指定すると、その範囲のスクリーンショット
       を撮ります。

また、scrot -d 10 のように、-dで秒数を指定すると、10秒後に取得されます。

スクリーンショット取得先は、、
指定がなければ、カレントディレクトリに
「2025-12-18-204617_854x480_scrot.png」といった名前で保存されます。

出力先を指定する場合は、以下のようにしてみてください。
scrot ‘scrot_%Y%m%d-%H%M%S_$wx$h.png’ -e ‘mv $f ~/screenshot/’

これで~/screenshot/に「scrot_20251218-212923_854x480.png」のような名前で保存されます。

また、リモートPCからssh -X(Xリダイレクトオプション付)でログインしている場合、
リモート側でscrot コマンドを実行して、遠隔実行することも可能です。
ssh -Xでログインしていない場合は -D :0 のようにBrain側のDiskplay番号を追加でOKです。

 

これでスクリーンショットが取れるようになりましたが、毎回コマンドを打つのも面倒です。
今回は、JWMのキーバインド設定をして、USBキーボードの”PrtSc(PrintScreen)”キーでスクリーンショットが取得できるように設定してみます。
参考:JWM設定)(参考:JWMConfig

sudo vi /etc/jwm/system.jwmrc

ファイルの最後のほうに、キーバインド設定がありますので、ここの最後に追記します
(mask設定は、Shift=”S”,Ctrl=”C”,ALT=”A”が対応します。ただSAとしたときにALTの認識に不具合出る場合もあるそうなのでこの辺は調整が必要かもしれません。)

<Key key=”Print”>exec:scrot ‘scrot_%Y%m%d-%H%M%S_$wx$h.png’ -e ‘mv $f ~/screenshot/'</Key>
<Key mask=”A” key=”Print”>exec:scrot -ub ‘scrot_%Y%m%d-%H%M%S_$wx$h.png’ -e ‘mv $f ~/screenshot/'</Key>
<Key mask=”CA” key=”Print”>exec:scrot -sb ‘scrot_%Y%m%d-%H%M%S_$wx$h.png’ -e ‘mv $f ~/screenshot/'</Key>

これで、以下のようなキーバインドになります。
(ただし、jwmのメニュー表示中は、このキーバインドは聞かないようです。)

・PrintScreen      で全画面のスクリーンショット
・ALT+PrintScreen   でアクティブウインドウのスクリーンショット
・Ctrl+ALT+PrintScreen でウィンドウ選択 or 範囲指定のスクリーンショット

もし、Brainのキーボードでスクリーンショットを撮りたいのなら、
キー指定を <Key mask=”CA” key=”s”> とかにすればCtrl+ALT+”s”がキーバインドになります。(“exec:xdotool key ctrl+alt+Print”に割当でキー入力のエミュレートでもいけます)[参考]

JWMのコンフィグファイルを変更したら、jwm -pで構成チェックをした後で、
JWMメニューのRestartをクリックするか、jwm -restart コマンドを実行で設定が反映されます。

 

あと今回気づいたのですが、JWMのキーバインド使えば
タッチパネルでの右クリック対応はxbindkeys使わなくてもいけますね
これで500kbぐらいメモリ消費量を削減できます。
/etc/jwm/system.jwmrc 追加&JWMリスタート
<Key mask=”CA” key=”z”>exec:xdotool click 3</Key>
~/.xprofile 一部コメント化
# bash xbind_keys_autostart

/etc/jwm/system.jwmrc 例

  

BrainuxでのSound再生について

標準の環境では、Brainuxではサウンドデバイスを認識していないため、Sound再生されません。
Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系があるとのことで、現状Brainux上でのSound再生は、現状解析中で非対応だそうです。

試しにUSBサウンドデバイスを付けてみたところ、OSとしては認識しました。

Bus 001 Device 004: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter

ターミナル上でのコマンド上では使用できましたが、一部ノイズが乗ります。

ALSAを使っているaplayではノイズが出るにせよ音が鳴るし、
amixerや、alsamixerも動いています。

なお、plusaudioは初期未導入っぽいので、この辺が影響してそうです。
この辺もう少しし調べたいのですが、正直勉強不足です。

まあ、USBサウンドデバイスつけないといけないから、おま環ではあります。

この辺が参考になるのだろうか?
Linux の Audio 機能をコマンドラインで設定
X11 Forwarding で音声を再生する

音楽・動画再生は?

音楽・動画再生としては、mplayer や smplayerが apt経由でインストール可能です。

・mplayer コマンドラインの音楽・動画再生プレイヤーです。
・smplayer mplayerのラッパーで、GUI操作インターフェイスを提供します。

sudo apt update
sudo apt install mplayer
sudo apt install smplayer

mplayerで、再生したファイルを指定すれば、そのままALSAで再生されました。
(USB Audioデバイスを付けている場合)
mplayerでの音声再生では、ほとんどノイズは気になりませんでした。
[CUI,X11環境両方で実行可能]

mplayer pianos-by-jtwayne-7-174717.mp3

smplayerでも音声再生OKです。

smplayer pianos-by-jtwayne-7-174717.mp3
[X11環境時で実行可能]

同様に動画ファイル(mp4ファイル)も試しましたが、
安定して音声・動画再生はされました。

ただ、さすがにマシンパワー不足で、
動画と音声の同期がうまくいっていませんでした。
(音声が先行する)
再生時パラメータや、動画ファイルの作成パラメータの調整が必要かもしれません。
(-autosync 30 -cache 8192 -framedropのオプションを付けてみたけど、やっぱり遅い)

mplayer -vo fbdev2 /dev/fd0 ./file.mp4
[CUI上で実行する場合、-vo fbdev2 /dev/fd0 オプションを付け得れば再生されました。]

mplayer ./file.mp4
[X11環境上で実行可能]

smplayer file.mp4
[X11環境上で実行可能]

PulseAudio導入について

ALSAに引き続き、PulseAudioの導入も検討していますが、
結構重いそうだし、ALSA強制指定で動くものも多いので、いったん保留。
音楽のリダイレクトはあとで試してみたい。

fmsx,openMSX関連で、Brainuxに「pulseaudio」を入れてみました。

インストール: sudo apt install pulseaudio

インストール直後はサービスが起動していないのですが、以下のコマンドで実行できます。
pulseaudio –start

起動状況確認コマンドは、pactl info
pilseaudioの停止コマンドは、pulseaudio -k

ただし、自動実行が設定されてしまっているため、再起動しても自動的に起動してしまします。

$ systemctl –user status pulseaudio.service
● pulseaudio.service – Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2025-12-20 14:18:53 JST; 30min ago
TriggeredBy: ● pulseaudio.socket
Main PID: 472 (pulseaudio)
CPU: 4.902s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio.service
└─472 /usr/bin/pulseaudio –daemonize=no –log-target=journal

自動機能の無効化は以下です。これで自動起動しなくなります。
$ systemctl –user mask pulseaudio.service pulseaudio.socket

もし、一時的にpulseaudioを起動したいのであれば、
pulseaudio –start
で起動できます。


結果としては,Pulseaudioが無効との時うまく動くアプリと、
逆にPulseaudioが有効の時うまくいくアプリがあるっぽい。

ALSAを直接叩いているようなアプリでは問題なく聞ける音楽でもPulseaudioが有効だと、ぶつ切りでまともに聞けなくなるし、
逆に、Pulseaudio経由で音楽を鳴らしているアプリでは、Pulseaudioが起動していたほうがちゃんとうまくなる気がしてます。

Pulseaudioが起動していると、メモリも10MB以上消費するので、
Brainuxでは通常Pulseaudioを利用しないで、必要なときのみ起動するほうがいいでしょう。

openMSXとかだと、PulseAudioを起動したほうが音がちゃんと出ることもあるので、
いったんは必要に応じて手動起動で運用してみます。

 

Views: 106

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

電子辞書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円)

Brain にも給電できるUSBホストアダプタ(Wince上で給電を確認できるもの)を使用したとしても、Brainux起動時から給電している場合はBrainに給電されているようです。 ですが、私の使っているUSBホストアダプタ(Shigezoneさんで購入したやつ)だけかもしれませんが、一度でも給電を止めると給電を再開としたとしてもBrainには給電されていないように見えます(そのうちバッテリ不足でBrainの電源が落ちます)。

 

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;”は”<“に、”&gt”は”>”に変換してください。

これで、
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が通っていなくて、出来ないようです。)

Views: 142

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