FS#15236 - [xkeyboard-config] keysym errors prevent keyboard usage in Xorg
Attached to Project:
Arch Linux
Opened by Corrado Primier (bardo) - Tuesday, 23 June 2009, 18:08 GMT
Last edited by Eric Belanger (Snowman) - Saturday, 18 June 2011, 19:28 GMT
Opened by Corrado Primier (bardo) - Tuesday, 23 June 2009, 18:08 GMT
Last edited by Eric Belanger (Snowman) - Saturday, 18 June 2011, 19:28 GMT
|
Details
I've been having this strange problem for some months now. I
get lots (hundreds) of keysym errors when starting up X (see
'Xlog' attachment). This renders the keyboard unusable, and
the only way to get it working is to forcibly uninstall
(-Rd) the xkeyboard-config package, which contains the
keyboard mappings. This way there are no files to complain
of, so X starts, but only with the en_US layout because the
xkb extension does not load.
My keyboard is an Apple Aluminium USB, id: Bus 002 Device 005: ID 05ac:0221 Apple, Inc. Keyboard (Aluminium) (ISO) I can trigger the same errors by running 'xkbcomp /usr/share/X11/xkb/symbols/pc' or similar, so it doesn't seem to be Xorg's fault, but I'm attaching xorg.conf and Xorg.0.log anyway. A similar problem was detected by a forum user, but no answer was found[0]. I can mitigate the issue by manually exporting XKEYSYMDB to /usr/share/X11/XKeysymDB: the errors get to just a few tens (see Xlog_XKEYSYMDB), but the keyboard still doesn't act good: some letters work, other show strange behaviors. If I try to "echo $XKEYSYMDB" in my .xinitrc I get an empty line, so this variable doesn't get set, but this seems to be normal on a working machine. I think this might not be a bug and there may be some corrupted config, but I can't figure out which one and reinstalling the whole Xorg didn't help. [0] http://bbs.archlinux.org/viewtopic.php?id=56109 |
This task depends upon
The reason was in dynamically linked libraries. My /etc/ld.so.conf looked like this:
--------------------
/usr/X11R6/lib
/usr/lib/libfakeroot
/opt/qt/lib
/opt/gnome/lib
/opt/kde/lib
/opt/NX/lib
--------------------
The first directory doesn't exist anymore, and for some strange reason, instead of looking in /usr/lib first, the dynamic linker started searching from the listed paths. This means it was trying to use some NX libraries to start the local X. Enter the big breakage.
Now, removing the first path didn't help, but changing it in /usr/lib (and obviously running ldconfig) did. So the system starts searching for libs from manually added library paths. I see three options here:
a) it shouldn't do so, and there's a bug
b) it should do so, and we aren't providing a sane default
c) it should do so, it's ok this way, and everybody knew it but me.
Which is the right answer? :)
I kept getting the same keysym errors - and my keyboard not working in X.
Eventual fix (I think) was uninstalling an old copy of neatx (Google's clone of nx) that I had hanging around. Neatx had placed a file in /etc/ld.so.conf.d, which I'm guessing was what was messing things up.