VNC, a.k.a. Virtual Network Computing, is a program developed by the AT&T Laboratories Cambridge. It is a sort of remote control and display system that allows people to use computers across a network. For example, I can run a session on my Unix workstation and access it from a PC. Later, I can walk over to a Macintosh and pick right up where I left off. Then, later on, go over to a different Unix station with a Java-enabled web browser and continue yet again. I can also do the reverse: Use a Unix workstation to access my PC.
There are two components to VNC, a "server" side and a "client" side. The server side currently runs on Windows 9x, Windows NT, PPC MacOS, and any Unix variant that can run X Windows. The server side on a Unix machine creates a virtual X Window session of sorts, which allows you to run any X Windows application in this session. On a PC or Mac, it takes your existing "session" and makes it available over the network, allowing you to use that PC from just about anywhere.
The "client" side is available in two forms: as a native application for Windows 9x, Windows NT, Windows CE, Dec Alpha, and Unix, and as a Java applet accessable with Java-enabled web browsers. The native clients allow you full control over the session on the server. The client also allows cut and paste between your server session and other applications running on your client machine. The client also has a "read only" mode so you can simply "watch" a session. The server side can also restrict access to "watch only".
One advantage to using VNC versus straight X Windows is that the state of the session is stored on the server side, not the client side. If my client connection dies for any reason, I can pick right up where I left off without losing anything. If I were using an X Windows type application and having it display on my PC, if my X server dies, it causes the remote application to quit. Another VNC advantage: it is more friendly through firewalls. Only a single port is used for connecting. It works a lot better through my own personal firewall as well as my company's fierwall.
In actual practice, VNC works fairly well. A while ago, I was using it to run a X Windows version of a database application I used for my job versus running the native PC client on my desktop at home. Since my connection to the database was timing out several times a day, VNC made me more productive as I was not having to constantly kill, restart, and re-logon to the database. I also read my email through a text-based xterm session, which was not any slower than a regular telnet session would have been. If my connection to the office was unstable, I didn't lose any work because the entire state of affairs was maintained on the remote side. Once things stabilized, I simply reconnected with VNC and everything was as it was left.
In my home office, I use it to connect to other PCs within my office. I suppose I really don't need to as the computers I am accessing are no more than a few feet away. But it does allow me to keep dibbs on all of my systems from a central location. If I'm really lazy, I can also do things on all the computers from one place. When I'm on the road, I can still use VNC, although the modem connection slows things down a bit (I use ISDN to connect from the home office). However, it is still quite useable. Since only changes to the local screen are sent across the wire, it is very bandwidth friendly.
The best part about this program is that it's free under the GNU Public License. This means you can get the source, make modifications, and restribute the software (subject to the GPL's terms, of course). Binaries for Solaris, Linux, Alpha, and Windows 9x/NT are available from ORL's website. A native Macintosh viewer is also available. Source and documentation is also included.
This tool gets a thumbs up from PhoneBoy.