Citrix is our second option here. This is a tad bit more expensive than the other option we talked about. It will cost you a single high end system with at least 12GB of RAM and a Quad Core CPU. This will be the host for your Virtual Machines. You can use either VMWare or Citrix's own XenServer. We used VMWare ESXi 3.5 Server for our demonstration here, but when you grab the Citrix XenDesktop Express Edition you do get the free version of XenServer with the file package.

XenServer is a Linux-based, Hypervisor-style operating system. It provides a very slim host for your guest operating systems to run in. The benefit here is that you do not need to install a complete operating system to get a solid foundation for your virtualized operating systems. Of course, this is a vast oversimplification of what Xen does, but it will serve for our purposes here. The first thing you need to do is to get the XenServer installed. Citrix has a great tutorial for that on their website so we will not go into detail in this article. We will kick things off after the VM host (in our case, VMWare ESX Server) is installed and configured.

It is important to note at this point that there is a big difference between using XenServer for a setup like this and running VMWare. If you are running XenServer you only need the server and a single control system. With VMWare you have to have the full ESX Server and a Virtual Center Server running. This is because XenDesktop will not communicate directly with a VMWare ESX Server. It has to have the Virtual Center Server to act as a translator. This will add to your cost considerably as you cannot use VMWare's free ESXi software for this type of setup. There is no Virtual Center (now called vCenter) for ESXi.

Now, this does not mean that you are getting out of spending money with the XenServer. No, with this solution you are going to be shelling out some cash. The biggest cost is going to be in operating systems. For our example we needed two servers (we used one Windows 2008 R2 and a Windows 2003 R2) then the desktop OS. Here you can run either Windows or Linux also. I have not tried to make a VM-Hackintosh yet, but that might be in the works, too.

Ok, back to the fun stuff. Citrix says that you need at least two virtual systems to make this work. They prefer three, but you can get by with two. The systems are a Domain Controller, the Desktop Delivery Server (which can run on the Domain Controller if needed) and the desktop to be presented.

The first thing that needs to be done is to setup the DC (Domain Controller), then add any users that you want to have access to the domain and the virtualized desktops. Next you install the Desktop Delivery software. This will be the software that understands what you are presenting and who can get into it. After this is installed and configured then you install your desktop software. We used Windows 7 32-bit; this desktop must be connected to the domain (otherwise the XenDesktop software will not know how to talk to it).

After you have installed the OS, connected it to the domain and installed any additional apps you want to use, you will need to install the XenDesktop service on that system. This identifies the system as available and registers it with the DDC. For the final step on the server side you will need to setup a desktop group. You cannot do this until you have a desktop to present; this is a fairly easy task and takes no more than a few minutes.

Now, we covered the server installation very quickly, but there is actually quite a bit more to it. Unfortunately the full installation procedure is beyond the scope of this writing. However, Citrix has a great tutorial video on their site (and one in the file package) for this, just like they do for XenServer.