私のディストリビューション (Slackware 13.37) では、コンソール キーボード レイアウトは/usr/share/kbd/keymaps
、kbd パッケージのサブディレクトリで使用可能なレイアウトの中から選択されます。
代わりに、X では、ファイルに含まれる「レイアウト」リストでキーボード レイアウトが選択されます/etc/X11/xkb/rules/evdev.lst
。
コンソール キーボード レイアウトが指定されている場合、それを X キーボード レイアウトにマップして、X 構成ファイルで「XkbLayout」オプションを適切に設定する方法を知っている人はいますか?
私は、Slackware 以外のディストリビューションが初期設定でこれをどのように処理するかを特に知りたいです。
答え1
私が理解しているところによると、Debian では、XKB に使用する値で/etc/default/keyboard
変数を設定します。XKB{MODEL,LAYOUT,VARIANT,OPTIONS}
次に、起動時に はsetupcon(1)
それらの変数を読み取り、 を呼び出しますckbcomp(1)
。これは、マニュアルページに記載されているように、「XKB キーボード記述をloadkeys
またはに適したキーマップにコンパイルしますkbdcontrol
」。
最後に、loadkeys(1)
コンパイルされたファイルに対して が呼び出されます。
ありがとう。
(あるいは、その逆のことを言っていたのかもしれません。今となってはよく分かりませんが…)
答え2
魔法はありません。ディストリビューションは、「キーボード レイアウトのテキスト記述」、「コンソール キーボード レイアウト オプション」、「X11 キーボード レイアウト オプション」という 3 つの要素の配列を維持し、レイアウトを選択して構成するためのツールを提供する必要があります。
ディストリビューションがこれを行わない場合、コンソールと X11 キーボードを手動で構成し、それらを整合させるのはユーザーの責任となります。