7.5. Linux コンソールの設定

この節ではブートスクリプト consoleconsolelog の設定方法について説明します。 このスクリプトはキーボードマップ、コンソールフォント、カーネルログレベルを設定します。 非アスキー文字 (例えば著作権、ポンド記号、ユーロ記号など) を使わず、キーボードが US 配列であるなら、本節は読み飛ばしてください。 console ブートスクリプトの設定ファイルが存在しない場合は、このスクリプトは何も行いません。

console スクリプトと consolelog スクリプトは、設定情報を /etc/sysconfig/console ファイルから読み込みます。 まずは利用するキーボードマップとスクリーンフォントを定めます。 様々な言語に応じた設定方法については http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html を参照してください。 よく分からない場合は /lib/kbd ディレクトリを見て、正しいキーマップとスクリーンフォントを探してください。 マニュアルページ loadkeys(1)setfont(8) を見て、これらのプログラムに対する適切な引数を決定してください。

/etc/sysconfig/console ファイルの各行には、変数 = "値" という記述を行います。 そして変数には以下に示すものが利用可能です。

LOGLEVEL

この変数は、コンソールに出力されるカーネルメッセージのログレベルを指定するもので dmesg コマンドにより設定されます。 有効な設定値は "1" (メッセージ出力なし) から "8" まであり、デフォルトは "7" です。

KEYMAP

この変数は loadkeys プログラムに対する引数を指定します。 このプログラムは 「es」 などのキーマップをロードします。 この変数がセットされていない場合、ブートスクリプトは loadkeys プログラムを実行せず、デフォルトのカーネルキーマップが用いられます。

KEYMAP_CORRECTIONS

この変数は (あまり利用されませんが) loadkeys プログラムを二度目に呼び出す際の引数を指定します。 普通のキーマップでは十分な設定にならない時の微調整を行うために利用します。 例えばユーロ記号がキーマップの中に含まれておらずこれを付け加える場合には、この変数に対して 「euro2」 を設定します。

FONT

この変数は setfont プログラムへの引数を指定します。 一般にこの変数にはフォント名、「-m」、アプリケーションキャラクタマップ (application character map) を順に指定します。 例えばフォントとして 「lat1-16」、アプリケーションキャラクタマップとして 「8859-1」 を指定する場合、この変数には 「lat1-16 -m 8859-1」 を設定します。 (これは米国にて適当な設定となります。) UTF-8 モードの場合、カーネルは UTF-8 キーマップ内の 8 ビットキーコードを変換するためにアプリケーションキャラクタマップを利用します。 したがって "-m" パラメータには、キーマップ内キーコードのエンコーディングを指定する必要があります。

UNICODE

コンソールを UTF-8 モードにするには、この変数を 「1」、 「yes」、 「true」 のいずれかに指定します。 UTF-8 ベースのロケールであればこの設定を行います。 そうでないロケールにおいて設定するのは不適切です。

LEGACY_CHARSET

キーボードレイアウトの多くに対して、Kbd パッケージは標準的な Unicode キーマップを提供していません。 この変数にて UTF-8 ではないキーマップのエンコーディングが指定されていたら console ブートスクリプトは利用可能な UTF-8 キーマップに変換します。

以下はいくつかの設定例です。

[注記]

注記

/etc/sysconfig/console ファイルは Linux のテキストコンソール上の言語設定を行うだけです。 X ウィンドウシステム、SSH セッション、シリアルコンソールでのキーボードレイアウトや端末フォントの設定とは無関係です。 それらに対しては、上に列記した最後の二項目における制約は適用されません。

[注記]

日本語訳情報

日本の方であれば 「日本語106キーボード」 をほぼ間違いなくお使いかと思いますので KEYMAP 変数には 「jp106」 を設定することになるでしょう。 FONT 変数について訳者は十分な知識がありません。 ここに何を設定すべきか分からない (調べていない) ため、何も設定しないでいる状態です。 訳者は LFS システム構築後は SSH 接続によりシステムアクセスしており、その場合ここでのフォントの設定がどうであろうと (おそらく) 無関係であるため、あまり気にせずにいます。 何か情報を頂けるようであればご教示よろしくお願いいたします。

訳者が行っている設定は以下のとおりです。

cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console

KEYMAP="jp106"

# End /etc/sysconfig/console
EOF