I have a fresh install of raspbian, and the keyboard is stuck on british. I saw some online tutorials for changing my keyboard settings, but they never seem to take effect. http://rohankapoor.com/2012/04/americanizing-the-raspberry-pi/

I have tried changing the locale, and reconfiguring the keyboard, using both the command line, and raspi-config. Neither is effective, and Im not sure why.

  • 3
    have you restarted your Pi? Have you tried this raspberrypi.stackexchange.com/questions/236/… Commented Sep 26, 2016 at 21:52
  • Yeah, I rebooted first, shutdown, updated, and run upgrade, and the condition remains.
    – j0h
    Commented Sep 27, 2016 at 4:08
  • 1
    And did you make the manual change to the file mentioned in the link I posted? Commented Sep 27, 2016 at 4:20
  • I tried those, and they don't seem to work. I just noticed, when I use the keyboard on the non-emulated terminals, the keyboard is fine. inside apps on the GUI, like the terminal emulator, and geany, its british.
    – j0h
    Commented Sep 27, 2016 at 4:53
  • Are you directly connected or using SSH Commented Sep 27, 2016 at 5:00

1 Answer 1


Directly connected. I actually just got it. I'm reluctant to say "figured it out." but I logged out, and looked at the other login session options. The greeter was set to EN_US.UTF-8 There were 3 options, "default", "OpenBox", and "LXDE". LXDE was what I was using by default, anyway, so I was curious why the default wasn't LXDE in the greeter menu.

So I switched it, and logged in. then, I went to the LXDE language settings and saw that despite being English in the Default session, the LXDE session had them as GB. So I changed them in LXDE, and now both sessions are behaving as expected.

I have no understanding why this happened.

I want to note that prior to being fixed the environmental variable $LANG == en_US.UTF-8, I tried: raspi-config, dpkg-reconfigure locales, reconfiguring the keyboard in X11 (as a last-ditch effort), editing /etc/default/keyboard, dpkg-reconfigure keyboard-configuration, with numerous shutdowns, reboots, to no avail.

Somewhere, there must be a session variable for language, that I had been missing. I logged back into the default session, and suddenly, it is changed there too.

This must be a glitch.

I guess the answer might be apply the changes, logout and log back in.

  • 1
    As a rule of thumb assume anything you do via raspi-config requires a reboot (some stuff may just require logging in and out, some may not require anything, but a lot of it really is reboot).
    – goldilocks
    Commented Sep 27, 2016 at 11:55
  • 2
    "This must be a glitch -> No, it's not uncommon for things to require you to log in and out again, especially if they involve shell variables. This is because shell variables are inherited from parent to child as copies. They're not singular globals on system/user wide level. If you log in and open two terminals, changing a variable in one does does not affect the other one...
    – goldilocks
    Commented Sep 27, 2016 at 12:01
  • ...Likewise, if you then open another terminal from the one with the change, in the new terminal, the variable will be what it was changed to (inherited), but if you then change it in either the parent or child terminal, it won't affect the other (because the value was copied, but the state of a copy is independent of the original). This is by intention and is more useful than doing it the other way around, but it has this side effect that things which depend on shell variables can't be universally reset unless you completely log out and back in again.
    – goldilocks
    Commented Sep 27, 2016 at 12:01
  • 1
    @goldilocks then why didn't rebooting work? why did I have to log out?
    – j0h
    Commented Sep 27, 2016 at 12:12
  • 1
    ...keep in mind the various bits of software are designed and implemented independently, so if someone decides they want to do something in a particular way (e.g, the LXDE devs) it is really up to the raspi-config maintainer to find out or notice, etc.
    – goldilocks
    Commented Sep 27, 2016 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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