The ITworld.com Network  
Network Search ¦ Sites ¦ Services ¦ ITcareers


Advertisement: Support Unix Insider, click here!

Home Home E-mail this article E-mail this article Printer-friendly version Printer-friendly version Tell us what you think Tell us what you think
Spacer
Spacer SEARCH
put phrases in quotes
Spacer
Spacer
Spacer
Spacer
Spacer NAVIGATE Spacer
Spacer Subscribe -- It's Free Spacer
Spacer Topical Index Spacer
Spacer Back Issues Spacer
Spacer UnixWHERE Spacer
Spacer Events Calendar Spacer
Spacer Community Discussions
Spacer
Spacer TECHNICAL FAQs Spacer
Spacer Solaris Security Spacer
Spacer Secure Programming Spacer
Spacer Performance Q&A Spacer
Spacer SE Toolkit Spacer
Spacer
Spacer ADVERTISEMENT Spacer
Spacer
Spacer

Spacer
Spacer
Spacer
Spacer UNIX INSIDER PARTNERS
Spacer
Spacer Spacer
Spacer ITcareers.com Spacer
Spacer Expert Advice Spacer
Spacer RFP Center Spacer
Spacer Training Center Spacer
Spacer Research Spacer
Spacer Vendor Content Spacer
Spacer
Spacer ABOUT UNIX INSIDER Spacer
Spacer Advertising Info Spacer
Spacer Unix Insider FAQ Spacer
Spacer Unix Insider Editors Spacer
Spacer Masthead Spacer
Spacer Editorial Calendar Spacer
Spacer Writers' Guidelines Spacer
Spacer Privacy Policy Spacer
Spacer Link to Us! Spacer
Spacer Copyright Spacer
Spacer BACK TO TOP Spacer
Spacer

VNC works miracles for system administrators

Need remote display of a Windows app? This free software tool makes it a snap

Summary
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)
By Cameron Laird and Kathryn Soraiz


Think about the common telephone calls you get, asking for help: someone needs a Web server reconfigured, or the fonts on an engineering workstation look bad, or a rogue process has gone sociopathic and is thrashing swap space, or the Toronto office wants to see for itself the project management calculations Atlanta did. One of the great charms of Unix has always been that it allows you to manage all these operations from a distance. Sometimes that distance is no greater than the length of a hallway in your office building; these days, however, such work can be done almost as easily if your terminal happens to be a continent away from the malfunctioning computer.

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:

  • Low-bandwidth X (LBX) and screen, to support dial-up to Unix GUIs and telnet sessions
  • Symantec's pcAnywhere or other remote-control applications
  • Aftermarket X servers for Win* and Mac OS
  • Miscellaneous telnet clients for Win* and Mac OS
  • WinFrame and/or Windows Terminal Server to make specialized, server-hosted applications available to desktops
  • Possibly even more exotic technologies, like Santa Cruz Operations's Tarantella (which introduces Java-enabled Web browsers into the viewing mix), GraphOn's Go, Sun's iPlanet, or VMware

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:

  • Viewers are state-free. Suppose you're using a PC with a VNC view of a workspace hosted elsewhere. You don't lose your work when the PC crashes. In fact, all the applications on the remote server continue to run, and you can reconnect to them as soon as you reboot your desktop PC. What's more, you can abandon that PC, fly a thousand miles to a meeting, sit down at a different VNC viewer, and pick up right where you left off. You can also go home at night, and know that, even if the janitor trips over the plug in your office, your workspace will persist on the server until you start again.

  • VNC is installation-free. You can run native viewers directly from a floppy, or, with a modest performance sacrifice, simply borrow any available Web browser and feed it the URL that corresponds to your home workspace.

  • VNC is breathtakingly portable. Viewers exist for Java virtual machines, Amiga, Acorn, BeOS, DOS, OS/2, PalmOS (!), and many, many more platforms. Servers are available so far for Unix and Windows NT.

  • It's easy to share VNC, so more than one screen can view the same workspace at a time. Imagine how that simplifies collaboration and support.

  • VNC's performance is shockingly good. Conventional X through a telephone line (we know how many engineering shops still use 2400 and 9600 baud equipment) is a last resort. VNC is far more responsive, even on mediocre networks. While complex GUI applications can saturate bandwidth, it's quite practical to do word processing and Web browsing through VNC.

  • VNC has no font problems, since it doesn't depend on installation of compatible fonts. As minor as this sounds, longtime system administrators will recognize the number of headaches it relieves.

Research results
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.

VNC's downside
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:

  • An all-Windows shop might prefer tighter linkage with NT-specific domain authentication

  • pcAnywhere is faster on the supported machines, once properly licensed and configured

  • To preserve its simplicity, VNC doesn't currently integrate file transfer and printer service

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 Unix Insider's biweekly Regular Expressions column.

Home | Mail this Story | Printer-Friendly Version | Comment on this Story | Resources and Related Links

Advertisement: Support Unix Insider, click here!

Resources and Related Links
  Other Unix Insider resources  

Tell Us What You Thought of This Story
 
-Very worth reading
-Worth reading
-Not worth reading
-Too long
-Just right
-Too short
-Too technical
-Just right
-Not technical enough
 
 
 
    
 

(c) Copyright 1999 Web Publishing Inc., and IDG Communication company

If you have technical problems with this magazine, contact webmaster@unixinsider.com

URL: http://www.unixinsider.com/swol-08-1999/swol-08-vnc.html
Last modified: Friday, February 09, 2001