# Terminal Tastaturbelegung verändert [SOLVED]

## Sumpfdrache

Guten Morgen,

hab nach einem etc-update die Tastaturbelegung meiner Terminals versaubeutelt.

Hab zwar Umlaute aber folgende Dinge gehen ums Verrecken nicht mehr:

-ENTF-Taste bringt ~

-Das gute <Anfang Befehl> + <PG-UP> funktioniert nicht mehr (ruft alle Befehle, die so anfangen auf)

Sowohl auf der Textconsole(F1-F6) als auch unter X(Eterm)

Meine Frage:

Welche Config-Dateien kommen für diese Einstellungen in Betracht??? Würde die gerne hier posten, aber auf welchem Dach steht die Kuh...???

Fragen über Fragen...

----------

## Earthwings

Schau mal in /etc/rc.conf nach

----------

## Sumpfdrache

Die Einträge in meiner rc.conf für die Tastatur sehen so aus:

```

KEYMAP="de-latin1-nodeadkeys"

SET_WINDOWKEYS="yes"

EXTENDED_KEYMAPS=

CONSOLEFONT="lat9w-16"

```

Die xorg.conf hat folgende Einträge:

```

Section "InputDevice"

    Identifier  "Keyboard[0]"

    Driver      "kbd"

    Option "AutoRepeat" "500 30"

    Option "XkbVariant" "nodeadkeys"

    Option "XkbLayout"  "de"

    Option "XkbModel"   "pc104"

EndSection

```

----------

## Sumpfdrache

Ich muß nochmal korrigieren, die Umlaute gehen auch nicht   :Confused: 

----------

## Sumpfdrache

Hier noch die Meldungen bzgl. Keyboard aus meiner Xorg.0.log:

```

(**) Option "CoreKeyboard"

(**) Keyboard[0]: Core Keyboard

(**) Option "Protocol" "standard"

(**) Keyboard[0]: Protocol: standard

(**) Option "AutoRepeat" "500 30"

(**) Option "XkbRules" "xorg"

(**) Keyboard[0]: XkbRules: "xorg"

(**) Option "XkbModel" "pc104"

(**) Keyboard[0]: XkbModel: "pc104"

(**) Option "XkbLayout" "de"

(**) Keyboard[0]: XkbLayout: "de"

(**) Option "XkbVariant" "nodeadkeys"

(**) Keyboard[0]: XkbVariant: "nodeadkeys"

(**) Option "CustomKeycodes" "off"

(**) Keyboard[0]: CustomKeycodes disabled

(II) XINPUT: Adding extended input device "Keyboard[0]" (type: KEYBOARD)

```

----------

## legine

Also ich habe auch keine ahnung worann es liegt, aber ich weiß etwas das man ausprobieren kann  :Smile: 

du benutzt noch den xfree keyboardtreiber kbd

Aus deiner konfig:

```
Driver      "kbd"
```

In der Howto Dokumentation steht allerdings ein anderer Treiber:

```
Driver    "keyboard"
```

Vieleicht hilft es das den Treiber zu tauschen?

----------

## Malaclypse

 *Sumpfdrache wrote:*   

> Die Einträge in meiner rc.conf für die Tastatur 
> 
> ```
> EXTENDED_KEYMAPS=
> ```
> ...

 

Kommentier das mal aus und log dich dann neu ein. Das hat bei mir geholfen.

----------

## Sumpfdrache

Hat leider beides nicht funktioniert  :Sad: 

Das Problem tritt auch ohne X in der nackten Konsole auf. Muß wohl irgendwas Fundamentales in der Konsolen-/Terminalkonfiguration sein...

Verdammter Mist!!! Ist mir schonmal passiert, hab deswegen neu installiert (Ja ich weiß, ist mit Atomraketen Flöhe gejagt...) und hab beim letzten etc-update fett jede Datei in /etc geprüft vorm Mergen.

Der macht bei der Installation alles gut und bei einem World-Update vergißt er, daß da diese Einstellung war, obwohl ich in der make.conf

```

LINGUAS=de

LANGUAGE=49

```

drin hab. Es ist echt zum jungen Hunde kriegen. Buuuuuuhuuuuuuuhuuuuuuuuuu!!!

----------

## legine

 *Quote:*   

> Das Problem tritt auch ohne X in der nackten Konsole auf.

 

Hmm, stimmt darauf müsst ich auch so draufkommen  :Sad: 

Also schauen wir mal ob wir dem ganzen nicht auf die spur kommen.

in:

```
/etc/init.d
```

muss es ein skribt geben das kpb oder keypoard heißt.

In diesen skripten steht dann die konfiguration irgendwo stehen:

```

/etc/rc.status

/etc/sysconfig/console

/etc/sysconfig/keyboard

```

das sind die skripte bei suse (hab gerade keine Gentoobox  :Sad:  )

schau mal ob es so etwas ähnliches gibt.

Hier auf der suse steht in dem /etc/sysconfig/keybord:

```
KEYTABLE="de-latin1-nodeadkeys.map.gz"
```

zumindest bei SuSe. Ich nehme an das es auf Gentoo ähnlich ist.  :Smile: 

Wenns hilft kannst du die Gentoo strukturen für nachfolgende Generationen Posten?

Gruß

----------

## c07

Klingt nach einem Problem in /etc/inputrc .

 *legine wrote:*   

> du benutzt noch den xfree keyboardtreiber kbd

 

IIRC ist kbd doch der neue (sowohl in XFree86 als auch xorg). Sagt zumindest auch man kbd.

BTW, deutsche pc104-Tastaturen gibts kaum. Normalerweise sind die pc102 oder pc105.

----------

## Sumpfdrache

@legine:

Soweit ich das überblicke müßten das unter Gentoo folgende Skripten sein:

```

/etc/init.d/consolefont

/etc/init.d/keymaps

```

@c07:

Darin stehen auf jeden Fall mal "hofnungsvolle" Schlüsselwörte:

```

# do not bell on tab-completion

#set bell-style none

set meta-flag on

set input-meta on

set convert-meta off

set output-meta on

# Completed names which are symbolic links to

# directories have a slash appended.

set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm

"\e[1~": beginning-of-line

"\e[4~": end-of-line

#"\e[5~": beginning-of-history

#"\e[6~": end-of-history

"\e[5~": history-search-backward

"\e[6~": history-search-forward

"\e[3~": delete-char

"\e[2~": quoted-insert

"\e[5C": forward-word

"\e[5D": backward-word

# for rxvt

"\e[8~": end-of-line

# for non RH/Debian xterm, can't hurt for RH/Debian xterm

"\eOH": beginning-of-line

"\eOF": end-of-line

# for freebsd console

"\e[H": beginning-of-line

"\e[F": end-of-line

$endif

# fix Home and End for German users

"\e[7~": beginning-of-line

"\e[8~": end-of-line

```

Leider brachte ein man inputrc, bzw. apropos inputrc keine weiteren Informationen. Könnte jemand mal das mit seiner inputrc vergleichen.

Zwischendurch schon mal ein fettes DANKE an alle Poster. Für so ne Resonanz zahlt man normalerweise fett Geld oder hat nen entsprechenden Support-Vertrag. Ist echt supergeil, das Einzige, was noch besser ist als Gentoo selbst ist die Community.

----------

## c07

Schaut normal aus. Könnte auch ein Problem mit terminfo sein. Ist 

```
echo $TERM $TERMINFO $INPUTRC
```

 ok? Im Zweifelsfall würd ich mal ncurses neu emergen, vielleicht auch noch readline und deine Shell, und danach etc-update gewissenhaft ausführen. Möglich wär auch noch, dass du groben Unfug in ~/.profile u.Ä. hast, aber das wüsstest du wahrscheinlich.

----------

## Sumpfdrache

Na ja was heißt ok  :Smile: 

 *Quote:*   

> 
> 
> echo $TERM $TERMINFO $INPUTRC
> 
> 

 

Bringt mir unter X ein

```

Eterm

```

auf der Konsole ein

```

linux

```

Das heißt also, daß nur die erste Umgebungsvariable, nämlich $TERM ausgegeben wird...hoppla? Die letzten zwei sind ja gar nicht gesetzt!!

Wird langsam spannend...HERR GIB MIR HIRN!!

Werd jetzt mal deine Ratschläge (r)emergen und schaun, was geht...

----------

## c07

Dass es TERMINFO nicht gibt, ist normal, aber INPUTRC wird normalerweise in /etc/profile gesetzt (außer du hast ein ~/.inputrc , und dann würd ich den Fehler mal dort suchen).

----------

## Sumpfdrache

Hab keine ~/.inputrc und in /etc/profile wird die globale inputrc nicht includiert (hab sie mal jedenfalls mit einem beherzten "/input" im vi nicht gefunden  :Embarassed:  )

Soll ich sie mal reinhauen, apropos, wenn ja wie und in welcher Form... :Smile: 

```

# /etc/profile:

# $Header: /var/cvsroot/gentoo-src/rc-scripts/etc/profile,v 1.26 2004/08/14 03:08:32 agriffis Exp $

#

# That this file is used by any Bourne-shell derivative to setup the

# environment for login shells.

# Load environment settings from profile.env, which is created by

# env-update from the files in /etc/env.d

if [ -e "/etc/profile.env" ]; then

        . /etc/profile.env

fi

# 077 would be more secure, but 022 is generally quite realistic

umask 022

# Set up PATH depending on whether we're root or a normal user.

# There's no real reason to exclude sbin paths from the normal user,

# but it can make tab-completion easier when they aren't in the

# user's PATH to pollute the executable namespace.

#

# It is intentional in the following line to use || instead of -o.

# This way the evaluation can be short-circuited and calling whoami is

# avoided.

if [ "$EUID" = 0 ] || [ "`/bin/whoami`" = 'root' ]; then

        PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"

else

        PATH="/bin:/usr/bin:${PATH}"

fi

export PATH

unset ROOTPATH

# Extract the value of EDITOR

[ -z "$EDITOR" ] && EDITOR="`. /etc/rc.conf 2>/dev/null; echo $EDITOR`"

[ -z "$EDITOR" ] && EDITOR="`. /etc/conf.d/basic 2>/dev/null; echo $EDITOR`"

[ -z "$EDITOR" ] && EDITOR="/bin/nano"

export EDITOR

if [ -n "${BASH_VERSION}" ]; then

        # Newer bash ebuilds include /etc/bash/bashrc which will setup PS1

        # including color.  We leave out color here because not all

        # terminals support it.

        if [ -f /etc/bash/bashrc ]; then

                # Bash login shells run only /etc/profile

                # Bash non-login shells run only /etc/bash/bashrc

                # Since we want to run /etc/bash/bashrc always we source it

                # from here.  It is unfortunate that there is no way to do

                # this *after* the user's .bash_profile runs (without putting

                # it in the user's dot-files), but it shouldn't make any

                # difference.

                . /etc/bash/bashrc

        else

                PS1='\u@\h \w \$ '

        fi

else

        # Setup a bland default prompt.  Since this prompt should be useable

        # on color and non-color terminals, as well as shells that don't

        # understand sequences such as \h, don't put anything special in it.

        PS1="`whoami`@`uname -n | cut -f1 -d.` \$ "

fi

```

----------

## c07

Du hast offenbar ein neueres baselayout als ich. Bei mir (orginal aus 1.9.4-r6) steht (gegen Ende) das drin:

```
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]

then

   export INPUTRC="/etc/inputrc"

fi
```

Weiß aber nicht, ob es was bringt. ~/.inputrc auf /etc/inputrc zu verlinken sollte den selben Effekt haben.

----------

## Sumpfdrache

Die Scheiße G E H T !!!

DANKE DANKE DANKE!!!

Das war's!! Du hast's gemacht!! Du bist mein Held!!

Hab's eingefügt und ein neues Eterm gestartet:

Alles geht!!! Umlaute, History...ALLES!!! DU GOTT!!!

Ich küss Dir die Füße!!!

Vielen vielen Dank!!!

Thanks c07 for pimping my Shell!!!

----------

## legine

Ha! Und was wars jetzt genau? würde mich interessieren?

----------

## c07

 *legine wrote:*   

> Ha! Und was wars jetzt genau? würde mich interessieren?

 

 *$PORTDIR/sys-apps/baselayout/ChangeLog wrote:*   

> - Related to bug 38955, don't set INPUTRC.  Instead patch bash so
> 
>     that it looks for /etc/inputrc automatically if ~/.inputrc is
> 
>     missing.  This is better than using INPUTRC since that will
> ...

 

Scheint aber aus irgendwelchen Gründen nicht immer zu klappen. Vielleicht sollte man den Bug wieder aufmachen.

----------

## Sumpfdrache

@legine:

 *Quote:*   

> 
> 
> Ha! Und was wars jetzt genau? würde mich interessieren?
> 
> 

 

Mit der inputrc kannst Du die Shell an Besonderheiten anpassen (Umlaute oder so). Da drin sind auch Einträge wie z. Bsp. die Historyfunktion drin. Damit sie Ausgewertet wird muß sie im globalen oder lokalen Profile eingebunden werden.

Als ich mein gutes Gentoo installiert hab war dieser Eintrag im globalen Profile:

```

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] 

 then 

    export INPUTRC="/etc/inputrc" 

fi

```

Da wird getestet...

1...ob die Umgebungsvariable $INPUTRC leer ist (-z)

2...und ob die Datei "$HOME/.inputrc" nicht existiert (-a Test auf Datei, ! Not-Operator, -f Test auf reguläre Datei)

Gibt es keine lokale inputrc im Homeverzeichnis, so erhält die Umgebungsvariable INPUTRC als Wert den Pfad zur globalen inputrc.

Innerhalb des globalen Profiles (/etc/profile) wird also nach einer inputrc gesucht, diese dann entsprechend (lokal oder global) gesetzt und ausgewertet. 

Jetzt mein Problem:

Ich hatte irgendeines schönen Tages ein World-Update gemacht und beim anschließenden etc-update unwissentlich mein globales Profile überschreiben lassen, in der genau dieser Eintrag nicht mehr drin war. Und -Peng- wurden dadurch diese kleinen aber feinen Einstellungen, wie ä/ö/ü, ENTF-Taste und History nicht mehr ausgelesen und deshalb hat meine Shell so dumm gemacht...

----------

## Sumpfdrache

@c07

 *Quote:*   

> 
> 
> Scheint aber aus irgendwelchen Gründen nicht immer zu klappen. Vielleicht sollte man den Bug wieder aufmachen.
> 
> 

 

Ist auf jeden Fall ne fiese kleine Sache, wenn man's nicht weiß, kann man sich den Wolf suchen und hier im Forum gibt's einige Threads zum Thema Terminal und Tastaturbelegung, die einen in alle möglichen Richtungen führen. 

Aber egal, hab viel gelernt und das da passiert mir nicht mehr....  :Laughing: 

----------

## legine

Ufff, danke. Ich werds mir mal aufschreiben  :Smile: 

Nun, ja letzendlich hat der Betonklotz es doch noch ins hirn geschafft  :Exclamation:   Danke für die ausführliche Beschreibung, woran es gelegen hat  :Very Happy: 

----------

