Recently upgraded from 17.04 to 17.10 and I can't seem to find a way to set my keyboard layout at the new login screen. I have set the input method to dvorak within the settings>region+language option, and it works fine when logged in, but whenever I log out it defaults to qwerty and I have to bring up the on screen keyboard to input my password.

Anyone know how to set this properly?


If your changes are not effective for the login screen too, you have probably more than one user account on the system. But in that case, the Settings -> Region & Language window includes a "Login Screen" button. Clicking that button switches the mode, so you can control the login screen values separately.

enter image description here

  • 4
    I only have the one user account on this system, and do not have that button in my settings. – cgate Nov 14 '17 at 0:25
  • @cgate: Then are you sure that the settings you made from the GUI were not already effective on the login screen? Did you reboot to check? – Gunnar Hjalmarsson Nov 14 '17 at 1:05
  • Correct, changes made within the GUI were ineffective after both logout and reboot. I have fixed it using your CLI method above though. – cgate Nov 14 '17 at 13:18
  • @cgate: Ok, thanks. I'd like to understand why... – Gunnar Hjalmarsson Nov 14 '17 at 13:39
  1. Find the codes of the desired language layouts in the /usr/share/X11/xkb/rules/base.lst file under the section named ! layout.
  2. Use the localectl tool to change the system keyboard layout settings as follows:

    localectl set-x11-keymap layout

  3. Log out to find that the defined layouts are available at the top bar on the login screen.

For more information check here.

  • Tried this, using the command "localectl set-x11-keymap dvorak" found no change at login screen, still qwerty only. – cgate Nov 14 '17 at 0:23
  • 1
    @cgate: Try this: localectl set-x11-keymap us,us pc105 dvorak, (I have to say that the linked docs page is not complete.) – Gunnar Hjalmarsson Nov 14 '17 at 1:03
  • 1
    This has done the trick. Thanks. Would you mind explaining what the "us,us pc105" part does though? does dvorak need to be defined as a subset of the us layout? – cgate Nov 14 '17 at 13:14
  • 1
    @cgate: I'd suggest that you look at the /etc/default/keyboard file to study the result of the command. As you can see there, dvorak is a variant of the us layout. You can also run man localectl to see the documentation of the localectl command. – Gunnar Hjalmarsson Nov 14 '17 at 13:38

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.