With the addition of the new keyboard/language indicator in Ubuntu 13.10, a new issue seem to have cropped up in Ubuntu. If you are using a keyboard other than English (US), there are several cases where the system defaults to the US keyboard layout at every login. Manually setting the keyboard back is a big annoyance. I use English (UK) keyboard, and this annoyed me severely. I finally found a fix; 3 easy steps.
You can easily fix this keyboard issue from the command line.
The CLI way
1. Make the backup of following two directories:
cp -R ~/.gconf/desktop/gnome/accessibility/keyboard/ ~/.gconf/desktop/gnome/accessibility/backup_keyboard
cp -R ~/.gconf/desktop/gnome/peripheral/keyboard/ ~/.gconf/desktop/gnome/peripherals/backup_keyboard
2. Then remove the original two directories:
rm -r ~/.gconf/desktop/gnome/accessibility/keyboard/ ~/.gconf/desktop/gnome/peripherals/keyboard/
3. Log out and log in
You should get a new keyboard settings.
The GUI way
For the terminal-phobics, you can do this the GUI way as well. Just follow the steps belows
1. open Nautilus(FIles) from Dash and press Ctrl+L
2. paste ~/.gconf/desktop/gnome/accessibility/ in the location bar and press enter
3. right click on keyboard folder and select rename; rename it backup_keyboard
4. now go back one folder to ~/.gconf/desktop/gnome/peripheral/
5. right click on keyboard folder and select rename; rename it backup_keyboard
6. log out and login
Update for 14.04
Looks like in Ubuntu 14.04, the keyboard settings have been changed. I faced this issue recently and a number of readers also complained that the above steps are not working in Ubuntu 14.04. So after digging through , I found the steps
- Remove .cache/ibus .config/ibus and .config/dconf from your home directory and reboot
rm -rf .cache/ibus .config/ibus .config/dconf
If the above step does not change the settings, you may have to remove .config .local .cache and .fontconfig folders from your home directory. Please remember, removing the .config and .local folder will reset your customisations to Unity completely. This step, however, will not result in any data loss.
Thanks to Saurav Kumar