# Tastatur Layout - Umlaute, Z und Y getauscht.

## cmorais

Hallo an alle,

bin nich ziemlich noob was linux betrifft. Ich weiß nicht was ich falsch mache aber ich bekomme mein Tastaturlayout nicht hin. Ich hatte dieses problem noch nie und bräuchte Unterstützung.

Wie im Titel beschrieben funktionieren die Umlaut Tasten nicht bzw. im Terminal. Im browser und anderen GUI Anwendungen funktionieren Sie aber. Sowohl in GUI Anwendungen und im Terminal sind auch y und z getauscht. 

Ein Beispiel:

Wenn ich "ä" drücke sehe im terminal nur <ffffffff><ffffffff><ffffffff><ffffffff>

Hier Meine Configs:[/bug]

```

cmorais@gentoo: ~

$ locale                                                      [14:51:11]

LANG=de_DE.UTF-8

LC_CTYPE=de_DE.UTF-8

LC_NUMERIC="de_DE.UTF-8"

LC_TIME="de_DE.UTF-8"

LC_COLLATE=C

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=

```

```

[localectl                                                   [14:51:12]

   System Locale: LANG=de_DE.UTF-8

       VC Keymap: n/a

      X11 Layout: de-latin1

```

```

sudo cat /etc/X11/xorg.conf.d/00-keyboard.conf              [16:05:57]

# Written by systemd-localed(8), read by systemd-localed and Xorg. It's

# probably wise not to edit this file manually. Use localectl(1) to

# instruct systemd-localed to update it.

Section "InputClass"

        Identifier "system-keyboard"

        MatchIsKeyboard "on"

        Option "XkbLayout" "de-latin1"

EndSection

```

Meine make.conf

```

# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

COMMON_FLAGS="-march=native -O2 -pipe"

CFLAGS="${COMMON_FLAGS}"

CXXFLAGS="${COMMON_FLAGS}"

FCFLAGS="${COMMON_FLAGS}"

FFLAGS="${COMMON_FLAGS}"

MAKEOPTS="-j3"

INPUT_DEVICES="libinput synaptics"

VIDEO_CARDS="nouveau"

FEATURES="ccache"

CCACHE_DIR="/var/cache/ccache"

ACCEPT_LICENSE="-* @FREE"

# NOTE: This stage was built with the bindist Use flag enabled

PORTDIR="/usr/portage"

DISTDIR="/usr/portage/distfiles"

PKGDIR="/usr/portage/packages"

# This sets the language of build output to English.

# Please keep this setting intact when reporting bugs.

LC_MESSAGES=C

USE="i3 64bit nls amd64 curl alsa network ipc i3wm mpd profile hscolour python3 -libressl python idna"

LINGUAS="de"

L10N="de"

GENTOO_MIRRORS="https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ rsync://mirror.eu.one

andone.net/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.netcologne.de/gentoo/ https://mirror.netcologne.de/gentoo/ http://mirror.netcologne.de/gent

oo/ rsync://mirror.netcologne.de/gentoo/ https://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ https://ft

p.halifax.rwth-aachen.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.halifax.rwth-aachen.de/gentoo/ rsync://ftp.halifax.rwth-aachen.de/gentoo/ https://ftp

.fau.de/gentoo http://ftp.fau.de/gentoo ftp://ftp.fau.de/gentoo rsync://ftp.fau.de/gentoo https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://ftp-stud.hs-esslinge

n.de/pub/Mirrors/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp-stud.hs-esslingen.de/gentoo/"

```

Vielen Dank!Last edited by cmorais on Fri Jul 05, 2019 2:06 pm; edited 3 times in total

----------

## Max Steel

Wie ist die Einstellung in deiner DE Einstellung?

systemsettings -> Keyboard für KDE z.B.

----------

## cmorais

 *Max Steel wrote:*   

> Wie ist die Einstellung in deiner DE Einstellung?
> 
> systemsettings -> Keyboard für KDE z.B.

 

Danke für deine Antwort. 

Ich benutze gerade i3-gapps. Das einzige was ich hier habe ist der Lxpanel mit dem Keyboard panel item.

Da sind die Einstellungen:

Keyboard Model "pc105"

Keyboard Layouts: DE

Advanced setxbkmap Options: de

----------

## toralf

Sieht dies hier bei Dir auch in etwas so so aus?:

```
~ $ grep ^keymap /etc/conf.d/keymaps 

keymap="de-latin1-nodeadkeys"

~ $ locale -a

C

C.utf8

en_US

en_US.iso88591

en_US.utf8

POSIX

```

----------

## cmorais

 *toralf wrote:*   

> Sieht dies hier bei Dir auch in etwas so so aus?:
> 
> ```
> ~ $ grep ^keymap /etc/conf.d/keymaps 
> 
> ...

 

Hallo!

mein Output sieht so aus:

```

C

POSIX

de_DE

de_DE.iso88591

de_DE.utf8

```

[/bug]

----------

## toralf

Ich weiß es jetzt auch nicht so genau, aber ich würde 

```

LINGUAS="de"
```

aus der make.conf rausnehmen, denn ich glaube, der Eintrag ist veraltet.

Dann würde ich in /etc/locale.gen die englischen Einstellungen sicherheitshalber auch definieren und 

```
locale-gen
```

laufen lassen. Und bitte schau doch noch mal in die /etc/conf.d/keymaps .

----------

## cmorais

 *toralf wrote:*   

> Ich weiß es jetzt auch nicht so genau, aber ich würde 
> 
> ```
> 
> LINGUAS="de"
> ...

 

Hi, 

ich habe den LINGUAS="de" Eintrag rausgenommen, 

zu deiner Anfrag:

```

$ sudo cat /etc/conf.d/keymaps                                [12:14:16]

# Use keymap to specify the default console keymap.  There is a complete

tree

# of keymaps in /usr/share/keymaps to choose from.

keymap="de"

keymap="de-latin1"

Keymap="de-latin1-nodeadkeys"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

# Loading this keymap will enable VT switching (like ALT+Left/Right)

# using the special windows keys on the linux console.

windowkeys="YES"

# The maps to load for extended keyboards.  Most users will leave this as is.

extended_keymaps=""

#extended_keymaps="backspace keypad euro2"

# Tell dumpkeys(1) to interpret character action codes to be

# from the specified character set.

# This only matters if you set unicode="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

dumpkeys_charset=""

# Some fonts map AltGr-E to the currency symbol instead of the Euro.

# To fix this, set to "yes"

fix_euro="NO"

```

```

$ sudo cat /etc/locale.gen                                                                                                                  [12:15:36]

# /etc/locale.gen: list all of the locales you want to have on your system.

# See the locale.gen(5) man page for more details.

#

# The format of each line:

# <locale name> <charset>

#

# Where <locale name> starts with a name as found in /usr/share/i18n/locales/.

# It must be unique in the file as it is used as the key to locale variables.

# For non-default encodings, the <charset> is typically appended.

#

# Where <charset> is a charset located in /usr/share/i18n/charmaps/ (sans any

# suffix like ".gz").

#

# All blank lines and lines starting with # are ignored.

#

# For the default list of supported combinations, see the file:

# /usr/share/i18n/SUPPORTED

#

# Whenever glibc is emerged, the locales listed here will be automatically

# rebuilt for you.  After updating this file, you can simply run `locale-gen`

# yourself instead of re-emerging glibc.

de_DE.UTF-8

#en_US ISO-8859-1

##en_US.UTF-8 UTF-8

##ja_JP.EUC-JP EUC-JP

##ja_JP.UTF-8 UTF-8

##ja_JP EUC-JP

##en_HK ISO-8859-1

##en_PH ISO-8859-1

de_DE ISO-8859-1

de_DE@euro ISO-8859-15

##es_MX ISO-8859-1

##fa_IR UTF-8

##fr_FR ISO-8859-1

##fr_FR@euro ISO-8859-15

```

Ich habe leider nicht verstanden was du meintest mit "Dann würde ich in /etc/locale.gen die englischen Einstellungen sicherheitshalber auch definieren "

----------

## toralf

 *cmorais wrote:*   

> 
> 
> ```
> $ sudo cat /etc/conf.d/keymaps                                [12:14:16]
> 
> ...

 Die letzte Zeile reicht, 

```
keymap="de"

keymap="de-latin1"
```

werden durch den folgenden Eintrag jeweils überschrieben und sind unwirksam.

 *cmorais wrote:*   

> 
> 
> ```
> #en_US ISO-8859-1
> 
> ...

 Nimm einfach die Kommentarzeichen vor den englischen Einträgen weg und laß als root 

```
locale-gen
```

einmal durchlaufen, danach evtl. noch mal booten.

----------

## cmorais

 *toralf wrote:*   

>  *cmorais wrote:*   
> 
> ```
> $ sudo cat /etc/conf.d/keymaps                                [12:14:16]
> 
> ...

 i

Bin deinen Angaben gefolgt, wenn ich locale-gen ausühre bekomme ich ein paar fehler:

```

sudo locale-gen

 * Generating 5 locales (this might take a while

 *  (4/5) Generating en_US.ISO-8859-1 ...

failed to set locale!

[error] character map file `en_US.UTF-8' not fou

tory

failed to set locale!

[error] cannot open locale definition file `ISO-

directory

 *  (3/5) Generating de_DE.ISO-8859-15@euro ...

failed to set locale!

[error] character map file `en_US' not found: No

failed to set locale!

[error] cannot open locale definition file `ISO-

 directory

 *  (1/5) Generating de_DE.ISO-8859-1 ...

 * Bad entry in locale.gen: 'UTF-8 '; skipping

 *  (5/5) Generating en_US.UTF-8 ...

failed to set locale!

[error] character map file `C.UTF-8' not found:

failed to set locale!

[error] cannot open locale definition file `UTF-

tory

 *  (2/5) Generating de_DE.UTF-8 ...

failed to set locale!

[error] character map file `de_DE@euro' not foun

ory

 * Generation complete

 * Adding locales to archive ...

incomplete set of locale files in "//usr/lib64/l

incomplete set of locale files in "//usr/lib64/l

incomplete set of locale files in "//usr/lib64/l

```

[/bug]

----------

## Max Steel

das sieht  so aus als sei etwas bei der Installation von glibc schief gelaufen oO

remerge das mal emerge -1 glibc

dann habe ich z.B. nur 1 englishe dafür alle deutschen locales

```
de_DE.UTF-8 UTF-8

de_DE@euro ISO-8859-15

de_DE ISO-8859-1

en_US.UTF-8 UTF-8
```

----------

## cmorais

 *Max Steel wrote:*   

> das sieht  so aus als sei etwas bei der Installation von glibc schief gelaufen oO
> 
> remerge das mal emerge -1 glibc
> 
> dann habe ich z.B. nur 1 englishe dafür alle deutschen locales
> ...

 

Servus!

ich habe emerge-1 glibc probiert, ist aber alles beim selben.

----------

## mike155

Deine erste Ausgabe der Datei "/etc/locale.gen" enthält einen Fehler. Der Eintrag "de_DE.UTF-8" ist nicht erlaubt. Erlaubt sind nur die Einträge, die Du in der Datei "/usr/share/i18n/SUPPORTED" findest.

Dieser Fehler führt genau zu den Fehlermedlungen bei 'locale-gen', die Du gepostest hast.

Bitte entferne in der Datei "/etc/locale.gen" alle Zeilen unterhalb der Anleitung und schreibe folgende Zeilen rein:

```
en_US ISO-8859-1

en_US.UTF-8 UTF-8

de_DE ISO-8859-1

de_DE@euro ISO-8859-15

de_DE.UTF-8 UTF-8

```

Dann rufe bitte noch einmal 

```
locale-gen
```

als "root" auf. "locale-gen" sollte dann ohne Fehler durchlaufen, richtig?

----------

## cmorais

 *mike155 wrote:*   

> Deine erste Ausgabe der Datei "/etc/locale.gen" enthält einen Fehler. Der Eintrag "de_DE.UTF-8" ist nicht erlaubt. Erlaubt sind nur die Einträge, die Du in der Datei "/usr/share/i18n/SUPPORTED" findest.
> 
> Dieser Fehler führt genau zu den Fehlermedlungen bei 'locale-gen', die Du gepostest hast.
> 
> Bitte entferne in der Datei "/etc/locale.gen" alle Zeilen unterhalb der Anleitung und schreibe folgende Zeilen rein:
> ...

 

Hallo Mike!

Danke für deine Antwort, das ändern von "de_DE.UTF-8" auf "de_DE.UTF-8 UTF-8" hat das problem gelöst.

Locle-gen läuft ohne Fehler und nun habe ich auch Umlaute im Terminal.

Danke dir!

----------

## toralf

Nur der Vollständigkeit halber: Für systemd ist etwas in dieser Art noch notwendig:

```
echo 'LANG="en_US.UTF-8"' > /etc/locale.conf
```

----------

## mike155

 *toralf wrote:*   

> Nur der Vollständigkeit halber: Für systemd ist etwas in dieser Art noch notwendig:
> 
> ```
> echo 'LANG="en_US.UTF-8"' > /etc/locale.conf
> ```
> ...

 

Bei mir steht in dieser Datei:

```
# Configuration file for eselect

# This file has been automatically generated.

LANG="en_US.utf8"

LC_COLLATE="C"

```

Also vermutlich sollte man nicht direkt in diese Datei schreiben, sondern sie mit 

```
eselect locale list

eselect locale set <N>
```

erstellen und ändern?

----------

## toralf

Richtig, besser ist eselect, wobei bei mir nur dies hier drin steht:

```
$> rm /etc/locale.conf 

$> eselect locale set en_US.UTF-8

Setting LANG to en_US.UTF-8 ...

Run ". /etc/profile" to update the variable in your shell.

$> cat /etc/locale.conf

# Configuration file for eselect

# This file has been automatically generated.

LANG="en_US.UTF-8"

```

----------

## mike155

Ja, vermutlich weil "eselect locale set" zuerst den LANG Eintrag in der Datei "/etc/env.d/02locale" updated und dann env-update ausführt. Und an "/etc/env.d/02locale" habe ich bei mir noch ein  LC_COLLATE="C" hinzugefügt.

Ich habe mir das noch einmal angesehen. Es ist etwas anders:

"eselect locale set" updated den Eintrag LANG in der Datei /etc/env.d/02locale. Wenn weitere Einträge in dieser Date stehen, bleiben sie erhalten. Bei mir ist das beispielsweise der LC_COLLATE Eintrag, den ich selbst dort hereingeschrieben habe.

Danach ruft "eselect locale set" tatsächlich "env-update" auf. Dadurch entstehen die Dateien "/etc/ld.so.cache", "etc/profile.env" und "/etc/csh.env" - NICHT jedoch die Datei "/etc/locale.conf".

"eselect locale set" fasst die Datei "/etc/locale.conf" gar nicht an! Es gibt aber einen Grund, warum toralfs Beispiel funktioniert und auch bei mir nach einem "eselect locale set" die richtigen Werte in "/etc/locale.conf" stehen: "/etc/env.d/02locale" ist ein Link auf "/etc/locale.conf"  :Smile: 

----------

