Monthly Archives: 11月 2014

FreeBSD 10.1-RELEASEのvt(4)でconsoleをうつくしく

Pocket

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

これで再起動。

見た目の変化

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

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

日本語フォント

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

さすればこのように。
vt02

以上

FreeBSD 10.1-RELEASEからサポートされるUDP-liteとは

Pocket

FreeBSD 10.1-RELEASEがめでたくリリースされた。
何が更新されたかといえば、UEFIブートやvt等々が世間一般の目玉のようである。

FreeBSD 10.1-RELEASE Release Notes
UEFIブートを初期サポートした「FreeBSD 10.1-RELEASE」リリース

そのなかで興味を惹かれたのが、UDP-Lite。
UDP-Liteとは。以下、公式サイトより俺私訳。

RFC 3828で規定されるIPトランスポートプロトコルで、音声/動画/ゲームでの使用を想定したもの。
通常、UDPデータグラムはチェックサムエラーが発生すると破棄される。
これはつまり、最大で64KBまでのサイズを許容されるデータパケットのうち、たった1byte誤っただけでパケット全体がドロップされることを示す。
UDP Liteは、部分的に壊れているパケットのうち、壊れてない部分を使えるようなアプリケーション向けに作られた。

こちらはWikipedia

No tags for this post.