A rundown on VNC
What is VNC?
VNC allows you to work remotely. It takes in your keyboard input and mouse movements and sends back images of the screen. It is a convenient application that can allow you to gain access to your computer and anything on it. It is also an incredible teaching tool and allows people to work on computers without actually being there. And you can really give someone a scare, if they happen to be using the same computer!
VNC works over the Internet, and also wonderfully across a local area network. It is cross-platform and thus OS-independent. Did I mention it's an awesome way to run a headless computer?
What do I need?
OSXvnc is the server. This is what you run from the computer you will later connect to - in other words, your home computer.
OSXvnc is by far the
best option for serving your computer.
Chicken of the VNC is one of many clients (also known as viewers). A client is simply the application that talks to the server.
VNCThing is another client (works with OS 9) but
Chicken is probably the best (despite some funny quirks). There may exist other flavors of VNC clients, so see what works best for you.
There are even clients you can use on pre-PowerMac machines and in OS 8.1! I have successfully connected to a Centris 610 (that's an '030, by the way) so it can be done (albeit slowly).
Setting up the server
To start VNC-ing, open the OSXvnc program on the serving computer. (If you plan on using OSXvnc quite a bit, you may wish to set it as a Login Item at startup.)
Make a note of your IP address (from System Preferences -> Network) and the port/display number (5900 as default) that is displayed in the application.
Make sure you set a password - or anyone could gain access to your computer! Also, you may want to prevent your computer from sleeping - VNC will otherwise have a very hard time working (the OSXvnc application may have this as a check box option - but better safe than sorry - manage your Energy Saver preferences wisely).
(Make sure OSXvnc is set to automatically start when launched and to restart the server when the connection is lost - I believe they're on by default.)
Connecting from the client
So you're at the computer lab, at work, at school, at your friend's house... whatever. You realize you need that e-mail message that's only on your computer... or whatever the reason.
So...
Open a VNC client (like Chicken, or, if you're using Windows, Linux, or another system, they have clients
too - and they all work together).
In the VNC Login window, type in your IP address. In some clients, you'll include a colon at the end, followed by the port/display number. In Chicken, however, you'll enter this in the Display text box. Don't forget to enter your password, and then you're set to go.
If Chicken is taking a long time to connect, it usually means you messed up. You'll eventually be given an error dialog. Check the port/display number is correct (the text box is funny in particular) and make sure the host is also correct. (See advanced for info on how to startup OSXvnc remotely if you had forgotten to run it beforehand.)
If everything goes smoothly, you'll be presented with a screen that looks oddly familiar!
You can set Chicken to fullscreen (as well as most other clients nowadays). OSXvnc also allows resolution switching on the server computer - this is a pretty cool feature that has finally matured!
(Chicken should take most keystrokes you type. So typing "command+q" will not close Chicken; instead, it will close the program you're running virtually in the client. Some won't - command+tab will probably not work within the client. The option key may have trouble - I still have not come up with an acceptable workaround to this - though experts may be able to map keys or find different programs that do this better. The Keyboard Viewer/Key Caps program is thus invaluable for those hard-to-get at characters

)
Advanced notes
Some extra goodies to consider:
Manual IP Address
Since IP numbers often change from time to time, if you're on a LAN, you may opt to configure your IP manually. All networks are different, so it might take some fiddling to do. My IP address was 10.21.1.26 when I got to campus - I had to leave the first two sets the same, so I changed it to 10.21.21.21 - now THAT's easy to remember!
Connecting via the IP name may or may not work. Since it can be unreliable, I
highly recommend you always know your IP address. You can try to trace your IP as wellif you know how (Network Utility does that, but ping and trace and allthose goodies work in terminal and are universally accessible across working environments.)
Setting VNC server remotely
If you forget to set your vnc server, you can still connect if you have ssh or similar access to your computer.
To connect, you need a UNIX shell program (some programs exist on the PC - my college uses Reflection X). If you run Linux, it's built in. In Mac OS X, terminal.app will do just fine.
Connect to your comptuer by typing
ssh username@your.ip.address.number
You will need access to the currently running user or root access with ssh enabled in System Preferences. Make sure if your user name contains non alphanumeric characters (especially, a space) to put the user name in quotes (i.e. "John Smith"@123.45.67.89).
Once you enter in your password, you'll get "Welcome to Darwin!" and a prompt. Now you can run programs remotely!
To see if you left OSXvnc running, type
top
This will return all of the active processes. Since vnc constantly updates with information, it'll be right at the top of the list (under top, of course - the command you've just entered). There should be two programs - OSXvnc and OSXvnc-server. If they are not there, you forgot to open it. If there is OSXvnc but no OSXvnc-server, you'll need to kill the OSXvnc process (in which case, get the pid - or process id - of that process) - sometimes the case is the application is running but the server somehow crashed or refused to restart.
Press 'q' to leave top. Then, if you need to kill OSXvnc, type
kill #
where # is the pid number.
To open OSXvnc, you're going to have to remember where you put it. For this reason, I like putting it in my home folder, as you won't ave to change directories. Otherwise, change directories ('cd ..' to move up, 'cd name' to move to a folder 'name') and type ls (short for list) to see the contents of a directory.
Once you find it, type
open osxvnc.app
(Note you can open any application in a similar fashion through an ssh connection - open iTunes.app, etc.)
If all goes well, you'll see the prompt with no error messages. All set up! Exit your ssh connection and you can connect via a client.
Chaining VNC
In some network environments, you may not have full access to IPs outside of your subnet. If this is the case, you may still be able to connect, if there is a common server that can connect the two computers with.
For example, at my college, there exists a math/CS server which has both vncserver and vncviewer (if these do not exist for you, talk to your network administrator). For me, it is easy as running the vncserver, running the vncviewer to the computer running osxvnc, and then Chicken to connect to the math server.
VNC over ssh
For those who neeed the utmost security, you can restrict vnc to ssh only. This is an option in OSXvnc server. I haven't presonally used it, but I don't think it's much different, except it may only work through IPs in the same domain (i.e. LAN). If you require some additional security, you may try this.
I hope this was helpful!
For more information, I'd visit
RealVNC.com.