• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Tastatureinstellung mit setxkbmap bleibt nach Reboot bestehen

abgdf

Guru
Hallo,

mein Problem besteht unter OpenSuSE 13.1 mit LXDE. Ich vermute, es dürfte auch in neueren Distributionen auftreten. Aber man sollte es sowieso nicht testen, weil man dann eben dieses Problem bekommt.
Also bitte vor allem dann antworten, wenn man ohne es zu testen eine Idee dazu hat.

Also: Für ein Spiel unter wine wollte ich die Tastaturbelegung temporär auf US-Englisch umschalten, ohne jedesmal Yast zu bemühen. Das ging mit
Code:
setxkbmap us
Zurück zu deutsch komme ich mit
Code:
setxkbmap de nodeadkeys
Soweit, so gut. Leider überlebt diese zweite Einstellung einen Reboot nicht. Bei jedem Neustart ist also wieder Englisch eingestellt, und ich muß die zweite Code-Zeile von Hand ausführen (was nervt).
Ich habe die Einstellung von Sprache und Systemtastatur in Yast erst auf Englisch, dann wieder zurück auf Deutsch gestellt: Ohne Wirkung.
Einstellungen in "/etc/sysconfig/keyboard" sind:
Code:
KEYTABLE="de-latin1-nodeadkeys.map.gz"
KBD_DELAY=""
KBD_RATE=""
KBD_NUMLOCK="bios"
KBD_SCRLOCK="no"
KBD_CAPSLOCK="no"
KBD_DISABLE_CAPS_LOCK="no"
KBD_TTY=""
COMPOSETABLE="clear latin1.add"
YAST_KEYBOARD="german,pc104"
In "/etc/X11/xorg.conf" ist auch alles auf Deutsch gestellt.

Besonders seltsam ist aber, daß ich die Code-Zeile in ein Autostartskript für LXDE gepackt habe, das auch startet, und dennoch fällt die Tastatureinstellung danach wieder auf Englisch zurück. Ich muß also trotzdem "setxkbmap de nodeadkeys" jedesmal nachträglich von Hand ausführen.
Wie könnte ich das noch automatisieren?
(Ich kann es in "~/.bashrc" reinschreiben, aber dann wird der Befehl jedesmal ausgeführt, wenn ich ein Terminal öffne, was dadurch langsamer wird. Ich brauche es ja nur einmal, und nicht dauernd.)
 
OP
A

abgdf

Guru
Hmm, wenn ich eine Datei "~/.xinitrc" mit einem Inhalt
Code:
exec setxkbmap de nodeadkeys
mache (das "exec" war von hier, aber ohne das ist es genauso), hängt das System im Login-Manager, und ich komme nicht in die grafische Oberfläche. Seltsam.
 
Probier in ~/.xinitrc
# loadkeys /usr/share/keymaps/i386/qwertz/de.map.gz

Voher pfad und file auf Richtigkeit kontrollieren.
 

josef-wien

Ultimate Guru
Soweit ich mich an openSUSE zurückerinnere, ersetzt eine benutzerspezifische .xinitrc die systemweite xinitrc, d. h. sie muß alle notwendigen Anweisungen enthalten. Du kannst ja einmal die Dateien in /etc/X11 diesbezüglich analysieren.
 
OP
A

abgdf

Guru
josef-wien schrieb:
Soweit ich mich an openSUSE zurückerinnere, ersetzt eine benutzerspezifische .xinitrc die systemweite xinitrc, d. h. sie muß alle notwendigen Anweisungen enthalten. Du kannst ja einmal die Dateien in /etc/X11 diesbezüglich analysieren.
Ok, "/etc/X11/xinit/xinitrc" angesehen und gemerkt, daß man die kopieren kann. Nach ~ kopiert. System startet.
Gräfin Klara schrieb:
Probier in ~/.xinitrc
# loadkeys /usr/share/keymaps/i386/qwertz/de.map.gz

Voher pfad und file auf Richtigkeit kontrollieren.
Ok, die Zeile heißt bei mir:
Code:
loadkeys /usr/share/kbd/keymaps/i386/qwertz/de-latin1-nodeadkeys.map.gz
In "~/.xinitrc" an verschiedenen Stellen eingefügt. Keyboard-Layout nach wie vor per default US-Englisch. :(
Gemerkt, daß der Befehl root-Rechte braucht. "~/.xinitrc" wieder gelöscht und den Befehl direkt in "/etc/X11/xinit/xinitrc" geschrieben (an verschiedenen Stellen). Keine Wirkung.

Die Autostart-Skripte von LXDE starten ja sehr spät, wahrscheinlich später als xinit. Dennoch stellt danach irgendwas das wieder zurück. Vielleicht was in LXDE.

Trotzdem vielen Dank für eure Unterstützung!
 
Oben