VNC consists of two components: a VNC server (which must be installed
on the remote machine) and a VNC viewer (which is used on the local
machine to view and control applications running on the remote
machine). The VNC connection is made through a TCP/IP connection.
The VNC server and viewer may not only be on different machines, but
they can also be installed on different operating systems. This
allows you to, for example, connect from Solaris to Mac OS X. Using
VNC, you can launch and run X11 applications on Mac OS X, but view
and control them from your Solaris box.
VNC can be installed on Mac OS X with the Fink package manager (look
for the vnc package), but that version (the
standard Unix version of the VNC server) only supports X11 programs,
not Aqua applications. VNC translates X11 calls into the VNC
protocol. All you need on the client machine is a VNC viewer.
The standard Unix version of the VNC server is quite robust. Rather
than interacting with your display, it intercepts and translates the
X11 network protocol. (In fact, the Unix version of the server is
based on the XFree86 source code.) Applications that run under the
Unix server are never displayed on the server's
screen. Instead, they are displayed on an invisible X server that
relays its virtual display to the VNC viewer on the client machine.