How to enable XDM and VNC for Linux and Solaris

Originally written in 2003 this may be a little bit out of date but the principles are still sound. It explains how to set up a Unix or Linux server to provide multiple simultaneous remote desktops in the style of Windows Terminal Services. The clever bit is that is uses VNC to serve the desktops, which is a compressed protocol instead of the Unix standard XDMCP and has simple client programs for Windows.


Network Diagram

XDM is the facility that allows a remote client to access a full desktop on a Unix or Linux server. The protocol it uses is called XDMCP. GDM and KDM are the Gnome and KDE enhanced versions of XDM respectively. This functionality can be thought of as equivalent to Windows Terminal Server or Citrix Metaframe on Windows. The downside is that XDMCP does not compress the data. It is comfortably usable over a 10 or 100 Mbit LAN and tolerable over a good broadband connection (e.g. 1 Mbit) but you really do not want to be using it over a dial-up connection. XDM is a standard part of all X11 based Unix or Linux systems. To display an XDM desktop the client machine requires an X server. This is supplied as standard with almost all Unix and Linux systems. X servers are also available for Windows and MacOS.

VNC is another system for viewing remote systems. VNC can be installed so that it connects to the XDM and provides an alternative protocol to XDMCP for accessing it. There other ways of using VNC but this is the most user friendly way so this is what we will concentrate on in this document. VNC has the advantage of being more compressed than X and XDMCP as well as having a much simpler client program. This compression makes VNC just about usable over 56 Kbit dial-up although it is still not as good as RDP or ICA (as used by Windows Terminal Server and Citrix Metaframe respectively). VNC is free software. Multiple implementations exist. Fortunately these are all compatible. VNC clients exist for Unix, Linux, Windows, MacOS, Java and some other systems.

Note: Citrix sells a Metaframe Server for some Unix systems. It is very expensive, but if you regularly need to share Unix desktops over very low bandwidth connections you might find this worthwhile. Try setting up VNC first and if it doesn’t meet your needs then you may have to open your wallet to Citrix.

XFS is the X Font Server. This allows the remote client to get fonts from the Unix or Linux machine. Without this the remote desktop will be unable to get the fonts it needs and will look very odd. Without certain fonts some applications may fail completely. XFS is a standard part of any X11 implementation.

None of these facilities is enabled by default on most Linux versions for security reasons. Last time I checked, XDM and XFS were enabled by default on Solaris.

Important: None of these three protocols is secure! You should not allow access to them through your firewall. If you want to deploy VNC over the internet you should tunnel it over SSH or some sort of VPN. Doing this is not covered in this document which assumes you are setting this up for use within your LAN or over a private dial-up service.


Pages: 1 2 3 4 5

May 5, 2003. IT, Migrated, Sensible.

Leave a Comment

Be the first to comment!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback URI

%d bloggers like this: