Fehlerhafte Keymap in FreeNX-Session beheben
- October 30th, 2010
- By Mr. Nerd
- Write comment
Nach dem Aufsetzen eines FreeNX-Servers stand ich vor dem Problem, dass im Client viele Tasten zu falschen Resultaten führten – insbesondere wurde die Taste AltGr als Enter interpretiert – keine Chance auf Sonderzeichen.
Der Fehler lässt sich dadurch beheben, dass man zunächst die Keymap des Client-Systems exportiert und diese anschließend (automatisiert) in der NX-Session lädt und die falschen Zuordnungen überschreibt.
Der erste Schritt besteht im Speichern der Keymap des Clients. Dazu führt man in einem XTerm den folgenden Befehl aus:
xmodmap -pke > nxclient.xmodmap
Dieser speichert die Keymap des Clients in der Datei nxclient.xmodmap; diese Datei muss man nun auf den NX-Server transferieren und sie bspw. in das Home-Verzeichnis des Benutzers legt. In einer geöffneten NX-Session kann man anschließend mit dem folgenden Befehl die falsche Keymap ersetzen:
xmodmap ~/nxclient.xmodmap
Natürlich lässt sich dies auch (eingeschränkt) automatisieren. Die Variable $NXSESSIONID wird bei einer Remote-Verbindung durch NX gesetzt. Überprüft man in seiner .profile, ob sie gesetzt ist, kann man die Keymap automatisch ersetzen:
if [ -n "$NXSESSIONID" ]; then /usr/bin/xmodmap ~/nxclient.xmodmap fi
Dies funktioniert natürlich nur, wenn alle verbindenden Clients die gleiche Keymap nutzen.