この節ではシステムサービス 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
には以下の変数を利用します。
この変数はキーボードに対するキーマッピングテーブルを指定します。 これが定められていない場合はデフォルトで
us
が設定されます。
この変数は二番目のトグルキーマップを設定します。 デフォルトでは本変数は設定されません。
この変数は仮想コンソールにて用いられるフォントを指定します。
この変数はコンソールマップを指定します。
この変数は 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 を実行して得ることができます。
X11 キーボードマッピングモデルを表示します。
X11 キーボードマッピングレイアウトを表示します。
X11 キーボードマッピングヴァリアントを表示します。
X11 キーボードマッピングオプションを表示します。
上に示す変数を利用するにあたっては BLFS ブックに説明する XKeyboard-Config パッケージが必要です。