Can't change the keyboard layout on Centos 7

Solution 1:

That functionality appears to be in systemd now. To list the current locale information:

# localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

To list the available keymaps:

# localectl list-keymaps | grep no
de-latin1-nodeadkeys
et-nodeadkeys
mac-de-latin1-nodeadkeys
no
no-dvorak
no-latin1
sunt4-no-latin1

To set the keymap (taking a guess here on which you want):

# localectl set-keymap no
# localectl set-x11-keymap no

There's more information available in Red Hat's documentation. Good luck! https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/s1-Changing_the_Keyboard_Layout.html

Solution 2:

While Boscoe's answer is completely right and relevant, the relevant settings are stored in /etc/vconsole.conf:

KEYMAP=us  # or whatever

and in /etc/X11/xorg.conf.d/00-keyboard.conf:

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "us"
EndSection

You might be interested in being able to input in multiple languages. A detailed answer for that can be found here.

Also/etc/locale.conf:

LANG="en_US.UTF-8"

Tags:

Centos