Further annoyances with CentOS 6. It now uses .xsession as the last resort. The work around is to add the following lines to
/etc/X11/xinit/Xsession. Put them just after the line that sources
if [ -x "$HOME/.xsession" ]; then exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.xsession" fi
Yes, there's probably a smarter way of doing it. But I don't want to bother tracking it down.