There are missing " around $XKB_IN_USE in /etc/X11/xdm/.Xsession. This is quite amusing as a -z test is being done, impling that there is a chance that the variable may be empty, but the " are still missing. The result of this is, amongst other things, that a users .xession will never be executed. Here is a patch. --- Xsession.orig Fri Mar 24 11:49:07 2000 +++ Xsession Fri Mar 24 11:49:17 2000 @@ -28,6 +28,7 @@ oldsysresources=/etc/X11/xinit/.Xresources oldsysmodmap=/etc/X11/xinit/.Xmodmap + # merge in defaults if [ -f "$oldsysresources" ]; then xrdb -merge "$oldsysresources" @@ -52,7 +53,7 @@ XKB_IN_USE=yes fi -if [ -z $XKB_IN_USE -a ! -L /etc/X11/X ]; then +if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p'` if [ -n "$xkbsymbols" ]; then @@ -63,7 +64,7 @@ fi
This appears to be already fixed in xinitrc-2.9-1: nalin@blade:~/projects/rp3> grep XKB /etc/X11/xinit/xinitrc XKB_IN_USE=yes XKB_IN_USE=yes if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then XKB_IN_USE=yes if [ -z "$XKB_IN_USE" ]; then unset XKB_IN_USE Please verify that you have an unmodified version of the xinitrc file, and that you are using the latest version.
Ouch, checked the wrong file. Verified as a problem in XFree86-3.3.6-20.
*** Bug 10495 has been marked as a duplicate of this bug. ***
I do not see sysxkbmap and userxkbmap defined anywhere in /etc/X11/xdm/Xsession. So perhaps do userxkbmap=$HOME/.Xkbmap sysxkbmap=/etc/X11/xinit/Xkbmap Mate
Also seen here.
While somebody's modifying this, it might not be a bad idea to take the keyboard handling common to both /etc/X11/{xinit/xinitrc,xdm/Xsession} to some other file (/etc/X11/xinit/xkbrc ?) and include it from both. This would prevent fixing one file and leaving the other alone (as already pointed out, xinitrc is OK, while Xsession is not).
fixed in an X errata coming out this week. For our next release, we will unify xinitrc/Xsession handling of common tasks. *** This bug has been marked as a duplicate of 10619 ***