We've had a couple of reports that setxkbmap/the gnome keyboard utilities fails on RHEL 5, with big fat error messages popping up in the users face. Pierre distilled the issue down to this: > [cendio@dhcp-253-238 ~]$ setxkbmap -print > Couldn't find rules file (evdev) setxkbmap looks at the _XKB_RULES_NAMES property to determine which rules it is going to use. > [cendio@dhcp-253-238 ~]$ xprop -root | grep XKB > _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", "" It seems like Xvnc sets rules to evdev by default. This causes problems where the local system doesn't have rules for evdev defined, and RHEL 5 is such a system. > [cendio@dhcp-253-238 ~]$ ls /usr/share/X11/xkb/rules/ > base base.xml sgi xfree98 xorg xorg.xml > base.lst README sun xkb.dtd xorg.lst > [cendio@dhcp-253-238 ~]$ ls /opt/thinlinc/share/X11/xkb/rules/ > base base.lst evdev evdev.lst README xkb.dtd > base.extras.xml base.xml evdev.extras.xml evdev.xml xfree98 If we manually set the rules to base, we can use the system XKB tools again. Until we've found a good solution to this bug, setting this from an early xstartup.d script would seem like the best workaround. > [cendio@dhcp-253-238 ~]$ setxkbmap -print > Couldn't find rules file (evdev) > [cendio@dhcp-253-238 ~]$ setxkbmap -rules base > [cendio@dhcp-253-238 ~]$ setxkbmap -print > xkb_keymap { > xkb_keycodes { include "xfree86+aliases(qwerty)" }; > xkb_types { include "complete" }; > xkb_compat { include "complete" }; > xkb_symbols { include "pc(pc105)+us+inet(pc105)" }; > xkb_geometry { include "pc(pc105)" }; > };
Fixed in 29069. Tester should test on both RHEL5 and other systems, as also with /sessionstart/keyboard_layout both empty and defined.
Works well both on RHEL 5 and Fedora 20.