Okay, I will talk about XDMCP today. First we will see what is xdmcp protocol.
There is a nice article on what is XDM is here
In very simple words, this a protocol to get the X Windows login to a remote system. The client sends the request to the server and server completes the requests. For this the server allows the clients to connect to XDMCP port. There are various ways the XDMCP works most common being indirect, direct and query. So basically if you are using a XDMCP clinet you will get the feeling of using the server directly with the GUI and all. (It is very similar to VNC but not same as VNC, see here for the differences in ssh, vnc and XDMCP.)
Now, first the server needs to allow XDMCP connections to the window manager. The procedure varies from window manager to window manager but involves opening the port for communication and configuring the server to accept connections on the port. Find here a link to configure the server.
Ok, now if you want to run the client to connect to the server. If you are on Linux, then you can use the Xnest server. Find the artile here to use the Xnest client.
But if you are on Windows then there are couple of clients, and am still not very satisfied with any of them but here are the options:
Xceed Not Free but a really nice client. I personally like the product, have used it in the past. But costly.
Windows Terminal Server This is a free client that can be used as Terminal Client to connect to XDMCP services too. I have not used this personally.
My favourite client is XMing – partly because it is freeeee and open source and secondly because of the ease of use.
SSH Tunneling with XDMCP At the end of this article you will find a nice talk about how you can use the ssh tunneling with XDMCP. Its really nicely explained and interesting too.
Do comment if you have used some other clients and think that they are worth mentioning, specially if they are OSS.