Rather than explaining things, I would just write down few commands to get you started. I am assuming you are using Debian Etch 4.0.
$ sudo apt-get install vncserver
$ vncserver :1 -geometry 1024x768 -depth 24 -pixelformat rgb565
It might ask you to enter a password to be used by users to connect your system through vnc.
The first time vncserver is started up, it will also create a configuration file, in your home directory, called $HOME/.vnc/xstartup. Execute the follow to stop vncserver.
$ vncserver -kill :1
On your client,
$ vncviewer :1
Best part is you can connect to a vncserver through an SSH tunnel using -via option with vncviewer. But install tightvncserver on the host machine. In order to use ssh tunnel, you need to provide username and password for ssh login. so the first password is for ssh login while the second password is for vncserver available in ~/.vnc/passwd. -Fullcolor option gives best display property for your vnc session.
[control@cube:]$ vncviewer -via swg@172.28.52.111 -Fullcolor insane:1
VNC Viewer Free Edition 4.1.1 for X - built Feb 26 2007 20:38:07
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
swg@172.28.52.111's password: ***
Sun Apr 27 12:24:43 2008
CConn: connected to host localhost port 5599
CConnection: Server supports RFB protocol version 3.3
CConnection: Using RFB protocol version 3.3
Password: ***
Sun Apr 27 12:24:45 2008
TXImage: Using default colormap and visual, TrueColor, depth 24.
CConn: Using pixel format depth 24 (32bpp) little-endian rgb888
CConn: Using ZRLE encoding
Sun Apr 27 12:24:52 2008
CConn: Throughput 20000 kbit/s - changing to hextile encoding
CConn: Using hextile encoding