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

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:

dpkg-reconfigure keyboard-configuration
udevadm trigger --subsystem-match=input --action=change