フレームバッファコンソールの設定
2005年2月13日 掲載
2005年12月27日 改訂
Vine Linux 3.1を使っていて「あれっ?」と思ったのは下の写真のように日本語が表示できないところ。それまでコマンドプロンプトで「kon」と入力すれば日本語の表示が可能になったのに、「kon」といれても「command not found」なんて出てくる。Vine Linuxはコマンドのメッセージもけっこう日本語化されているので、日本語が化けたのではつかえたものじゃない。
konをインストールしないといけないのかなあと思っていたが、なんとVine Linux 3.0から日本語の表示方法が変わったのだという。そんな重要なことは早く言ってくれと言いたくなるが、なんとVine LinuxのFAQのいちばん最初に書いてあった。これは自分の不注意だ。

フレームバッファの設定を行うと日本語が表示できるようになるだけでなく、コンソールが高解像度で表示できるようになる。標準では640×480ドットの解像度で80行×25列だが、1024×768ドットや1280×1024ドット、さらには1600×1200ドットの表示もできるようになる。画面の情報量が増えるため、管理がやりやすくなりなりそうだ。もちろん自分の液晶の限界を超えてまでは表示できないが。
設定方法はごく簡単。「/etc/lilo.conf」に一行追加するだけ。下の例は1280×1024ドットで65,536色表示を行うための設定だ。
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=menu
message=/boot/message
vga=0x31A ←この一行を追加する
image=/boot/vmlinuz-2.4.27-0vl7
label=linux
initrd=/boot/initrd-2.4.27-0vl7.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda3"
なお、Vine Linux 3.2以降では標準でフレームバッファの設定(vga=0x314)がlilo.confに追加され、800×600ドット・65,536色で起動するようになった。Vine Linux 3.1のように文字化けに悩まされることもない。だが、1024×768ドット以上の高解像度表示が可能なディスプレイを使っているなら、「vga=」以下の数値を下の表のように書き換えてみよう。
| 640×480 | 800×600 | 1024×768 | 1280×1024 | 1600×1200 | |
| 256色 | 0x301 | 0x303 | 0x305 | 0x307 | 0x31C |
| 32,768色 | 0x310 | 0x313 | 0x316 | 0x319 | 0x31D |
| 65,536色 | 0x311 | 0x314 | 0x317 | 0x31A | 0x31E |
| 1677万色 | 0x312 | 0x315 | 0x318 | 0x31B | 0x31F |
/etc/lilo.confの設定が終わったら、「/sbin/lilo」を実行して変更を反映させる。再起動すると高解像度で日本語も表示されるようになる。
実は「/sbin/lilo」を実行しないと設定が書き込まれないことを知らなかったため、30分くらいサルのように再起動を繰り返した。実行しないと再起動しても変更が有効にならないので注意しよう。知ってる人には常識かもしれないが。。。
# /sbin/lilo ←/sbin/liloを実行 Added linux * # shutdown -r now ←再起動する
もしへんてこな設定をして、画面に何もうつらないとか、画面が乱れて何もできないなんて間抜けなことをしでかす人もいるだろう。そんなときは再起動して、ブートローダーが出てきたところで「Esc」キーを押す。するとテキストモードのブートローダーになるので、「boot:」の文字に続けて「linux vga=0x301」と打ち込み、Enterキーを押す。これで640×480ドットの256色で起動してくれる。この設定なら起動しないパソコンはないはず。めでたく起動したら正しい設定に書き換えればいい。
なお、ブートローダーの時点ではキーボードが英語配列になっているので、刻印通りにキーを押しても「=」は入力できない。「^」キー(「-」の右のキー)を押すと「=」が出てくるところに注意しよう。