Description of problem: system-config-keyboard does not work anymore leaving a keyboard with defaults even if it was configured diffrently. An attempt to execute system-config-keyboard in a terminal window first prints: Starting graphical mode failed. Starting text mode instead. switched to a text mode and immediately fails in a bad way turning a terminal window into white text on a blue background, no carriage returns, a keyboard locked up and the following backtrace (reformatted as carriage returns are gone and text runs off the right margin): Traceback (most recent call last): File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 78, in <module> useTextMode() File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 38, in useTextMode app = keyboard_tui.childWindow() File "/usr/share/system-config-keyboard/keyboard_tui.py", line 98, in __init__ kbd, rc = KeyboardWindow()(screen) File "/usr/share/system-config-keyboard/keyboard_tui.py", line 70, in __call__ l.setCurrent(default) File "/usr/lib64/python2.5/site-packages/snack.py", line 193, in setCurrent self.w.listboxSetCurrent(self.item2key[item]) KeyError: '' After the above even "Reset" and "Reset and Clear" are ineffective. A text clears from a screen all right after the second one but a keyboard still does not respond. On the second try a keyboard turns out to respond but nothing what was typed shows up. OTOH typing in blind 'reset' followed by 'Ctrl-J' does reset that terminal even if menu entries were unable to achieve that. Version-Release number of selected component (if applicable): system-config-keyboard-1.2.11-3.fc8 How reproducible: always
Thanks for the report, I'll look at the problem shortly.
Created attachment 299293 [details] SELinux denial summary
I fixed this bug by adding this line to xorg.conf file: Section "ServerLayout" (...) InputDevice "keyboard" "CoreKeyboard" EndSection Section "InputDevice" Identifier "keyboard" Driver "kbd" Option "XkbLayout" "us" EndSection (...) But there is also SELinux denial.. so the xorg.conf changes work only if SELinux is disabled.... in attachment you have SELinux denial summary
I have tried this and while the AVC shows up the change of keyboard worked in enforcing mode. I will dontaudit the avc. It is happening because Fixed in selinux-policy-3.0.8-96.fc8
Created attachment 299761 [details] SELinux is preventing the loadkeys from using potentially mislabeled files (./root).
Sorry I messed the comment. More selinux trouble with keyboard. I'll attach another selinux summary that might be related.
Created attachment 299762 [details] SELinux is preventing rhgb (rhgb_t) "read" to ./keyboard (root_t).
This looks like the keyboard file is labeld root_t? Is this file in /? Why is rhgb_t reading ./keyboard? I have added dontaudit to the loadkeys trying to read /root.
All I know is that I have fresh install of Fedora 9 beta with wrong keyboard settings. When I try to change it I get another selinux summary. This is what I see on the console: [root@localhost ~]# system-config-keyboard Loading /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz Traceback (most recent call last): File "/usr/share/system-config-keyboard/keyboard_gui.py", line 226, in _okClicked return self.apply(None, False) File "/usr/share/system-config-keyboard/keyboard_gui.py", line 117, in apply keyboardBackend.modifyXconfig(fullname, layout, model, variant, options) File "/usr/share/system-config-keyboard/keyboard_backend.py", line 34, in modifyXconfig keyboard = xf86config.getCoreKeyboard(xconfig) File "/usr/lib64/python2.5/site-packages/xf86config.py", line 177, in getCoreKeyboard raise XF86SectionMissing("No CoreKeyboard InputDevice found in the layout") xf86config.XF86SectionMissing
Created attachment 300077 [details] SELinux is preventing kdm_greet (xdm_t) "create" to ./kdm (var_lib_t).
Looks like my problems were already fixed, I should update more often. (Can't do much testing now since X is broken, but keyboard seems to be ok now)
Sorry, not fixed. Pressing ok on system-config-keyboard gives yet another selinux summary.
Created attachment 300398 [details] SELinux is preventing the lnusertemp from using potentially mislabeled files (./root).
COuld you verify that you are logged in as unconfined_t? id -Z in a terminal window?
$ id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
So are you running system-config-keyboard form the gdm screen? Or are you running it after login?
I don't even know how to run it from the gdm screen. :) I'm using kdm, I login to kde, menu->system->terminal... This is x86_64 if it matters.
OK But did you change the keyboard from the kdm login screen? Or after you logged in?
Like I said I don't know how you can change keyboard from the login screen, so I changed it after I logged in. On the console I run system-config-keyboard, select finnish (latin1), press ok and the avc pops up. The system-config-keyboard does not close, I have to close it by pressing the x. Now the keyboard settings is changed, but after reboot I get us keyboard again so it's not really saved. (sorry for my poor english :) ) BTW, this is 17" laptop with numpad.
After today's updates the avc message is gone, but I still see the traceback. (commment #9)
Looks like there is bug report for that traceback https://bugzilla.redhat.com/show_bug.cgi?id=437290
*** This bug has been marked as a duplicate of 437290 ***