Description of problem: ltsp-build-client created an en_US.UTF-8 client with US keyboard layout. I would like all-Hungarian clients. Changing "i18n" and "keyboard" under /opt/ltsp/i386/etc/sysconfig is only giving me a hu_HU.UTF-8 client with Hungarian messages on the login screen but still with US keyboard. Changing /var/lib/tftpboot/ltsp/i386/lts.conf so it contains an "XKBLAYOUT=hu" line didn't help. The lts.conf in /opt/ltsp/i386/etc is empty by default and modifying it (actually, copying the lts.conf from the tftpboot area to the ltsp chroot) didn't help either. Version-Release number of selected component (if applicable): ltsp-server-5.1.7-2.fc9.x86_64 How reproducible: Always. Steps to Reproduce: 1. ltsp-build-client 2. modify lts.conf, .../sysconfig/{i18n,keyboard} 3. Actual results: Locale can be modified on the client but not the keyboard layout. Expected results: Both locale and keyboard should follow some of the settings. Additional info: For ltsp-build-client, it would be best to parse the host configuration and build the client with the proper locale and keyboard layout by default.
It appears that XKBLAYOUT is only recognized by ltsp-trunk/client/configure-x.sh which Fedora does not use. This is an unfortunate side-effect of Fedora's default of X autoconfiguration which is to run without an xorg.conf. Our choices are either: 1) Figure out a way to use an externally specified layout during X autoconfiguration. Is this possible with current X code? 2) Configure X separately into an xorg.conf file then mangle that xorg.conf file, like ltsp-trunk/client/configure-x.sh. It would be unfortunate if we have to take this path. =( Any suggestions from the X team?
Have your greeter read the locale config and set up keyboard/language appropriately.
> Have your greeter read the locale config and set up keyboard/language > appropriately. How do you define appropriately? You cannot easily assume a certain keyboard layout by the locale alone. I asked Ray Strode about how gdm and GNOME handle keyboard layout. It is a bit complicated. GNOME desktop's gnome-settings-daemon reads a layout option from gconf and sets it during login. gdm also runs gnome-settings-daemon but Ray thinks gdm uses only whatever layout is defined by the X server (meaning this isn't a solved problem in gdm either.)
<jeremy> warren: you'd have to use the specified keyboard mapping and then use the bits in rhpl.keyboard_models to do mapping <warren> jeremy: is there a canonical place in /etc that contains the system's keyboard mapping? <jeremy> warren: /etc/sysconfig/keyboard is as much as there is
Another data point: the console is conforming to the keyboard setting found /etc/sysconfig/keyboard. I pressed Ctrl-Alt-F2 to go to the console on the thin client and I got my hungarian keyboard. Only X doesn't follow currently.
Talked with Matthias Clasen of the desktop team. He suggested looking at gdm's greeter implementation of keyboard layout chooser. The chooser sets the gconf option which is used by gnome-settings-daemon to set the keyboard layout. We either need to implement much of this ourselves for ldm, or attempt to use gnome-settings-daemon which pulls in a lot of extra stuff into the client chroot. Not sure what is the best way forward yet. Investigating.
A fix using lts.conf XKB* options in a standard upstream LTSP fashion has been pushed as part of ltsp-5.1.15 to Fedora 9.
I've got the same problem on Fedora10 using xfce. I'm using a UK English layout keyboard. Works fine when I boot into run level 3, or if I press Ctrl + Alt + 2 to get a bash shell in tty2. Its only when i'm using X that every time I log-on I get the default US keyboard layout. I can go to [fedorabutton]|Settings|Keyboard and change it to UK layout, but this only lasts until the next login (plus requires the root password).
Keir, please file that as a bug against XFCE. XFCE isn't respecting the keyboard layout set in hal.