fbtermの設定完了。

思考錯誤の末、ようやくfbtermをまともに使えるようになりました。
っていうか、起動は出来ていたんですが、壁紙を表示するためのスクリプトがうまく動かなかったんです。

私の環境は、
openSUSE11.3_32bit
機体は、
Thinkpad X31
です。

マニュアルに書いてあるスクリプト(fbterm-bi)をそのまま使うと、
画面になにも表示されない状態になり、進まなくなる。

Ctrl+Cで強制終了すれば戻るんで、ハングアップでは無い。
しかし、なにかしらの処理がうまくいっていなかった。

で、シェルに1行ずつ入力していて気づいたんですが、

fbv -ciuker "$1" << EOF
q
EOF

の部分。

<<EOF
q
EOF

があると途中で止まるんですよ。


多分、fbvの終了コマンドなんでしょうが、
少なくともopensuse11.3では、止まります。
無くても、先に進みます。

しかも、erオプションなんて今は無い。(前のバージョンではあったのかな?)

ですので、fbterm-biは

#!/bin/sh

#fbterm-bi: a wrapper script to enable backfound image with fbterm
#usage: fbterm-bi /path/to/image fbterm-options
echo -ne "\e[?25l" #hide cursor

fbv -ciukaf "@1"

shift
export FBTERM_BACKGROUND_IMAGE=1
exec fbterm "$@"

となります。

man fbterm | lessでマニュアルを表示して、読み比べてみてください。

fbterm-bi "画像のパス" "fbtermのオプション"

という感じで指定します。
ていうか毎回画像指定とか面倒なんで、
"$1"を画像のパスにしてしまうのもアリだと思います。


ちなみにfbterm上で画像表示するのも、fbvで問題ないです。
fbiだとフレームバッファターミナル上では、動いてくれなかったのでうれしいですね。


fbterm、fbiともに、./configure; make; make installで問題無くインストール出来ました。


make installの代りに、checkinstallRPM化出来ます。
zypperコマンドでインストールして、YAST管理下に置いた方が良いかも知れません。



フレームバッファターミナル、フレームバッファコンソールとは?

いまいちすっきりした説明を見つけられなくて苦悩したが、
いろいろ読んでいくと、どうやら
"フレームバッファ上で動く(を利用して動く?)仮想端末"
ということらしい。


フレームバッファ上に本体を置いて動作しているのか、
フレームバッファに出力を書き込むだけのものなのかという厳密な説明は分かりません。


呼び方はあんまり固定されてないなぁ。
表示先にフレームバッファを採用した仮想端末といえば良いか。


出力先デバイスが/dev/fbになったってことか??(ここは推測)


X上で動く仮想端末は、xtermなどが有名ですよね。


フレームバッファは通常の標準入出力とは違うらしく、
いわゆる日本語フレームバッファターミナル(Unicode対応のフレームバッファターミナル)を使えば、
カーネルUnicode対応なしで、
CJK(Chinese,japanese,Korean)をCUIにて表示可能みたいである。


逆に言えば、
Unicode対応フレームバッファターミナルを使用しない場合は、
コンソール(CUI)上でCJKを表示させることが出来ない。基本的には。


やりたい場合は、
カーネルUnicode対応させなければいけないのだそうで。
パッチとして配布されているようです。


現在、入手可能なカーネルパッチは二つ。(パッチだけどちゃんと名前がある。)

    • unicon
    • utf8-kernel

uniconは公式サイトがありますが、開発は停止しています。
utf8-kernelは、中国のとあるウェブページにて配布中。


カーネルソースに、パッチを当てて使います。
pacthコマンドの使い方が分からないひとは、この際覚えてしまいましょう。


カーネルソースは、各リポジトリから入手出来るはず。