Personally I like teamviewer alot. Both of you get to insert a number and the teamviewer server sets you both up. Screenshot:
I use this alot since 99 out of 100 people I need to connect with do not understand even the basics of using computers. Teamviewer also has a Linux DEB (click to download) and is free for personal usage. You can set it up on one of your own systems: 1 system acts as A server, the other(s) act as (a) client(s).
VNC (Virtual Network Computing)
Basically you install VNC server on the server and install client on your local PC.
Setup is extremely easy and server is very stable. On client side, you can set the
resolution and connect to IP of VNC server. It can be a bit slow compared to Windows
remote desktop and also has the tendency to take more time refreshing over
low-bandwidth links. all in all VNC is an amazing piece of free software that gets
the job done.
FreeNX (installation and how to in the link)
s a system that allows you to access your desktop from another machine over the
Internet. You can use this to login graphically to your desktop from a remote
location. One example of its use would be to have a FreeNX server set up
on your home computer, and graphically logging in to the home computer
from your work computer, using a FreeNX client.
It's Open Source, secure (SSH based), fast and versatile! License: GPL
And then there is the native rdesktop (should be already installed):
Open source client for Windows Remote Desktop Services, capable of natively
speaking Remote Desktop Protocol (RDP) in order to present the user's
Windows desktop. rdesktop is known to work with Windows versions such as
NT 4 Terminal Server, 2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2.
rdesktop currently runs on most UNIX based platforms with the X Window System,
and other ports should be fairly straightforward.
GNU Public Licence (GPL), version 3