電子辞書Brainをいじる (5) Brainuxでゲームをインストールして遊ぶ

Brainuxでゲームをインストールして遊ぶ

BrainuxはDebian11 ベースのLinuxOSですので、
Debian レポジトリや、Linux用ソフトウェアをインストールすることができます。

ただ、ゲームをインストールできたとしても、
Brainのマシンスペック(CPU性能、メモリ、Disk性能、画面解像度)や、前提ソフトウェアの有無、バージョンなどによってうまく動かないことがあります。

 

ゲームの探し方

Linuxゲームの導入は、いろいろ探せます。

例えば、Debian 11 (bullseye) レポジトリのGames サブセクションをのぞいてみたりすると、
大量のソフトウェアパッケージが見つかります。

“bullseye” のサブセクション games に含まれるソフトウェアパッケージ
https://packages.debian.org/ja/bullseye/games/

もちろんすべて動くわけではなく、特に近年の3Dをバリバリに使っているものとか、
最新のライブラリを使っているものとかはかなり厳しいです。
音楽については、USBサウンドデバイスを付けていれば鳴るものもありますが、その分ゲームのパフォーマンスに影響が出るものもあります。

昔のコンソール版ソフトウェアとか、X11,GTK, SDL1.2あたりを使っているソフトであれば、意外といける可能性が高いです。

逆にSDl2、OpenGLあたりを使っている場合は、結構厳しいものが多いかもしれません。

(どのライブラリを使用しているかどうかは、パッケージ一覧からソフトウェアの詳細に関連パッケージが表示されるので、なんのライブラリをインクしているかで推測できます。)

ほかにも、ソースでゲームを公開していることろもありますので、
いろいろ探してみましょう。

Debian ゲームポータル

newbreedsoftware

 

ゲームを動かしてみる

試しにいくつかのゲームカテゴリのソフトウェアを導入してみました。

コンソールソフトウェア

〇 nettoe     コンソール用ネットワーク版 Tic Tac Toe (3×3 盤、三目並べ)

 実行OK。コンピュータ対戦可能な三目並べです。。

 インストール:APT経由 ”sudo apt install nettoe”

———- 

〇 bsdgames     UNIX の古典的なテキスト版ゲームコレクション

 実行OK。たくさんのゲーム(40個くらい)がインストールされますが、
 メッセージがすべて英語なので、遊び方がよくわからないのが多いです。
 詳細が知りたければ、man <ゲームコマンド>で説明相が読めます。(詳細)

    adventure, arithmetic, atc, backgammon,
    battlestar, bcd, boggle, caesar, canfield, countmail, cribbage, dab,
    go-fish, gomoku, hack, hangman, hunt, mille, monop, morse, number,
    pig, phantasia, pom, ppt, primes, quiz, random, rain, robots, rot13,
    sail, snake, tetris-bsd, trek, wargames, worm, worms, wump, wtf

   ルールがわかりやすいのはこの辺でしょうか?
    ゲーム:
     arithmetic  対話型の計算ゲーム
     gomoku   コンピュータ対戦可能な五目並べ
     hack    元祖アクションRPG”ローグライクゲーム”の諸派の中でも有名な
           nethack の前身
     hangman  単語当てゲーム
     snake    スネークに捕まらないようにお金を回収するゲーム
     tetris-bsd   テトリス(j:左移動 k:回転 l:右移動 スペース:落下)
     worm    一般的にスネークゲームと呼ばれているゲーム
    環境表示ソフト
     rain    コンソール上に水を張り、そこに雨粒を落としたような
           エフェクトがかかる環境表示コマンド。
           -d 100ぐらいがちょうどいいかも。
     worms   端末に蟲を這わせる感じの環境表示コマンド。
           オプションでいろいろ表示を変えられるらしいです。

 インストール:APT経由 ”sudo apt install bsdgames”

———- 

〇 bastet     テトリスのテキストバージョン

 BSD ゲームコレクションにあるものよりも Bastest の方が出来がいいよと言われています。
 実際ブロック(テトロミノ)がカラフルなため、画面映えもこちらのほうがいいです。

 なぜか最初X上のターミナル上では、ゲーム画面の操作するブロック(テトロミノ)が
 表示されませんでした。(lxterminalの仕様か、フォントの問題かもしれません。)

 ただ、X上でない素のコンソールや、fbterm上で起動した場合は正常に表示されて
 ゲームもできましたし、その後Brainuxを再起動したところ、正常に動きました。
 (BrainのX上のターミナルからssh localで自分にログインしたら正常に表示されました。謎)

  インストール:APT経由 ”sudo apt install bastet”

———- 

△ ninvaders   古典的なアーケード ゲームのスペース インベーダーのクローン

 古典的なアーケード ゲームのスペース インベーダーのクローンです。

 インストールしてみたところ、どの環境(素のコンソール、X上のターミナル等)でも
 ゲームが始まると、キー入力ができなくなりました。
 ・キー入力できない以外は動いているようです。
 ・ゲームは始める前まではキー入力は反応。

 Souceからバイナリを再構築してみましたが、現象一緒なので、いったん断念します。 

 インストール1:APT経由
$ sudo apt install ninvaders

 インストール2:Debian 11 リポジトリソースからインストール(0.1.1-4)
$ cd
$ mkdir ninvaders
$ cd ninvaders
$ sudo apt install build-essential libncurses5-dev git
$ sudo apt install devscripts build-essential
$ apt source ninvaders
$ cd ninvaders-*
$ sudo dpkg-buildpackage -us -uc
$ cd ..
$ ./ninvaders-*/ninvaders #動作チェック
$ cd ..
$ sudo dpkg -i ninvaders_0.1.1-4_armel.deb

 インストール3:非公式サイトからソースを入手してからインストール(0.1.0)
$ cd
$ mkdir ninvaders
$ cd ninvaders
sudo apt install build-essential libncurses5-devs
$ git clone https://github.com/doctorfree/ninvaders.git
$ cd ninvaders
$ ./mkpkg
<エラー>
$ mkdir build2
$ cd build2
$ cmake ..
$ cmake –build .
$ make
$ ./ninvaders #動作チェック
$ cmake –install

(追記)
原因わかりました。
Brainの画面描画の速度が遅すぎて、デフォルトの50FPSだと、自機表示やインベーダなどを動かしているタイマー割込み処理が間に合わず、メインルーチンにあるキー入力処理が呼ばれない状況になっていたのが原因でした。
インストール3のソース(1.0.0)で20FPSあたりまで下げると、X11ではない素のシェル上では動くようになりました。
ただ、このゲームの場合、「FPSが下がる=難易度が下がる」なので、この辺はなかなか難しいところです。

変更箇所
nInvaders.c 33行目付近

#define FPS 50

#define FPS 20

(なお、インストール2のソース(0.1.1)では、15FPSぐらいまで落としたほうがよさそうです。)

ソース見ていたら、普通は 左右のカーソルキーとスペースで操作だけど、
h,lで移動、kでショット、pで音時停止。”W”で次のレベル。”L”で前のレベルになるらしい。(これ隠しコマンドかな?)

———- 

〇 moon-buggy  危険なクレーターを飛び越えて月の表面を横切って進んで行くゲーム

 実行コマンドは「moon-buggy」になります。
 Space or j ジャンプ
 a or l レーザー発射(岩が出てきたら破壊する用)

 検証予定
 危険なクレーターを飛び越えて避けようとしながら月の表面を横切っていくゲームです。
 

 インストール:APT経由 ”sudo apt install moon-buggy”

———-

〇 Pacman4console パックマンのターミナル版

 起動は、「pacman4console」です。

 起動には、29x32のキャラクターサイズが入るウィンドウが必要なので、
 X上のターミナルでは起動不可でした。
 素のshell上であれば、起動できます。

 移動はカーソルキーです。
 迷路はレベルごとに変わり、9種類あるそうです。
 (起動時に –level=[1..9]で指定したLEVELから起動できます。)

 また、自分で迷路を作ることも可能だそうです。

 インストール:APT経由 ”sudo apt install pacman4console”

———- 

〇 2048      4×4のタイル上で番号のブロックを結合して2048を目指すゲーム

 起動は、「pacman4console」です。 2048は戦略的で非常に中毒性のあるゲームです。
 目標はスコアを2048にすることです。
 意外とはまるパズルゲームです。

 インストール:APT経由 ”sudo apt install 2048”

———-

△ asciijump   小さくかわいいアスキーアートスキージャンプゲーム

 小さくかわいいアスキーアートスキージャンプゲーム

 これは非常にかわいらしいマルチプレイヤゲームであり、友達やコンピュータと
 対戦できます。ワールドカップモードと訓練モードという二種類のプレイモードが
 あります。 例えばチョモランマやフィンランドといった数種類の山を選択できます。

 aptでインストールしましたが、動きませんでした。
 少し調べたところ、ソースにパッチ当てが必要とのことで、
 レポジトリからソースを取得して、パッチを当てて再構築します。

 すると、ゲームが動くようになりました。

 インストール1:APT経由 ”sudo apt install asciijump”

 インストール2:レポジトリからソースを入手してパッチ適用後にインストール

$ cd
$ mkdir asciijump
$ cd asciijump
$ sudo apt install -y devscripts
$ sudo apt build-dep -y asciijump
$ apt source asciijump
$ cd asciijump-1.0.2~beta/
$ wget https://gist.githubusercontent.com/mt08xx/9cdf4bebed3b04509253f8778620372b/raw/cf94da0d0debb80cf8b016636fca325acb3e452e/xfnc.c.patch -O ./debian/patches/xfnc.c.patch
$ echo xfnc.c.patch >> debian/patches/series
$ debuild -us -uc

$ ./asciijump #動作確認

$ sudo apt remove -y asciijump
$ sudo apt install -y ../asciijump_1.0.2~beta-10_armel.deb

$ asciijump

———-

〇 nudoku    コンソール版の数独 (sudoku)です。

 コンソール版の数独 (sudoku)パズルです。
 数字を縦・横・3×3のマス目でそれぞれ独立しているように埋めていくのがルールです。
 カーソルキーで移動し、空いたマス目に数字を埋めていきます。
 すべて埋めたら、”c”キーでチェックです。正解なら「Solved」と表示されます。

 頭の体操にどうぞ。いくつかのお助け機能も搭載されいますよ。

 難易度は、”easy”(デフォルト), “normal”, “hard”があります。
 起動時に”-d <レベル>”オプションで、任意度を変更できるようです。

 インストール:APT経由 ”sudo apt install nudoku”

———- 

X11ライブラリを利用したソフトウェア

〇 pacman    迷宮でモンスターを追いかける(パックマン風ゲーム)

 実行OK。問題なく遊べるパックマンです。音楽はありません。

 インストール:APT経由 ”sudo apt install pacman”
 以下のメッセージが出て実行に失敗する場合

 以下の通り、別途フォントを導入してみてください。

 音楽が欲しければ、X11版のドットイートゲームもいくつかあります。

———-

〇 xsok      X11 用汎用倉庫番ゲーム(xsok,sokoban,Cybaerbox)

 sokobanの目的は、マウスや矢印キーを使って全ての荷物を各レベルの 得点領域に
 押し込むことです。
 他のレベルのサブセットでは、異なる荷物 があったり、特殊効果を持つモノが
 存在したりします。

 sokoban(全88Level)は、普通の倉庫番パズルです。
 Cybaerbox(全16Level),xsok(全5レベル)は、いろいろルールを付け加えたものですが、
 詳しい説明はないのでトライ&エラーを繰り返す必要があります。

 Cybaerboxは脱出ゲーム的なもののようで、xsokは2つを組み合わせた形です。
 このモードではsokobanの常識は崩さないと、クリアできません。

 とりあえず、sokoban,Cybaerbox,xsokのそれぞれ1面はクリアできましたが、
 かなりむずいです。
 1面から見た難易度はsokoban < Cyberbox < xsokかな?

 一部レベルでは、Brainoの画面ではすべての迷路が出てこないので、
 画面を最上位にしたり、無理やり移動してXY方向を拡張する必要がある面があります。
 (windowの枠を右クリックするとmoveがあるのでカーソルで強引に移動しつつ拡張)
 
 もしかしたら、画面解像度のせいで、クリアできない面もあるかもしれません。
 その時はスキップしてください。

 インストール:APT経由 ”sudo apt install xsok”

———-

〇 xbubble    Puzzle Bubble / Bust-A-Move のクローンです。

 Puzzle Bubble の素敵なクローン
 XBubble は、Puzzle Bubble / Bust-A-Move のクローンです。

 ゲームの目的は、盤上からすべてのバブルを取り除くことです。
 そのためには、 バブルに狙いをつけて撃たなければなりません。
 同一色の 3 個以上のバブルを 揃えることができれば、それらは破裂して消え去ります。
 さらに他と接していな いバブルも、すべて落下して消え去ります。

 xbubble には 1 人用モード、2 人用モード、人間 vs コンピュータ
 (5 段階の 難易度を備えた AI) 対戦モードがあり、
 素敵なグラフィックを備えていますが、 サウンドはありません。

 非常に快適にプレイできます。
 frozen-bubbleと比較して、ネット対戦機能はないですが、
 コンピュータ対戦ができるのが特徴です。

 インストール:APT経由 ”sudo apt install xbubble”

———- 

QTライブラリを利用したソフトウェア

QTライブラリは、バックエンドを”QT_QPA_PLATFORM”で切り替えることが
できるようです。
export QT_QPA_PLATFORM=linuxfb
と設定することで、Xのターミナルではない素のShellでも画面表示をすることが
できましたが、その後操不能になりました
(ネットワークにつながっていれば、sshでログインしてシャットダウンは可能)。

この辺もう少し突き詰めれば、QTライブラリを使ったアプリをもう少し軽く
動かせるのかもしれません(どなたか詳しい方教えてください。)

———- 

△ ksudoku    数独ゲームおよびソルバーで、2D や 3D といったバリエーションがあります

 KSudoku は数独ゲームおよびソルバーで、2D や 3D といった数独のバリエーション を
 サポートします。数独で遊べるだけでなく、数独パズルの図面を印刷したり、
 任 意の数独パズルの解法を探索できます。

 Brainで動かす場合は、いくつかの3Dタイプのゲーム(Rox 3D sudoku)は動かない
 ようですが、それ以外の2Dタイプであれば問題なく動作するようです。

 ゲームタイプを選んで、6種類の難易度を選択して、「Generate A Puzzle」を
 クリックすれば、盤面を作成してゲームがスタートします。

 入力する数字(文字)は、右側のボタンを左クリックして選択するタイプなので、
 Brainのタッチパネルも活用できます。(キー入力も可能です。)
 入力の取り消しは、「削除」キーや「マウス右クリック」で可能です。

 インストール:APT経由 ”sudo apt install ksudoku”

———-

✕ 2048-qt    QT版の2048(番号のブロックを結合して2048を目指すゲーム)

 実行はできるが、非常に遅いです。(CPU100%になってました。)。
 また、画面解像度が足りなくて、4x4のマスのうち一番下の4マスが表示されません。
 なのでこれで遊ぶのは難しいかと(コンソール版で遊びましょう)
 
 インストール:APT経由 ”sudo apt install 2048-qt”

———- 

GTKライブラリを利用したソフトウェア

〇 aisleriot     GNOME ソリティアカードゲーム集

 80以上の様々なソリティアカードゲームのコレクションです。
 有名な spider, freecell, klondike, thirteen (pyramid), yukon, canfield などの変種の他
 にも 数多くのゲームが含まれます。

 最初起動方法がわからなかったのですが、
 起動は「sol」コマンドで、まずは ”Freecell”のゲーム画面が表示されます。
 また、 Game->Select Gameで、いろんなソリティアゲームに一覧が表示されます。

 インストール:APT経由 ”sudo apt install aisleriot”

———- 

liballegroライブラリを利用したソフトウェア

✕ open-invaders   Space Invaders clone

 コマ落ちあり、画面入りきらないので、自機が表示されず、遊ぶには難しい。
 USBサウンドデバイスを付けると音が鳴りますが、結構な頻度で途切れます。
 が、画面は派手に動くので、画面デモにはいいかもしれません。

 遊ぶなら、コンソール版のninvaders をどうぞ。

 インストール:APT経由 ”sudo apt install open-invaders”

———- 

〇 garden-of-coloured-lights 音楽の要素を持つ抽象的な縦スクロールシューティングゲーム

起動は「garden」で実行できます。

 十分遊べる立シューティングゲームです。音ありでもなんとか遊べる速度です。
 画面が若干大きいですが、最上位表示+移動すればなんとかなります。

   ・LayerをAboveに変更
   ・Moveで、ゲーム画面全体が表示されるように、Windowを上に移動する。
    (移動すると、ウィンドウから終了はできないので、
     メニューや「ESC」キーで終了できます。)

   音を鳴らしていると、音がとぎれとぎれになってコマ落ち感はあるけど、
   音がなければ、気にならずに十分遊べそうです。

 インストール:APT経由 ”sudo apt install garden-of-coloured-lights”

———- 

SDL1.2ライブラリを利用したソフトウェア

〇 hannah     pacman-like game, child oriented (パックマン風のドットイートゲーム)

 パックマンライクなドットイートゲームです。
 起動そのままの状態では、Brainの解像度の関係で迷路の一番下が隠れているので、
 そこは残念ですが、速度、音楽(要USBサウンドデバイス)ともに正常に遊べます。

 ゲーム自体は以下のようにすれば、画面を移動することで、
 ゲーム画面すべてを表示させて遊べます。
  ・LayerをAboveに変更
  ・Moveで、街路全体が表示されるように、Windowを上に移動する。
   (移動すると、ウィンドウから終了はできないので、コンソールから
    Ctrl+Cで終了する必要があります。)

 インストール:APT経由 ”sudo apt install hannah”

———- 

✕ njam      pacman-like game with multiplayer support(ドットイートゲーム)

 Brainでは解像度が足りなくて、起動できませんでした。
 (起動には 800x600x16bit の解像度が必要。)

 インストール:APT経由 ”sudo apt install njam”

———-

〇 Berusky     倉庫番ベースの論理ゲーム

 berusky は古典的なパズルゲーム倉庫番ベースのフリーな論理ゲームです。
 迷宮で箱を動かすという昔のアイデアは爆発物、石、特別な門などといった
 新しい論理アイテムににより拡張されています。
 加えて、5 つまでのバグを 協調させてプレイヤで制御できます。
 (ゲーム中では約 120 まで存在する)
 レベルを上げるためには、5 種類の鍵を手に入れ、さらに脱出するための道も
 確保する必要があります。

 Brainでは起動最初にHIGH RESOLUTION MODE にするか聞いてくるので
 NOを選んでください。
 それでも画面下部が隠れてしますので、最上位表示+Window移動で対応してください。

 ゲーム内容としては、5つのバグを操作してカギを集めて出口に進むゲームのようです。
 操作するバグは「国語辞典」(TAB)で切り替えできます
 バグの移動はカーソルキーですがシフトを押しながらだと早く移動できます。

 「調べる」(ESC)でメニューが出ますので,ここからリトライ(Ctrl+R)などもできます。
 詳しくはゲームの中のHELPで確認してください。

 インストール:APT経由 ”sudo apt install berusky”

———- 

〇 gemdropx    Gem Drop X – X11 用のアクションパズルゲーム(Magical Drop風ゲーム)

 Windowの画面位置を調整する必要がありますが、十分遊べます。
 (A,Z,カーソルで操作できます。)
  
 ゲーム自体は、以下のようにすれば、画面を移動して遊べます。
  ・LayerをAboveに変更
  ・Moveで、街路全体が表示されるように、Windowを上に移動する。
   (移動すると、ウィンドウから終了はできないので、”ESC”キーで終わらせられます。)
 USBサウンドデバイスを付ければ、音楽も聴けます。

 インストール:APT経由 ”sudo apt install gemdropx”

———-

〇 amoebax     ぷよぷよ風パズルアクションゲーム

 起動は「amoebax」です。同じ色のアメーバを4つつなげると消えるという
 ぷよぷよ風パズルアクションゲームです。

 「練習」「通常(コンピュータとの対戦)」「対戦(2Player or 4Playerでのトーナメント戦)」
 で遊べます。

 最初の画面解像度が800×600になってしまうので、optionで640×480にしましょう。
 遊ぶときはWindowのLayerをAboveに変更すると、いちばん下まで表示されるので
 おすすめめです。
 optionではほかにフルスクリーンモードでの切り替えや、音量変更。操作キー変更
 ができます。

 音楽ありだと音がとぎれとぎれになってしまうので、音楽なしのほうがいいかも
 しれません。(USBサウンドデバイスを付けている場合、起動時に –disable-sound を
 付ければ音楽なしになります。)

 操作は、
 メニュー:カーソルキーで移動、決定(Enter)で選択です。
 ゲーム中:左右下で移動、上で回転になります(1プレイヤー時)、
      一時停止は「調べる」or「戻る」(ESC)です。

 インストール:APT経由 ”sudo apt install amoebax”

———-

〇 frozen-bubble   同じ色の泡をまとめて撃って弾ける「パズルボブル」クローン

 バブルを弾き出すクールなゲーム!
 Frozen-Bubble は、同じ色の泡をまとめて撃って弾ける人気の「パズルボブル」クローンです。

 プレイヤーはペンギンとなり、矢印キーを使って色付きのバブルを複数のバブルに
 狙いを定め、画面下部のラインの下を通過する前にすべてのバブルを消すことが目的です。

 100のシングルプレイヤーレベル、2プレイヤーモード、音楽、そして印象的なグラフィック
 を特徴としています。また、プレイヤーが独自のレベルを作成してプレイできる
 レベルエディターも搭載されています。

 起動については、「frozen-bubble」ですが、
 そのままでは、Brainには荷が重いので、以下のようにオプションをつけて起動することを
 お勧めします。(さらに簡略化した–very-slow-machineもあります。)
 ほかにもいろいろオプションがあるので試してみてください。

 frozen-bubble –slow-machine

 USBサウンドデバイスを付けているときは、音を消すと快適になります。
 frozen-bubble –slow-machine –no-sound # 音無し

 ゲームとしては1人プレイ/2人同時プレイです。
 コンピュータ対戦はないようですが、疑似的に妨害が入るトレーニングモードはあります。

 xbubbleと比較して、こちらは画面がきれい。ネット対戦機能ありですが、
 その分少し遅い。コンピュータ対戦がないのが特徴です。

 インストール:APT経由 ”sudo apt install frozen-bubble”

———- 

△ mazeofgalious  Galious の迷宮(MSX版クローン) 

 実行コマンドは、”mog”です。

 MSX版のガリウスの迷宮クローンです。
 音楽もなりますが、非常に遅いです。

 ただ音無しならば、遅いなりに何とかプレイ可能なレベルで動きます。 
 が快適とまではいかないので、最後まで遊ぶには厳しいかも。

 インストール:APT経由 ”sudo apt install mazeofgalious”

———- 

SDL2ライブラリを利用したソフトウェア

SDl2を利用したアプリケーションについては、
今のところ快適に動作するアプリケーションが見つかっていません。

以前試したエミュレータ系のいくつか(openmsxとか)が使っていましたが、
すべて動作が重かったです。

SDL_VIDEODRIVERで、バックエンドのビデオドライバをしてできるようですが、
少しでも軽くなるかと、directfbの設定をして切り替えてみてもどうもうまくいきません(SDL2再構築時にdirectfb有効化しているはずのなのだがNG)
SDL 2.0 FAQ: ユーザ 特定のビデオドライバを選択する方法は?

SDL_VIDEODRIVER=directfb
(そもそも directfbがうまく動いていない?)

/etc/directfbrcの設定は以下で試してます。
system = fbdev
fbdev = /dev/fb0
mode = 854×480
depth = 16

試しに
sudo dfbg -c 0xFFFF0000
で一瞬画面全体が赤くなるけど、すぐに消えちゃうのは、正常なのか不明。

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

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

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

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

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

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

    apt show <パッケージ名>     パッケージの詳細を表示します。
    sudo apt install <パッケージ名>  パッケージをインストールします。
    dpkg -L <パッケージ名>      インストールパッケージのファイルリストを確認
  • ソースからインストールするパターン
    ソースからインストールする場合は、基本的にドキュメントに書かれている方法でビルド、インストールします。
    ただし、ソース内にビルドを自動化するスクリプトがあれば、自動化したビルドが可能になります。

    「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 でインストールします。

 

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

実行成功

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

xtightvncviewer    X11上で稼働するvncviewer

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

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

gngb         GAME BOY エミュレータ

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

openmsx       MSXエミュレータ(動作は遅いです。)

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  マルチゲームコンソールエミュレータ(動作はするが遅すぎる)

マルチコンソールゲーム機のエミュレータです。
正確な動作を目標に作成されたエミュレータとのことです。

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

sudo apt install higan

インストール自体は成功して、実行してみましたが、
Brainuxで動作はするが、1FPSくらいしか出ないので、実用上は難しいです。

gngb GAME BOY エミュレータ

gngbは、GAMEBOY エミュレータです。

画面は小さいですが、結構まともに動きました。

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

sudo apt install gngb

とりあえず、以下のコマンドでも手持ちのGBカードリッジのデータで実行したところ、以下で普通に動きます(音なし)。

gngb “rom.gb”

デフォルト操作
Start Enter(決定)
Select Right Shift(Brainにキーなし)
移動 カーソルキー
A X
B W
Menu TAB(国語辞典)
終了 ESC(戻る,調べる)

快適に動かすため、以下のように実行パラメータを指定して、動作を確認してみました。
FDcloneに”.gb”の拡張子で、使用するオプション込みで追加すれば、便利ですよ。
(.gb: gngb –autoframeskip –sound –sample_rate=11025 –fps )

パラメータ調整(–fps は、フレームレート表示確認用です。)
・音無しで 43-60fps
gngb –autoframeskip –no-sound –fps “.rom.gb”

・音あり(usbサウンドデバイス必須)で 28-35fips
gngb –autoframeskip –sound –sample_rate=11025 –fps “.rom.gb”

デフォルト設定を変えるには、「/usr/share/doc/gngb/examples/sample_gngbrc」を、「$HOME/.gngb/gngbrc」にコピーして、編集してください。

例えば、Setartを「m」、Selectを「n」に割り当てするには以下のように変更します。
(キーコードはこちらを参照)
#map_key 273,274,276,275,120,119,13,303
map_key 273,274,276,275,120,119,109,110

/usr/share/doc/gngb/にドキュメントが保存されているので、参考にしてください。

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 ファミコンエミュレータ(動作は遅いです。)

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

X11環境で、Shellから”fceux”で起動できます。
(libSDL2の再構築が必要です。再構築していないと、Illegal instruction エラーになります)

Optionから設定変更できますが、Video configからDriverをSDLにしたりしたけど、4-5fpsぐらいしか出ませんでした。チューニング次第で、もう少しあげられるのだろうか?
キー入力も何とか反応するレベルでした。

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

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

X11環境で、Shellから”nestopia”で起動できます。
(libSDL2の再構築が必要です。再構築していないと、Illegal instruction エラーになります)

設定変更はEmurator -> Configurationからできます。
FPSは出ていませんし、キー入力も受け付けていないように見えます。

openmsx  MSXエミュレータ(動作は遅いです。)

インストールはApt経由で可能です。
sudo apt-get install openmsx openmsx-catapult openmsx-data cbios

X11環境で、Shellから”openmsx”で起動できます。
(libSDL2の再構築が必要です。再構築していないと、Illegal instruction エラーになります)

また、専用ランチャである”openmsx-catapult”を起動すると、ROM指定を含めてGUIで操作できます(初回起動時は各種チェック処理が入ります)。

とりあえず、ROM起動しましたレベルまでの確認です。やはり遅いです。

なお、Illegal instructionエラーを調査する段階で、ソースからのコンパイルも試してみましたが同じエラーになりました。ちなみにBrainux上でのコンパイルには20時間以上かかりました(マジ)。

 

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のウィンドウ枠が出ることまでは確認しましたが、
あまりに遅くて諦めました。

 

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

 

インストールログ

 

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])

 

インストールログ

 

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

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

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

sudo apt instsll xfishtank

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

インストールログ

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

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

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

 

他、試してみてほしいアプリありましたrあ、コメントで教えてください

カテゴリー: 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サーバにウィンドウを飛ばす

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環境上で実行可能]

plusaudio導入検討中

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

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