LXDE - deutsche Tastatur will nicht funktionieren

mameko

Member
Ich habe hier gesucht, bin aber leider nicht fündig geworden.
Ich habe FreeBSD ganz neu installiert. Bisher benutzte ich den Gnome3 Desktop. Dieses Mal möchte ich aber ein schlankes System und habe mich für LXDE entschieden.
Wie auf der Seite https://mekomonline.de/blog/18-01-2020-freebsd-auf-deutsch-umstellen.md beschrieben ist, habe ich auch LXDE auf deutsch umgestellt. Das klappt prima. Ich musste nur die Passage

X11 in der /usr/local/etc/X11/xorg.conf

Section "InputClass"
# generated from default
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbLayout" "de"
MatchIsKeyboard "on"
EndSection

auslassen, da ich keine xorg.conf habe/benutze. Ich habe nur einen leeren Ordner xorg.conf.d.
Das führt aber dazu, dass die Tastatur in Xorg immer noch nicht deutsch ist. Ich behelfe mich mit
Dazu starte ich
xbrightness 35000
da mir der Desktop zu hell ist und ich keine Fn-Tasen benutzen kann (Laptop).

Ich möchte gerne bei Login und automatischem Start von LXDE (gestartet durch Slim) beide Befehle automatisch ausgeführt haben. Als shell benutze ich sh.
Ich hätte gerne einen kleinen Tipp, wie ich das nun machen kann.

Grüße!
 

midnight

OpenBSD & FreeBSD
Probiere mal, die o.g. Befehle in die ~/.xinitrc zu packen.

Beispiel einer ~/.xinitrc
Code:
xset -b
setxkbmap de
xbrightness 35000
exec startlxde
 

datasmurf

Well-Known Member
Hi,

du kannst im Verzeichnis xorg.conf.d eine Datei bspw. keyboard.conf erstellen. Alles was in diesem Verzeichnis auf *.conf endet, wird eingelesen und nach Möglichkeit angewandt beim Start von X11.

Bei mir bspw.

/etc/X11/xorg.conf.d
Code:
├── [-rw-r--r-- root     wheel     651]  card.conf
├── [-rw-r--r-- root     wheel     317]  keyboard.conf
├── [-rw-r--r-- root     wheel     181]  layout.conf
├── [-rw-r--r-- root     wheel      56]  modules.conf
├── [-rw-r--r-- root     wheel     231]  mouse.conf
├── [-rw-r--r-- root     wheel     185]  screen.conf

cat keyboard.conf
Code:
Section "InputClass"
        Identifier "Keyboard0"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us(alt-intl),de"
        Option "XkbModel" "pc86"
        Option "XkbVariant" "us(alt-intl)"
        Option "XkbOptions" "grp:shifts_toggle"
EndSection
 

Photor

Well-Known Member
Moin,

ich hatte ein ähnliches Problem für den XFCE: irgendwo und -wie gab es einen Hänger zwischen DM (verschiedene probiert) und DE (in dem Fall XFCE). Beim Login war das DE-Layout geladen (mein Passwort enthält ein Zeichen, das darauf reagieren würde); auf dem Desktop war es weiterhin US- im Terminal-Fenster DE- (weil die Shell ihr eigenes .profile, .bashrc, .zshrc etc mitbringt); sehr verwirrend.

Als Work-around habe ich einfach das Keyboard-Plugin für XFCE installiert (das mache ich sowieso, um zwischen US- und DE-Layout umzuschalten). Das wird in der Leiste oben auto-gestartet und stellt mir initial DE-Layout ein. Mehr brauche ich erstmal nicht.

Keine Ahnung, ob LXDE ein entsprechendes Tool mitbringt.

Ciao,
Photor
 

mr44er

moderater Moderator
Teammitglied
.login_conf
Code:
me:\
        :charset=UTF-8:\
        :lang=de_DE.UTF-8:

Versuch' das mal sorum. Ich weiß jetzt aber nicht, was LXDE respektiert oder gar überbügelt. Ich nutze mate und da kann man über das Kontrollzentrum das Layout einfach ändern.
 

Anhänge

  • belegung.png
    belegung.png
    37,6 KB · Aufrufe: 53

datasmurf

Well-Known Member
Terminal-Fenster DE- (weil die Shell ihr eigenes .profile, .bashrc, .zshrc etc mitbringt); sehr verwirrend.

Die Shell Konfiguration(s) Dateien haben damit nichts zu tun. Es werden die Umgebungsvariablen/Einstellungen gesetzt.
Bspw. $PATH[*].

Wenn auf dem Terminal keine bspw. Umlaute angezeigt werden man es aber gerne möchte, kann man kurzfristig[1].

Code:
setenv LC_ALL de_DE.UTF-8

eingeben und langfristig bspw. die Login Klasse des Benutzers anpassen.

/etc/login.conf
Code:
german|German User Accounts:\
        :charset=UTF-8:\
        :lang=de_DE.UTF-8:\
        :lc_all=de_DE.UTF-8:\
        :tc=default:
Code:
cap_mkdb -f /etc/login.conf
pw usermod $BENUTZERNAME -L german

Das Tastaturlayout wird entweder durch den X11 Server gesetzt, dem DE und/oder steht in der rc.conf als

Code:
keymap="us.unix"

Das für die virtuellen /dev/tty* sprich vt gilt.

Das kann auf einem vt terminal mit

Code:
kbdcontrol -l /usr/share/vt/keymap/de.kbd

Direkt geändert werden es gibt auch ein TUI

Code:
kbdmap

2021-03-01-162132_741x1034_scrot.png


Keine Ahnung, ob LXDE ein entsprechendes Tool mitbringt.

Wenn man nun in in der gestarteten XSession sein Layout variabel auswählen möchte, kann in der bspw.
/etc/X11/xorg.conf.d/keyboard.conf

Code:
  Option "XkbOptions" "grp:shifts_toggle"

gesetzt werden.

Damit schalte ich bspw. bei gleichzeitigen drücken beider Shift Tasten zwischen Deutsch und US Layout hin und her.
Siehe auch Manpage für xkeyboard-config Absatz "Switching to another layout"

[*] es sei denn es steht da bspw. "setkbdmap ru" am ende einer .profile{,_bashrc} drin :->
[1] tcsh
 

midnight

OpenBSD & FreeBSD
Hi,

du kannst im Verzeichnis xorg.conf.d eine Datei bspw. keyboard.conf erstellen. Alles was in diesem Verzeichnis auf *.conf endet, wird eingelesen und nach Möglichkeit angewandt beim Start von X11.

Bei mir bspw.

/etc/X11/xorg.conf.d
Code:
├── [-rw-r--r-- root     wheel     651]  card.conf
├── [-rw-r--r-- root     wheel     317]  keyboard.conf
├── [-rw-r--r-- root     wheel     181]  layout.conf
├── [-rw-r--r-- root     wheel      56]  modules.conf
├── [-rw-r--r-- root     wheel     231]  mouse.conf
├── [-rw-r--r-- root     wheel     185]  screen.conf

cat keyboard.conf
Code:
Section "InputClass"
        Identifier "Keyboard0"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us(alt-intl),de"
        Option "XkbModel" "pc86"
        Option "XkbVariant" "us(alt-intl)"
        Option "XkbOptions" "grp:shifts_toggle"
EndSection

Danke fuer den Tipp. Der ist wirklich Gold wert. Ich habe die XkbOptions noch um ctrl:nocaps erweitert Option "XkbOptions" "grp:shifts_toggle,ctrl:nocaps" , da ich caps lock als ctrl nutze. Alle anderen Varianten hatten bei mir den Nachteil, dass dieses mapping nach jedem suspend/resume von Hand neu gesetzt werde musste. Auch das togglen zwischen us und de funktioniert nun per shortcut. :-)
 

mameko

Member
.login_conf
Code:
me:\
        :charset=UTF-8:\
        :lang=de_DE.UTF-8:

Versuch' das mal sorum. Ich weiß jetzt aber nicht, was LXDE respektiert oder gar überbügelt. Ich nutze mate und da kann man über das Kontrollzentrum das Layout einfach ändern.
LXDE geht da leider drüber hinweg.
 

mameko

Member
Section "InputClass"
Identifier "Keyboard0"
MatchIsKeyboard "on"
Option "XkbLayout" "us(alt-intl),de"
Option "XkbModel" "pc86"
Option "XkbVariant" "us(alt-intl)"
Option "XkbOptions" "grp:shifts_toggle"
EndSection
DAS ist die Lösung!

Ich habe es etwas kürzer:

Code:
Section "InputClass"

        Identifier "Keyboard0"

        MatchIsKeyboard "on"

        Option "XkbLayout" "de"

EndSection

Läuft einwandfrei. Und ich habe wieder etwas über Xorg gelernt. Danke für den Tipp.
 
Oben