最新の16.04では、ドイツ語のキーボードレイアウトとluksで暗号化されたハードドライブを使用しています。最新のカーネルアップデート4.4.0-34-genericをインストールするまで、ドイツ語のキーボードレイアウトを使用してluksパスワードを問題なく入力できました。これで、起動時のcryptsetupのレイアウトはen_USになりましたが、それ以降はすべてドイツ語になります(ログイン用など)。
古いカーネル4.4.0-31-genericを起動し、cryptsetupでドイツ語のキーボードレイアウトを使用することもできます。
/etc/initramfs-tools/initramfs.confに「KEYMAP = y」を追加し、「Sudo update-initramfs -u」でinitramfsを再構築しようとしましたが、うまくいきませんでした。
最新のカーネルでcryptsetupにキーボードレイアウトを設定するにはどうすればよいですか?
buntu 17.10の新規インストール*でも同じ問題が発生しました。
F.Raabによる次の情報は、非常に有用であることが証明されています。
ただし、/ usr/share/initramfs-tools/hooks/console_setupは/etc/console-setup/cached.kmap.gzを生成せず、Debianとは対照的に既存のものを使用します。私は、生成が一度正しく行われなければならないと仮定し、その後再び動作し、「update-initramfs -u」を呼び出す必要があります。
私のシステムではファイル/etc/console-setup/cached.kmap.gz
がmissingであり、明らかに、責任のあるプログラムはそれを作成していません。
stepsこれは私のシステムで動作しました:
cd /etc/console-setup
ls | grep kmap
(現在のフォルダーで 'kmap'を含むファイル名を検索します)。 cached_UTF-8_del.kmap.gz
を選択します。cached.kmap.gz
:Sudo cp cached_UTF-8_del.kmap.gz cached.kmap.gz
と呼びます(ソフトウェアと更新で有効になったNVIDIAドライバーと、 シャットダウンバグ により無効になっているgrubクワイエットスプラッシュを除く)Sudo update-initramfs -u
を実行すると、cached.kmap.gz
をブートシーケンスに統合できます。(ステップ4の前後にcached.kmap.gz
を実行し、アクセスタイムスタンプを比較することにより、stat cached.kmap.gz
が使用されていることをテストしました。)
再起動後、cryptsetupは、QUERTYではなく、お好みのキーボードレイアウトでLUKSパスフレーズを受け入れます。
(つまり、cached_UTF-8_del.kmap.gz
は既に正しいレイアウトを含んでいます。上記の方法がうまくいかない場合は、コマンドラインで キーボードレイアウトの変更(英語UK)のいずれかのコマンドを試してみてください。英語US または https://apps.ubuntu.com/cat/applications/language-selector-gnome/ )
私はカーネル4.13.0-32-generic' (check using
uname -r`)を使用しています。 カーネルのアップグレードは問題を軽減するかもしれませんですが、NVIDIAドライバーとの競合が再び発生するのではないかと心配していたので、そうしたくありませんでした。 (なぜFedoraを去らなければならなかったのです;ほぼすべてのカーネルアップデートの後、私のシステムは再び不安定になり、それを解決するスキルと時間がありません。)
* shutdown bug のため、ソフトウェアとアップデートで有効化されたNVIDIAドライバーとgrub quiet splashを無効化
KEYMAP=y
はDebian専用のメカニズムであるため、Debianでのみ使用できます。 /usr/share/initramfs-tools/hooks/keymap
パッケージにあるinitramfs-tools
に渡され、後で使用される/etc/boottime.kmap.gz
を生成します。
Ubuntuのinitramfs-tools
はまったく異なるフックを提供し、KEYMAP=y
を使用しません。ただし、これらのスクリプトは常に、設定されたローカルキーマップをロードしようとします。 /usr/share/initramfs-tools/hooks/console_setup
は、既存の/etc/console-setup/cached.kmap.gz
を小さなbusybox環境にコピーします。その後、/usr/share/initramfs-tools/scripts/init-top/console_setup
はこのキーマップをロードします。
ところで/usr/share/initramfs-tools/scripts/init-top/keymap
も/etc/boottome.kmap.gz
と同じ方法でロードしようとしますが、このファイルは存在しません(以前に使用されていました)。
ただし、Debianとは異なり、/usr/share/initramfs-tools/hooks/console_setup
は/etc/console-setup/cached.kmap.gz
を生成せず、既存のものを使用します。私は、生成が一度正しく行われなければならないと仮定し、その後再び動作し、「update-initramfs -u」を呼び出す必要があります。
しかし、私はその時点でそれを行うことができなかったようです。うまくいったのは少し残念です。OS全体を再度インストールする必要がありました。インストールプロセス中に正しいキーボードレイアウトを選択していることを確認し、インストールプロセスの後、ただし新しいインストール済みシステムを起動する前に、新しいシステムのchroot環境でʻupdate-initramfs -u`を実行します。