web-dev-qa-db-fra.com

Comment modifier la disposition du clavier utilisée lors de la saisie de mon mot de passe sda_crypt?

J'utilise actuellement Ubuntu MATE 15.10. Lors de la configuration d'Ubuntu, j'ai accidentellement sélectionné la mise en page Colemak alors que je voulais la mise en page QWERTY. Désormais, lorsque je saisis mon mot de passe pour sda_crypt au démarrage (ce qui, à mon avis, est ma clé de chiffrement LUKS?), Il est saisi dans Colemak.

J'ai essayé de changer ma mise en page par défaut à partir de Paramètres système, mais cela n'affecte pas la mise en page que j'utilise sur sda_crypt.

3
LotSX

Sur une machine Ubuntu 18.04, j'ai:

dpkg-reconfigure keyboard-configuration

avec les autorisations root. Cela a régénéré les initramfs automatiquement, et j'ai pu utiliser la nouvelle disposition du clavier pour taper la clé lors du prochain démarrage.

2
Azendale

Je pense que j'ai surtout résolu ce problème (sauf l'inverse, en essayant d'échapper à QWERTY), sur une installation de 16.04 LTS.

Comme l'invite est après GRUB, mais avant que la partition racine chiffrée ne soit accessible, nous savons que le choix de disposition est intégré au initramfs (mini système de fichiers chargé en mémoire avant le système de fichiers racine réel, contenant tout le nécessaire pour charger le vrai).

Le initramfs est construit par initramfs-tools, qui est une liste géante de scripts pour y copier des fichiers. Il semble que le problème spécifique en la matière soit /usr/share/initramfs-tools/hooks/console_setup, qui réutilise le même /etc/console-setup/cached.kmap.gz utilisé (je pense?) Pour les consoles série/tty normales.

(J'apprécierais un peu de clarté là-dessus si quelqu'un en avait. L'exécuter dpkg -S sur ce "hook" montre qu'il provient du paquetage keyboard-configuration qui pourrait être un indice.)

Quoi qu'il en soit, la configuration du clavier pour la configuration de la console provient de /etc/default/keyboard, qui contient des affectations variables. Pour vous donner une idée de la manière de le définir, vous pouvez le déterminer à partir de votre mise en page xkb normale (celle que "Paramètres du système" change), en l'exécutant dans un terminal:

$ 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)" };
};

Ma mise en page est un peu bizarre, mais les éléments importants sont xkb_symbols ... us(dvorak) et xkb_geometry ... pc(pc105). On en déduit les variables /etc/default/keyboard suivantes:

$ Sudo nano /etc/default/keyboard

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="dvorak"
XKBOPTIONS=""
[...]

Une fois que vous avez édité /etc/default/keyboard, vous devez inciter console-setup à mettre à jour. Je ne sais pas comment faire cela, alors je viens de redémarrer, ce qui semblait fonctionner. (Cela pourrait être dû au fait que j'avais déjà effectué l'étape suivante avant ce redémarrage, même si cela n'a pas fonctionné cette fois-ci.)

Après cela, lancez simplement Sudo update-initramfs -u. Il dira 'Générer /boot/initrd.img-{latest-kernel-version}' et prendra du temps avant de copier un tas de choses dans une nouvelle image initramfs. Après cela, votre prochain redémarrage devrait avoir la mise en page souhaitée dans l'invite dm-crypt :).

TL; DR:

  1. Éditez /etc/default/keyboard en fonction du résultat de setxkbmap -print.
  2. Redémarrez (ou trouvez le moyen approprié de mettre à jour la configuration de la console).
  3. Exécutez Sudo update-initramfs -u.
  4. J'espère que vous apprécierez un peu plus le prochain redémarrage.

Bonne chance et je suis désolé de n'avoir que le même problème maintenant. Peut-être que dans 18 mois, quelqu'un avec le même problème me dira comment ça se passe?

1
Tom Spurling