I have a LUKS encrypted LVM with arch Linux. The bootloader is (obviously) not on the encrypted LVM, and does not use the keymap I set with localectl. Therefore, I can decrypt the volume, but once I try to login, it goes to a very strange keymap, not DVOREK or QWERTY or anything purposeful, but just is not mapped correctly for this keyboard. It started after I ran sudo localectl set-keymap mac-us, as I'm on a mac book pro, and was trying to get the tilde key to type ~ and ` instead of < and >. Is there anyway, without another linux install (though I do have an arch linux installer USB), to fix this and reset the keymap to us. I really don't care about fixing the tilde key at this point, but if anyone knows how to fix it, that would be nice.

It is a full install, I was just mentioning the option of a live usb. It is on a partition of my main HD. It boots up into console mode, it has wayland and sway though as a UI, but I can't get that far. I can't get past login, because typing in the username is so terrible, some random keys hit return, some power off, but none type the correct character. Also, if anyone can post the keymap file of the us layout and the mac-us layout, I could just use it as a translation table and fix it that way.

  • Is that problem present on a live USB? – Ricain Mar 6 '17 at 15:46
  • 1
    Graphical or console? /etc/vconsole.conf controls (among other things) the console keymap – Fox Mar 6 '17 at 15:47
  • Live USB of Arch, so console. – Ricain Mar 6 '17 at 15:51
  • @Ricain The install is a full install. I just have a live USB installer lying around I can boot from if it would help fix it. It is present on a full install. I would edit /etc/vconsole.conf, but I cant get past the login screen, though I can decrypt it, as the decryption part does not use the console keymap. If there is anyway to mount it and edit vconsole.conf from a live USB that may work though. – jellyfishcoder Mar 6 '17 at 16:23

I actually fixed it kinda by accident. I messed up the boot loader trying to change it to boot by UUID rather than device identifier. That dropped it into a shell after it failed to get past mounting the fs. After that, I did cryptsetup open /dev/sda# then entered my password. Then, mkdir mountdir and mount /dev/vgcrypt/root --target mountdir. After that, I just edited mountdir/etc/vconsole.conf with vi and it works now.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.