Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesThe Power of X for Windows NT


July 1995 / Reviews / The Power of X for Windows NT

Hummingbird's eXceed combines the look and feel of Windows NT with the networking muscle of X Window System

Steven Baker

Like it or not, Windows is the interface of choice across many organizations. But if you must have remote connectivity with other systems, particularly Unix workstations and servers, Windows is no solution. While Windows NT delivers basic file and printer sharing, it lacks a networked user interface for running graphical applications on diverse remote systems. eXceed for NT gives you the best of both worlds: the look and feel of NT and the functionality of a robust X Window System. And as a bonus, you can easily pass data across the divide.

Developed a decade ago at MIT as part of Project Athena (with support from Digital Equipment and IBM), X has become the de facto sta ndard for a networked GUI in the Unix realm. Using an NT system as a PC X server to handle input and display results, a local desktop can execute programs remotely on systems as varied as Sun SparcStations and the fastest Cray supercomputers. The X technology is limited only by the extent and speed of the network connection.

The X Connection

Hummingbird was the first vendor to release native X server software for NT. eXceed ships on 16-bit Windows, DOS, and OS/2. NT support was the next logical step for handling native Win32 and other 32-bit applications. Although the 16-bit version worked on NT, its performance slogged when it was pitted against demanding network and graphical tasks. eXceed now supports X Window System 11 release 6, the latest version of the X system.

eXceed allows you to deploy NT as your window manager, with X applications launched in separate multiple NT-style windows . You can also establish a window manager (e.g., Open L ook or Motif) on the remote Unix client that handles one large, single X root window. Either way, you can cut and paste between NT and X applications. If the remote client is running at a lower display resolution than the server application, the local display pans to support windows larger than the physical screen. eXceed also ships with Hummingbird's own hwm local window manager for use in single-window mode. In most cases, you'll prefer the multiple-window mode that allows treatment of X applications as local NT applications.

The standard package, eXceed 4 for Windows NT, includes both the network version and the Xpress serial version. Hummingbird's eXceed 4 comes with several stand-alone TCP/IP tools, including telnet and ftp clients for starting up remote X applications and troubleshooting. The Hummingbird ftp client is far superior to the standard text-based ftp client that ships with NT, because it emulates the file manager GUI, supporting drag-and-dro p file transfers.

Also included in the standard package is eXceed Basic, a BASIC language interpreter and compiler (i.e., tokenizer) for writing NT applications and local X client programs. In addition to the normal BASIC language commands, eXceed Basic supports an extensive set of API commands that can use Hummingbird's X library (Xlib), along with its ftp and telnet libraries. eXceed Basic's powerful scripting and debugging options can automate complex tasks, such as connecting to a networked host computer and starting up X client applications.

eXceed/Xpress is a serial-only version that uses Tektronix's Serial Xpress protocol to compress the X packets for transmission over serial links. Xpress requires communication with a terminal server that supports the Tektronix protocol or installation of the Xpress/Host software (which must be purchased separately) on the target Unix host machines. Xpress uses a proprietary protocol rather than the familiar SLIP or the PPP protocols of TCP/IP.

eXceed 4-XDK for Windows NT is a superset of eXceed 4, adding a software development kit and libraries for NT. With the XDK, you can port X Window applications based on Xlib and Motif from Unix to NT. The resulting applications run as local X clients on NT, using the eXceed server or a Unix machine as the X server for input and display. You can distribute these local X clients with DLLs so that they will run on other machines with just the basic X server software. The XDK includes X header files, libraries, and sample source code for several local X clients. You'll need the 32-bit Microsoft C/C++ development tools to build local X clients with the XDK.

A Control Panel for X Windows

Xconfig, a utility similar to the Windows Control Panel, lets you quickly view or change system settings, such as start-up method, key mapping, security, protocol (i.e., which extensions to support), fonts (i.e., font database and aliasing), transports (TCP/IP and DECnet), and perform ance parameters. Using Xconfig, you can select the fastest method to complete graphics operations based on the video card and the NT video device driver. For troubleshooting, eXceed can trace X protocol requests and log them to a file.

The newest version of eXceed adds password protection to the Xconfig utility and, for more fine-grained control, issues passwords for configuring individual categories. At large sites, this can simplify management by supporting standardized setups and letting users modify only a limited number of personal settings.

Another administration utility, Sconfig , lets you customize and simplify the eXceed setup program for deployment. Usually you would use Sconfig to build template files for classes of target systems or to customize installation for specific applications.

Once you install the X server, you can manage the configuration remotely with Rconfig . This utility supports transferring files, viewing and changing Xconfig settings, m anaging fonts, modifying .INI files, and installing Program Manager icons on remote machines. Scripts can automate the process of remote configuration and management on any number of target systems. Extensions to the X protocol handle remote communications, so Rconfig can manage other eXceed systems only when the remote X server is running.

Hummingbird wrote Sconfig and Rconfig with the scripting language of eXceed Basic, which illustrates the language's impressive scripting power. Using the eXceed Basic workbench as a text editor, you can also write scripts for the ftp and telnet programs to automate common tasks.

Not Quite Point-and-Click

For new X users, setting up and starting remote Unix clients is a tricky process because of the variety of start-up methods supported by X clients and the variations across Unix platforms. You can start applications from NT on demand (using telnet or executing scripts), or XDMCP ca n automatically start X clients based on files configured on the Unix hosts. You can also create a local Xsession file in NT that will automatically start a large number of X clients. This Xsession file (.SES) can contain a list of other script files and applications to start when you double-click on the Xsession.

Launch Pad emulates features common on Unix systems with X managers, such as Motif and Open Look. Launch Pad displays a pop-up menu for starting applications. A customized launchpad can trigger any local NT application or X application (remote applications via one of the X start-up methods). This is the same concept used by the Explorer interface in Windows 95. The Launch Pad utility comes preconfigured with menu items for standard NT applications, eXceed programs, a DOS box, window management, and a placeholder for X applications.

Launch Pad also offers a virtual desktop window manager similar to the OLVWM (Open Look Virtual Window Manager). This eXceed desktop provides a virtual scre en that's much larger than the physical screen. With a small virtual screen pop-up utility, you can move windows off the physical screen onto the virtual screen to reduce clutter and make it easier to work with several applications.

X to the Test

We tested eXceed 4 for Windows NT in two environments. First, we used a 90-MHz Pentium with 32 MB of RAM, a Diamond Stealth 64 VRAM PCI (Peripheral Component Interconnect) card, and an SMC PCI Ethernet network card running NT Server 3.5. Second, we used a 486DX2-66 system with 16 MB of RAM, an Orchid Fahrenheit ISA card, and an SMC Elite16 network card running NT Workstation 3.5. In both cases, we configured NT with the video card in 1024- by 768-pixel by 256-color noninterlaced mode.

For testing, we used the eXceed X server to run client applications on a variety of Unix systems, including Sun SPARC machines running SunOS 4.x and Solaris 2.x, IBM workstations running AIX, Digital Alpha boxes running OSF/1, and UnixWare and Sola ris x86 on Intel. We found only a few compatibility problems ( see table ) and no instability issues.

Running on the Pentium 90, eXeed's X performance was excellent. To quantify its X server performance, we ran both the older Xbench tests and X11perf, using the newer Xmark benchmark.

X11perf takes a number of hours to run and generates test times for several hundred drawing and text primitives. Xmarks massage this performance data into a single magical number that rates performance relative to a Sun SparcStation 1 (see the figure "X Windows Performance Under eXceed for NT" ). Based on Xmarks and Xbench, eXceed running on a Pentium delivered faster X performance than an older SparcStation 2+ (50-MHz) machine with a Gxplus graphics accelerator running Solaris 2.4.

We hit a few minor compatibility problems when running some common Unix clients. The font alias for the default font used by SunOS and Solaris Deskset applications (e.g., cmdtool and texte dit) and the equivalent UnixWare desktop programs displayed the single quote character (`) for the backward quote character (`). The backward quote character (or grave) is commonly used in many Unix shell scripts. This problem was mostly a mild annoyance once we realized that it was only a font-aliasing problem. We also encountered some font-aliasing problems resulting from font metrics (e.g., character spacing) using a few X applications.

Using the NT PVIEW (Process Viewer) tool from the Resource Kit or the Win32 SDK, we occasionally found some dummy local X clients (i.e., eXceed Basic run times) left running after using Sconfig and Rconfig . A user would not notice these zombie tasks because they weren't associated with windows.

Overall, Hummingbird has delivered a fast and full-featured X server in eXceed 4 for Windows NT. The system-administration features make this product especially attractive to large sites that are deploying X technology.


PRODUCT INFORMATION


eXceed 4 Windows NT
  (Intel, Mips, or Alpha)
     eXceed/Xpress for Windows NT    $249
     eXceed 4 for Windows NT         $545
     eXceed 4-XDK for Windows NT     $745
     Xpress/Host with eXtend (Unix)  $125


Hummingbird Communications, Ltd.
Markham, Ontario,
Canada
(905) 470-1203
fax: (905) 470-1207
sales@hcl.com


WHAT'S NEW


GENERAL FEATURES

  Scripting language (eXceed Basic)
  Enhanced X server performance
  Integrated dial-up remote X
  Programmable toolbars
  Drag-and-drop ftp client


X11R6 COMPLIANCE

  XTEST extensions
  SYNC extensions
  SHAPE extensions
  Tools for transforming fonts


SYSTEM ADMINISTRATION

  Customizable SETUP for users
  Password protection for configuration components
  Remote configuration of X servers
  Enhanced diagnostics and logging




DISK-SPACE REQUIREMENTS OF EXCEED MODULES

Core executables        9400 KB
eXceed/Xpress            359 KB
eXceed Basic tools      3099 KB
Fonts (default)         8230 KB
Fonts (100 dpi)          544 KB
System administration    740 KB



X Windows Performance Under eXceed for NT

illustration_link (7 Kbytes)

Xmarks reduce performance data to a single number that rates performance relative to a Sun SparcStation 1.


X Marks All the Spots

screen_link (39 Kbytes)

Windows NT running alongside X Window System applications using eXceed's multiple-window mode. X clients shown include File Manager, Mailtool, and CmdTool from Solaris OpenWindows Deskset (above). Hummingbird's Xconfig tool makes it easy to configure and modify the X server (left).


Steven Baker works for the Oregon Department of Energy. He is the Networking columnist for Unix Review and former editor of Programmer's Journal. He can be reached on the Internet at msbaker@cs.uoregon.edu or on BIX at editors@bix.com .

Up to the Reviews section contentsGo to previous article: Windows to the InternetGo to next article: Color and a Pentium To GoSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network