確認環境
PC | Thinkpad X1 Carbon 2nd Gen |
OS | FreeBSD 12.0-RELEASE-p5 |
課題
仮想コンソールで日本語を表示したい。
日本語がない世界なんて、僕は嫌だ。
対策
FreeBSD 12であれば、コンソールドライバにはvt(4)
を使用しているはずだ。
vt(4)
なら、ありがたいことに日本語などのマルチバイト文字を表示できる。
しかし残念なことに、FreeBSDには仮想コンソール用の日本語フォントが標準で入っていない。
仕方がないので使えるフォントをダウンロードして、日本語を表示できる状態にしよう。
もし、vt(4)
ではなくsyscons(4)
を使っている場合は、こちらのサイトを参考にするといい。
以降では、下記手順について説明する。
- 言語設定を日本語にする (
~/.login_conf
) - 日本語フォントをダウンロードする (
https://people.freebsd.org/~emaste/newcons/b16.fnt
) - 日本語フォントを試す (
vidcontrol -f b16.fnt
) - ログイン時のフォントを指定する
- ユーザ個別(自分だけ)に適用する場合 (
~/.login
) - システム全体に適用する場合 (
/etc/rc.conf
) - 動作確認
- ユーザ個別(自分だけ)に適用する場合 (
因みに、vt(4)
で画面の解像度を上げる方法は、こちらの記事で紹介しているので、覗いてみてね。
1. 言語設定を日本語にする
まずは、言語設定を日本語に変更しよう。
ここでは、ユーザ個別での言語設定方法を紹介する。
設定は至って簡単。
~/.login_conf
に下記の設定を記述するだけ。
me:\ :charset=UTF-8:\ :lang=ja_JP.UTF-8:
修正が終わったら、一度ログアウトして再ログイン後、下記コマンドを実行してみよう。
下記のように、文字化けして表示されるはずだ。
※便宜上、文字化けを'□'で表現している
> date 2019□□ 6□□12□□ □□□□□□ 18□□22□□35□□ JST
末尾にJST
と表示されていれば、言語設定を日本に変更できている。
2. 日本語フォントをダウンロードする
次に、僕が比較的見やすいと感じたフォント、b16.fnt
をダウンロードしてみよう。
> fetch https://people.freebsd.org/~emaste/newcons/b16.fnt
もし、fetch
コマンドでエラーが出るようであれば、wget
やcurl
コマンドでダウンロードできるか試してみてね。
3. 日本語フォントを試す
ダウンロードが終わったら、フォントを切り替えてみよう。
下記コマンドを実行すればいい。
※もし、X-Window
やtmux
、uim-fep
などは、終了させて下記コマンドを実行すること
> vidcontrol -f b16.fnt
エラーが出なければ、先ほどのdate
コマンドの結果が日本語になっているはずだ。
> date 2019年 6月12日 水曜日 18時22分35秒 JST
4. ログイン時のフォントを指定する
最後に、ログイン時に使用するフォントの指定を行う。
ここではユーザ個別(自分だけ)に適用する方法と、システム全体に適用する方法を説明する。
後述する課題があるため、オススメはユーザ個別で指定する方法。
1. ユーザ個別に適用する場合
まず、fontを置く場所を決めて、ダウンロードしたファイルを移動しよう。
> mkdir -p ~/vt/fonts > mv b16.fnt ~/vt/fonts/
次に、ログイン時にフォントを切り替える設定を追加する。
tcshやcshを使用している場合、 .login
に下記の記載を追記すればいい。
set FONT "$HOME/vt/fonts/b16.fnt" if ( -f "$FONT" ) vidcontrol -f "$FONT"
もし、B系シェルを使っているなら、下記の記述を~/.profile
に追加すればいいと思う。
ログイン時に実行されるスクリプトについては、使用しているシェルのマニュアルで確認してねと。
FONT="/$HOME/vt/fonts/b16.fnt" [ -f $FONT ] && vidcontrol -f $FONT
2. システム全体に適用する場合
以降はroot権限で実行すること。
まず、ダウンロードしたフォントを、vt(4)
のフォント管理用ディレクトリに移動する。
> mv b16.fnt /usr/share/vt/fonts/
次に、/etc/rc.conf
に次の記述を追加すれば完了だ。
font8x16="b16.fnt"
※ こちらの方法だと、他の仮想コンソールに切り替えて(Alt+F2など)ログインしたときに、フォントが適用されていなかった。
何か設定が足りていないのかもしれない。。。
3. 動作確認
設定が終わったら、再ログインしたときに日本語が表示できるか確認しよう。
> date 2019年 6月12日 水曜日 18時22分35秒 JST
日本語万歳。
参考
以上。