vnc allows you to remotely control Windows or Linux systems (and many others). A server program runs on the remote system being controlled and a viewer program shows the remote desktop. With a good fast network connection between them this can be almost as good as sitting at the remote pc: it is possible to play tetris over the link. I use ultravnc on Windows and realVNC under ubuntu.

