Permanently change default language and keyboard settings - what am I missing?

214,400

Solution 1

You might try to add the boot parameters of debian-installer/keymap=de and keymap=de.

Also, the answer at the thread Keyboard layout HELP says :

  1. Go to the webmin and do this SYSTEM -> SOFTWARE PACKADGES -> UPGRADE ALL

  2. (I don't recall if the order was this) Go to the console and do the following:

    apt-get install console-data
    apt-get install console-setup
    apt-get install console-locales
    apt-get install keyboard-configuration

  3. Do the dpkg-reconfigure for each of the packets above. REBOOT.

So maybe your problem is that you haven't done all of them before rebooting.

Solution 2

After dpkg-reconfigure keyboard-configuration, you need to run

setupcon
NAME
       setupcon - sets up the font and the keyboard on the console

SYNOPSIS
       setupcon [OPTION]... [VARIANT]

DESCRIPTION
       setupcon  is a program for fast and easy setup of the font and the key‐
       board on the console.  Most of the time  you  invoke  setupcon  without
       arguments.   The  keyboard configuration is specified in ~/.keyboard or
       /etc/default/keyboard.  The font configuration is specified in  ~/.con‐
       sole-setup or /etc/default/console-setup.  Consult keyboard(5) and con‐
       sole-setup(5) for instructions how to configure these two files.

Solution 3

On Stretch you'll need console-setup (in addition to keyboard-configuration), which includes the necessary systemd-service keyboard-setup:

apt-get install keyboard-configuration console-setup

Solution 4

The solution for me was to comment out all the locale relevant variables at /etc/profile

#export LANG="de_DE.utf8"
#export LANGUAGE="de_DE.utf8"
#export LC_ALL="de_DE.utf8"

(I wanted to get rid off the German :))

and then set my locale as I wish within /etc/default/locale

The debian wiki page https://wiki.debian.org/Locale was the most helpfull document I found.

Solution 5

dpkg-reconfigure keyboard-configuration
udevadm trigger --subsystem-match=input --action=change
Share:
214,400
Rob
Author by

Rob

"I love deadlines. I like the whooshing sound they make as they fly by." Douglas Adams

Updated on September 18, 2022

Comments

  • Rob
    Rob almost 2 years

    I'm trying to configure a Debian Linux (ARMHF 3.8.13-bone20) on a BeagleBone Black to use German as the default language and keyboard layout, which does not work, and I can't see why. I'm talking about the console settings, not X or Gnome etc. Here are my settings and what I did so far:

    dpkg-reconfigure locales
    

    Here I chose de_DE.UTF-8 UTF-8 and unselected en_US.UTF-8 UTF-8.

    Output from locale:

    LANG=de_DE.UTF-8
    LANGUAGE=de_DE.UTF-8
    LC_CTYPE="de_DE.UTF-8"
    LC_NUMERIC="de_DE.UTF-8"
    LC_TIME="de_DE.UTF-8"
    LC_COLLATE="de_DE.UTF-8"
    LC_MONETARY="de_DE.UTF-8"
    LC_MESSAGES="de_DE.UTF-8"
    LC_PAPER="de_DE.UTF-8"
    LC_NAME="de_DE.UTF-8"
    LC_ADDRESS="de_DE.UTF-8"
    LC_TELEPHONE="de_DE.UTF-8"
    LC_MEASUREMENT="de_DE.UTF-8"
    LC_IDENTIFICATION="de_DE.UTF-8"
    LC_ALL=
    

    Content of /etc/default/locale:

    LANG=de_DE.UTF-8
    LANGUAGE=de_DE.UTF-8
    

    Content of /etc/default/keyboard:

    # KEYBOARD CONFIGURATION FILE
    # Consult the keyboard(5) manual page.
    XKBMODEL="pc105"
    XKBLAYOUT="de"
    XKBVARIANT="nodeadkeys"
    XKBOPTIONS="terminate:ctrl_alt_bksp"
    BACKSPACE="guess"
    

    I ran setupcon after making these settings and it didn't change anything, the layout still was en_US.

    After that, I ran

    dpkg-reconfigure keyboard-configuration
    

    and set German - no dead keys as keyboard layout. Still no change, neither at once nor after a reboot.

    Next, I tried

    dpkg-reconfigure console-data
    

    Here I chose

    Choose layout from entire list
    

    and then

    pc / quertz / German / Standard / latin1 - no dead keys
    

    The output after that was:

    Looking for keymap to install:
    de-latin1-nodeadkeys
    #
    

    At this moment, the correct keyboard layout is present, but unfortunately things revert to the English (US) keyboard layout after reboot.

    What can I do to permanently change the keyboard layout? As far as I can see the correct keymap must be present as it can get loaded, but only until the next reboot. What am I missing here?

    Update: When connecting via SSH the German keymap gets loaded.

    • SDsolar
      SDsolar almost 7 years
      This question is from 2 years and 9 months ago and it is still happening to me in July 2017. Has anyone actually solved this? It is annoying that I keep getting set back to the gb keyboard. Not that big a deal since for me that means the " and @ get reversed. I can live with that. Going in through the GUI fixes it until the next (very rare) power recycle as I back up the SD card. I echo the clue in the update: This only happens to the one RPi where I have a keyboard and monitor. It never happens when I use RDP. I don't see an accepted answer so I guess we're left to just deal with it.
    • ARNAB
      ARNAB over 3 years
      2020 and getting this only now.
  • Suzana
    Suzana about 9 years
    This didn't work for me (on Ubuntu 12.04), I have to run dpkg-reconfigure keyboard-configuration after every reboot.
  • ASA
    ASA about 9 years
    On Raspbian I just had to install console-data and then selected pc/quertz/German/Standard/latin1 and everything works.
  • Mokubai
    Mokubai over 7 years
    While these commands look like they might achieve something that the asker wants, it would be good to add a brief description of why they would do so.
  • ryancey
    ryancey over 6 years
    Should be the accepted answer, simple and effective.
  • ribamar
    ribamar over 6 years
    does not work for me (debian stretch 9.1.0).
  • ribamar
    ribamar over 6 years
    does not work for me (debian stretch 9.1.0).
  • ribamar
    ribamar over 6 years
    does not work for me (debian stretch 9.1.0).
  • Ikem Krueger
    Ikem Krueger over 6 years
    You misspelled "packages".
  • harrymc
    harrymc about 6 years
    @IkemKrueger: This is in the original quote, 8 years ago.
  • Welgriv
    Welgriv almost 4 years
    Got the issue and find this post but there is still no solution :/ This does not work.
  • ARNAB
    ARNAB over 3 years
    This doesnt work long term if it's not already working. the udevadm just triggers the config change without a reboot.
  • ARNAB
    ARNAB over 3 years
    locale and keyboard layout are not one of the same.
  • Alex
    Alex over 3 years
    Works on Debian 9.13
  • matpop
    matpop over 3 years
    I think this one is the most general/useful answer... console-setup is the key