10.1-RELEASEの目玉機能の一つにvt(4)がある。
有名すぎるけど改めてvtが何かというと、殺風景で絶望的にクソダサいFreeBSDのコンソールを美しくするドライバである。
LANGを日本語設定にしたままコンソールでログインし、メッセージが文字化けしまくる情けなさ。
そうでなくとも、コンソールで使われるフォントはカッコ悪いように思う。
そんなガッカリ感ともサヨナラである(ただし日本語表示にはひと手間かかる!)。
みんな。今日限りコンソールドライバはvtにしちまおうぜ。
vt(4)とは
使い方を示すまえにvtについてもう少しだけ詳しく。
もとはNewcons(NEW CONSoleですな)として進められていたプロジェクトで、コンソールでの2バイト文字を含むユニコードを使えるようにしたコンソールドライバ。
くわえて、Xを使ってる時でもバーチャルターミナルを使えるし、コンソールなのにマウスでコピー&ペーストができたり、ScrLockして画面をスクロールバックしたりできる。
(FreeBSDにおいて)これはすごい。
ただ、意外にもスクリーンセーバはできないようだ。
詳細はNewcons wikiをどうぞ。
https://wiki.freebsd.org/Newcons
なお、従来のドライバはsyscons。
vtの使い方
10.1-RELEASEではデフォルトで有効にはならない。
有効にするには、/boot/loader.confに以下の記述が必要。
kern.vty=vt
私は以下のように追記している。
#
# Virtual Terminal settings
# see vt(4)
#
# set 1 to vt works textmode.
hw.vga.textmode=0
# set vt to enable vt on console
kern.vty=vt
これで再起動。
見た目の変化
これがオリジナルのコンソール。
この、フォントが気に入らないんですよ。
こうなる。
なんだろう…。20世紀の8bitパソコンのような趣がありますな。
日本語フォント
よしじゃあ次は日本語フォント!と思ったのだが、冒頭のnewcons Wikiを見るとCJKフォントは「In progress」、つまり「まだ」である。(2014/11/23現在)
とはいえ全く表示できないか、というとそうではなく。このあたりを参考に進めてみた。
具体的には、ユニコードなビットマップフォントをダウンロードしてきてvidcontrolで指定してあげればよい。
vidcontrolでの操作はコンソールでやること。
# fetch http://people.freebsd.org/~emaste/newcons/b16.fnt
fetch: http://people.freebsd.org/~emaste/newcons/b16.fnt: size of remote file is not known
b16.fnt 772 kB 238 kBps 00m03s
# vidcontrol -f ./b16.fnt
さすればこのように。
以上