VNC works miracles for system administrators
Need remote display of a Windows app? This free software tool makes it a snap
A research lab now owned by AT&T has solved Unix-oriented system administrators' second-biggest problem with Windows machines. Cameron and Kathryn show you why you should start to use virtual network computing (VNC) immediately, and how to do so. This little-publicized system extends the benefits of X to Windows and beyond. In fact, VNC has surprising benefits to offer even if you work only with a single host, whether it's Unix, Amiga, Geos, or more exotic operating systems. (1,750 words)
That happy picture has a few rough spots, though: using Windows or Mac OS desktops to monitor Unix has never been entirely convenient with the standard tools installed on the personal computing (PC) desktops -- and it's even more difficult to go the other way. Performing remote administration of PC operating systems is difficult and dicey even with expensive software add-ons. For these purposes, computer-human interfaces come in two varieties: command line, and windows-icons-menus-pointers (WIMP). It's always been possible to submit command lines to a Unix host from a distance. In the Internet Protocol age, this has generally meant launching a telnet client and logging in directly to Unix. Going the opposite way -- sending command lines to a personal computing desktop remotely -- has generally meant buying software that is proprietary and fragile.
The story for graphical user interfaces (GUIs) has parallels to the story for command-line work. Between 1983 and 1985, the first releases of Mac OS, Windows 1.0, and the X Window system all appeared. X provided for remote work for Unix from its beginning, while the other two OSs have never had satisfying answers.
If you're the system administrator of a heterogeneous network, then you're probably working with a volatile combination of supplements to all of these standard operating system facilities, including:
screen, to support dial-up to Unix GUIs and telnet sessions
Now, however, you can eliminate that complexity and expense from your life. Virtual network computing (VNC) delivers much of the functionality of these other components, in a single, high-performance, free-of-charge, open source package. Dr. Quentin Stafford-Fraser, staff research scientist for AT&T Laboratories Cambridge, thinks about VNC in terms of personal liberation: "You are freed from sitting in front of the machine you want to work on. You are freed from sitting in front of a machine of the same type as the one you want to work on. You are freed from the hassle of logging in and out, and restarting all your applications."
What is virtual network computing?
VNC's essence is "a remote display system which allows you to view a computing 'desktop' environment, not only on the machine where it is running, but from anywhere on the Internet, and from a wide variety of machine architectures," according to the introduction at the AT&T Laboratories Cambridge Web site. The same document goes on to explain that, although its characteristics are similar to those of X, VNC offers considerably more. Stafford-Fraser's summary is that VNC is "stateless, small and simple, low-level -- hence cross-platform -- and open and free."
What he means by this is that:
VNC was a piece of a larger very-thin-client hardware research project done at what was then the Olivetti Research Laboratory. Employees there often think about mobility, and have a particular affinity for the ease VNC gives them in moving their work from one physical location to another. The software component of the project was so popular that the laboratory decided to package and release it under the GNU Public License. The workers in the laboratory continue to rely on VNC, and they benefit from the contributions made by thousands of external users.
The laboratory ran an earlier series of related experiments starting around 1993. Teleporting was the label for that X-based predecessor to VNC. One of the surprising discoveries of the VNC line of research that grew from Teleporting was how good the performance of bitmap-based communications could be. Well-trained software designers instinctively believe that network protocols should communicate in terms of higher-order constructs -- fonts, for example, rather than bitmap updates. One laboratory scientist described in a private communication civilized programmers' reaction to reliance on such a primitive protocol as "scream away in terror." VNC demonstrates, though, that radical simplification of the protocol yields a system that's not only viable, but even superior technically.
What are VNC's problems? Bandwidth remains a constraint, at least for now. Colorful GUIs clog a slow network; that can't be avoided, and graphics-intensive applications of particular sorts demand more bandwidth through VNC than X. The Windows server is far from optimal still, largely because there's so much guesswork in understanding the interactions between the operating system proper and the performance of specific network and graphics drivers.
There are also specific situations in which specific technologies like the ones listed at the beginning of this article are better than VNC:
These are minor quibbles, though -- more matters of taste than major problems. The biggest frustration with VNC is that organizational factors seem to have chilled immediate progress. The transition ownership from Olivetti to AT&T brought inevitable reorganization costs. The laboratory's mission is research, and it has properly judged that VNC is now in a development phase. Most of its original programmers have moved the bulk of their efforts to other projects -- sometimes, but not always, including talks on and support of VNC.
Once the VNC community settles into a sustainable development pattern, there will be plenty of work for it to do. Securing VNC with trustworthy encryption takes too much expertise, for now. Cooperation from hardware vendors to improve driver-constrained performance would be welcome. Laboratory workers have experimented with other transport mechanisms, and even considered Firewire and RS/232 connectivity. There are outstanding contracts available to rewrite VNC for Citrix's ICA protocol. Scriptable customization of the viewers and/or servers is a particular favorite of ours.
Getting started with VNC
"Getting Started with VNC" is the title of one of the pages at the well-organized and lucid VNC home site. The instructions there are sufficient to get most readers started quickly; if your compiler is properly installed, expect to start running VNC on your own equipment in well under an hour.
You'll be happy to have it there, too. VNC's reliability makes it a safe choice for operation on both servers and desktops. It appears to have been installed so far on around a million hosts, judging from download statistics. (VNC is also available on several CD-ROMs, including Red Hat RPMs.) VNC is already making its way into commercial products, and more are rumored to be in the works. The well-received HP 16700A Series Logic Analyzers provide a particularly vivid example of the advantages VNC brings. Hewlett-Packard Product Manager Rick Eads explains:
"By exporting the logic analyzer's user interface over the Net, our customers are able to operate the logic analyzer from anywhere they have access to their company's intranet. This is the true beauty of VNC. It allows them to control the logic analyzer from anywhere on the company intranet without having to be concerned about what a particular PC may be running. This allows two key benefits.
One, customers can get remote access from home, while on the road, from trade shows, etc. [This facilitates long-running tests that need be monitored only sporadically.]
Two, customers can share the results of their analysis with other engineers. More and more of our customers have geographically dispersed teams. A hardware team in Sweden may be working on software developed in Holland, for example."
As AT&T's Stafford-Fraser told us, "The basic principle is the simplicity of the endpoint." It's exciting to see how far that principle has come, and practical to take advantage of it today.
Thanks to Frank Stajano for his help understanding VNC.
About the author
Cameron Laird and Kathryn Soraiz manage their own software consultancy, Network Engineered Solutions, from just outside Houston, TX. They write SunWorld's biweekly Regular Expressions column.
If you have technical problems with this magazine, contact firstname.lastname@example.org