Were you using xdm to log into your linux box before? Xdm, as it is setup
under RedHat Linux anyway, looks for a startup file in your home directory.
The startup file can have one of several names, ***but it must be
executable***. I don't know how many times I was confused by xdm's behavior
because it wasn't reading the startup file I thought it was reading. Every
time the reason was that I had not made the relevant file executable.
It also helps to look at the file .xsession-errors in your home directory. It
could be that one of the commands in your startup file aborted.
--Jim Amundson
P.S. In order to understand exactly what xdm is doing, read
/etc/X11/xdm/Xsession. It's the script that gets executed when you log in.