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
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
illustration_link (7 Kbytes)

Xmarks reduce performance data to a single number that rates performance relative to a Sun SparcStation 1.
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
.