9.6. Linux コンソールの設定

この節ではシステムサービス systemd-vconsole-setup の設定方法について説明します。 このサービスは仮想コンソールフォントとコンソールキーマップを設定します。

systemd-vconsole-setup サービスは、/etc/vconsole.conf ファイルにて示される設定情報を読み込みます。 キーマップやスクリーンフォントには何を用いるのかを定めてください。 各言語に対する HOWTO も確認してください。 https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html が参考になるでしょう。 localectl list-keymaps を実行すると、設定可能なコンソールキーマップを確認できます。 また /usr/share/consolefonts ディレクトリを見れば、設定可能なスクリーンフォントを確認できます。

/etc/vconsole.conf ファイルの各行は VARIABLE=value といった書式により構成されます。 VARIABLE には以下の変数を利用します。

KEYMAP

この変数はキーボードに対するキーマッピングテーブルを指定します。 これが定められていない場合はデフォルトで us が設定されます。

KEYMAP_TOGGLE

この変数は二番目のトグルキーマップを設定します。 デフォルトでは本変数は設定されません。

FONT

この変数は仮想コンソールにて用いられるフォントを指定します。

FONT_MAP

この変数はコンソールマップを指定します。

FONT_UNIMAP

この変数は Unicode フォントマップを指定します。

「システムロケールの設定」 においては、Linux コンソールでの対話セッションのロケールは C.UTF-8 を用いることにします。 C.UTF-8 のもとでプログラムメッセージの全文字に対するグリフを持っているコンソールフォントと言えば、Kbd の中では LatArCyrHeb*.psfu.gz, LatGrkCyr*.psfu.gz, Lat2-Terminus16.psfu.gz, pancyrillic.f16.psfu.gz です。 これらは /usr/share/consolefonts にあります。 (その他のコンソールフォントは、ユニコードの左右のクォーテーションマークや英語ダッシュなどのグリフが欠落しています。) したがってデフォルトのコンソールフォントとして、たとえば Lat2-Terminus16 を設定します。

echo FONT=Lat2-Terminus16 > /etc/vconsole.conf

ドイツのキーボードおよびコンソールの設定例は以下です。

cat > /etc/vconsole.conf << "EOF"
KEYMAP=de-latin1
FONT=Lat2-Terminus16
EOF

localectl ユーティリティーを用いれば、システム稼動中に KEYMAP 変数を変更することができます。

localectl set-keymap MAP
[注記]

注記

localectl コマンドは chroot 環境内では動作しない点に注意してください。 systemd を使って LFS システムを起動したときになって、初めて利用できるものです。

localectl ユーティリティーはまた、X11 キーボードレイアウト、モデル、ヴァリアント、オプションをそれぞれ対応する変数により設定することができます。

localectl set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]

localectl set-x11-keymap に対して設定可能な値の一覧は、以下の変数を使って localectl を実行して得ることができます。

list-x11-keymap-models

X11 キーボードマッピングモデルを表示します。

list-x11-keymap-layouts

X11 キーボードマッピングレイアウトを表示します。

list-x11-keymap-variants

X11 キーボードマッピングヴァリアントを表示します。

list-x11-keymap-options

X11 キーボードマッピングオプションを表示します。

[注記]

注記

上に示す変数を利用するにあたっては BLFS ブックに説明する XKeyboard-Config パッケージが必要です。