yaftを使う
yaft is 何
Yet Another Framebuffer Terminal の略で、フレームバッファ端末上で動く端末エミュレータ。
昔からこの分野には fbterm という有名なソフトがあるが開発は止まっており、最近も更新されているものを探してみたところyaftが出てきたので使ってみた。
何に使うものなの? という人のための雑な説明
デスクトップ向けなLinuxを使っている人は Ctrl + Alt + F2 (or F3, F4, F5, F6)を押してみてほしい。黒い画面になるはずだ(戻すには Ctrl + Alt + F7)*1。
こういうのを仮想コンソールといって、それぞれでログインして作業することができる。
また、X Window Systemを入れなければ、仮想コンソールで作業することになる。
なのだけれど、この仮想コンソールではふつう日本語の表示ができない。
でも表示させたいよね、という人に嬉しいソフトがfbtermやyaftである。
ビルド
りどみに書いてあるようにするだけ。C製なのでgccだけあればよさそう。
$ git clone https://github.com/uobikiemukot/yaft.git
$ cd yaft
$ make
$ sudo make install
実行
$ sudo yaft
でとりあえず動く。
一般ユーザーで起動したい場合は、フレームバッファ(Linuxなら標準で /dev/fb* )へのアクセス権限をユーザーに附与することが必要。
Ubuntuでは /dev/fb* を所有するグループが video なので、
$ sudo gpasswd -a $USER video
してやればよい。
フォント変更
フォントは glyph.h に埋め込まれているので、これを書き換えてビルドし直すことで変更できる。標準はmilkjf.bdfを変換したものらしい。
BDFフォント*2をglyph.hの形式に変換するプログラムが同梱されているので、BDFフォントさえ用意してやればよい。
私はufo.bdfを試してみたが、問題なく使えた。これでUnicode BMPの全文字が表示できる。
github.com
その他
- 背景画像を表示したりとかいろいろできるらしい(README参照)。
- Unicode対応はBMPの範囲のみ。まあ、それ以上の範囲をサポートしているBDFフォントもそうそうないけれど……
- IMには対応していなそうなので、日本語入力はできない。
- (2019/11/20追記)画面の解像度が高すぎて普通のbdfフォントでは文字サイズが合わない場合、bdfresizeというツール(Debian -- jessie の bdfresize パッケージに関する詳細)でフォントを拡大するのもよいかもしれない