I am currently using ТУСКЛЫЙ Ubuntu 15.10. While setting up Ubuntu, I accidentally selected the Colemak layout when I wanted the QWERTY layout. Now, when I am entering my password for sda_crypt at startup (which I believe is my LUKS encryption key?), it types in Colemak.
гve tried changing my default layout from Систем Сеттингс, but this does not affect the layout I использовал at sda_crypt.
На машине Ubuntu 18.04 я сделал:
dpkg-reconfigure keyboard-configuration
с корневыми полномочиями. Это повторно создало initramfs автоматически, и я смог использовать новую раскладку клавиатуры для ввода ключа на следующей начальной загрузке.
Я думаю, что главным образом решил это (кроме наоборот, пытаясь выйти из QWERTY), на 16.04 установках LTS.
Так как подсказка после GRUB, но прежде чем зашифрованный корневой раздел доступен, мы знаем, что выбор расположения встраивается в initramfs (мини-файловая система, загруженная в память перед реальной корневой файловой системой, содержа все необходимое для загрузки реального).
initramfs создается initramfs-tools
, который является гигантским списком сценариев для копирования материала в там. Это похоже на определенный, влияющий, это /usr/share/initramfs-tools/hooks/console_setup
, который снова использует то же /etc/console-setup/cached.kmap.gz
это использовало (я думаю?) для нормальных serial/tty консолей.
(Я ценил бы некоторую ясность в этом, если у кого-либо есть кто-либо. Выполнение dpkg -S
на тех шоу "рычага", что это прибывает из keyboard-configuration
пакет, который мог быть подсказкой.)
Так или иначе раскладка клавиатуры консольной установки прибывает из /etc/default/keyboard
, который имеет некоторые переменные присвоения в нем. Чтобы дать общее представление, как установить это, можно изобразить его из нормального xkb расположения (это - то что изменения "Параметров настройки системы"), путем выполнения этого в терминале:
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete+numpad(mac)" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us(dvorak)+inet(evdev)+capslock(backspace)+shift(both_capslock)" };
xkb_geometry { include "pc(pc105)" };
};
Мое немного странное расположение, но важные биты xkb_symbols ... us(dvorak)
и xkb_geometry ... pc(pc105)
. От этого мы получаем следующее /etc/default/keyboard
переменные:
$ sudo nano /etc/default/keyboard
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="dvorak"
XKBOPTIONS=""
[...]
После того как Вы отредактировали /etc/default/keyboard
, необходимо обмануть console-setup
в обновление. Я понятия не имею, как сделать это так, я просто перезагрузил, который, казалось, работал. (Это могло на самом деле быть, потому что я уже сделал следующий шаг перед этой перезагрузкой, хотя это не работало на этот раз.)
После этого, просто выполненный sudo update-initramfs -u
. Это скажет 'Генерацию/boot/initrd.img-{последняя версия ядра}' и займет время, в то время как это копирует набор материала в новое изображение initramfs. После этого Ваша следующая перезагрузка должна иметь расположение, которое Вы хотите в подсказке dm-склепа :).
TL; DR:
/etc/default/keyboard
на основе вывода от setxkbmap -print
.sudo update-initramfs -u
.Удача и я сожалеем, что только имели ту же проблему теперь. Возможно, через еще 18 месяцев кто-то с той же проблемой сообщит мне, как она идет?