VNC and remote desktop operate on different principles. The basic operating model for remote desktop is that it gives you access to the remote machine's actual, physical display; it doesn't give you a remote connection to the machine independently of what the local user is doing. The basic operating model for VNC is that it provides a virtual display that you can connect to remotely; VNC operates independently of what a local user may be doing.
If you want to run graphical applications on your Linux machine and have them display on your local machine, VNC is not the first tool that comes to mind. The unix way of doing this is to use
ssh -X to connect to the remote machine; then remote X applications are displayed on the local X display. This does require that you have an X server locally; for Windows, this requires yet another program to be installed and set up.
If you want to be able to start a graphical application on the Linux machine, and connect to it from anywhere in the world, run a VNC server (
vncserver command). This creates a virtual display that you can connect to from anywhere (barring firewalls). Run a VNC client to see what is displayed on that virtual display.
If you want to have direct access to the X server that is displaying on the Linux machine's monitor, check out