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

これで再起動。

見た目の変化

これがオリジナルのコンソール。
この、フォントが気に入らないんですよ。
img

こうなる。
なんだろう…。20世紀の8bitパソコンのような趣がありますな。
img

日本語フォント

よしじゃあ次は日本語フォント!と思ったのだが、冒頭の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

さすればこのように。
img

以上