This seems to be a topic that appears often on the VPS forum, so I thought I would get around to posting a simple instruction set for getting a GUI (GNOME or KDE) working on your VPS.
These instructions are aimed towards the Fedora distribution, but should work fine with CentOS or any other Linux distro (except maybe RHEL, which has some extra steps):
Firstly, make sure that you have YUM installed, if not, you have to go find the RPM for YUM via google or rpmfind.net, and do an "rpm -Uvh <file.rpm>" once you get it. YUM works off python, so it's not a binary just a bunch of scripts (so arch. doesnt matter).
Now that YUM and its required libraries are installed (python, sqlite, etc) execute as root on your VPS command line:
"yum -y groupinstall kde" for KDE or "yum -y groupinstall gnome" for GNOME.
"yum -y install vnc vnc-server firefox x11-xorg" to install the remaining neccessary applications (VNC, FireFox, X11 libraries, etc).
If your on OpenVZ you might have to: "yum -y remove dummy-selinux-vz" or "yum -y remove vzdummyfc4" first. Oh, also make sure that you have "gpgcheck" disabled in /etc/yum.repos.d/fedora.repo, otherwise the KDE installation will fail. KDE is by far the easiest to install, but if you want GNOME you'll have to do some other advanced tricks after the "yum -y groupinstall gnome" step.
Start up VNC server like so: vncserver
This will ask you for a password, and then create your ~/.vnc directory (if running as root, it will be in /.vnc or /root/.vnc or /home/root/.vnc). It is advisable to start up VNC/your GUI as a non-root user, but hey it's your VPS
Running 'vncserver' will also start up VNC Server and create some temp sockets.
Now, you'll see VNC server is running by executing: "ps -ef |grep vncserver" -- good. Now kill the VNC process like so: "pkill -9 vnc" and then delete the temp sockets by: "rm -rf /tmp/.X1*" -- be careful when running rm -rf as root, you could have a typo and do rm -rf / by accident and destroy your VPS!
At this point you have to go into the /.vnc directory, edit the xstartup file and delete the last line (usually has twm & or something), and replace it with: "startkde &" (without the quotes) -- this tells VNC to startup KDE instead of the default window manager, twm (or whatever the last line was).
Your pretty much done at this point, go ahead and execute the command 'vncserver' again, and VNC will startup, using the password specified earlier and create a default VNC instance on VNC port 1.
Give it a few minutes, depending on your VPS specs, to let KDE start up for the first time. Start up your RealVNC client on your PC, and put in <youripaddress>:1, and it should ask for your password that you put in earlier. If you dont see the KDE desktop, check your xstartup file again in /.vnc and make sure the last line is 'startkde &'.
You can automate the entire process just by stringing along all of the commands in a simple script. This should get you up and running with a nice GUI for your Linux VPS. Keep in mind you need at least 256 MB of guaranteed RAM, do not rely on your "burstable" rate because having a GUI running WILL cause processes/services inside your VPS to be killed because of a lack of memory. If your running a control panel such as cPanel or Plesk on the same VPS, make sure you have at least 512 MB of guaranteed RAM.
If anyone wants to add to the instruction set or has some extra tips or tricks for getting a GUI working properly on a VPS, please share!