I usually use Xming on my Windows machine to view my (several) Linux desktops. A few weeks ago it stopped working, apparently for no reason. At that time I was using Fedora Core 6, Fedora 7 had been released so I took this chance to format the entire disk and do a clean install. I was expecting XDMCP to work nicely, as I was used to. It didn’t, in any of the several clean Fedora 7 installs, even virtual machines.
Xming itself was completely useless to solve the problem, all I saw was the gray(ish) X background with the “X” mouse cursor. After trying to connect using Gdm Chooser something really funny happened, It did list all online machines on XDMCP with the correct IPs but no matter which I connected to, I ended in a XDMCP to the localhost machine.
At first glace the problem was obvious, all listed XDMCP machines where listed with the correct IPs but they were all named “localhost”. I thought it was trying to connect using the host name instead of the IP, but using Xorg -ac -query IP_Address proved me wrong. So I activated Gdm Debug using the Fedora System > Login Display configuration (or ‘sudo gdmsetup’) and went to check the output, after a connection attempt, in /var/log/messages. The IP did appear there, I assumed host names had nothing to do with it, but now I know different; yet there were this strange “gdm_(…): Host IPADDRESS not found” messages.
After 8 or 9 Google searches and a few hours on it, I tried to check for DNS problems, and voila, I found something that helped me solve the problem – partially by now. Thing is, Reverse DNS lookups need to return a machine name, if it doesn’t XDMCP fails and without a proper error message. To test the problem simply try nslookup XDMCP_CLIENT_IP, it then returns you a Host Name, do nslookup HOST_NAME and if the IP isn’t the same (or any at all) you’ve this little problem.
To fix it we should have Reverse DNS in place and working, something my router is failing to do. Yet a simple (temporary) fix can be done; edit /etc/hosts and add an entry using IP_ADDRESS ANYNAMEYOUWANT. The name itself doesn’t matter at all, you won’t see it, even in logs AFAIK.
I’m trying to setup this reverse DNS thing, using bind I guess, will update with news later.