The X Window System:
Now Playing on Your Local X Terminal

By George Kraft IV
Texas Instruments
January 1991

Overview of the X Window System

Ever since Unix began its climb toward industry-standard status, there has been a need for a hardware-independent graphical user interface (GUI) for Unix platforms. In response to this need, the Massachusetts Institute of Technology (MIT) and Digital Equipment Corporation (DEC) developed the X Window System -- an open architectural windowing environment based on the W Window System developed at Stanford University.

The X Window System (also known as "X") was first released to the public in 1985 and has since become a de facto standard. MIT standardized the X software in 1987 when they released X Version 11 Release 3 (X11R3). Shortly thereafter, the X Consortium (of which Texas Instruments is a member) was founded to ensure the future use of the X Window System. MIT has since upgraded the software to Version 11 Release 4 (X11R4), which represents enhancements made to the X11R3 standard.

Based on a network protocol rather than procedure calls, X enables distributive work to be done in a heterogeneous network environment. THis is accomplished by allowing X Client Applications (XCA) running anywhere on a network to access the X Display Server (XDS). A graphical user interface such as Motif is built on X to enforce stylistic consistency for windows, menus, and other components.

The X Client Application and the X Display Server are the key components in the X Window System. X Client Applications are programs built upon X that perform tasks with a graphical representation, such as terminal emulation, spreadsheet, word processing, or window management. X Client Applications run on a host computer for multi-tasking and send requests to the X Display Server to be viewed.

The X display Server includes the X server software, bitmap display, keyboard, and mouse. The XDS distributes user input to, and accepts output requests from, various X Client Application programs through a variety of communication channels. X Applications Clients interact with the XDS by requesting manipulation of resources: windows, cursors, fonts, pixmaps, and graphic contexts.

The XDS responds to X Client Applications requests by returning events, replies, and error messages to the client. The X server software runs local to server hardware in order to communicate with the hardware peripheral devices.


The X hardware environment

Because of its open architecture design, X is able to operate on a wide variety of hardware devices. With the X server software, a bitmap display, keyboard, and mouse, X can run on workstations, PCs, or X terminals.

X integrates well in the distributive workstation environment, overcoming some of the shortcomings of closed windowing systems like SunView. White SunView keeps users in its limited proprietary environment, X gives users the freedom of running applications in a heterogeneous network environment. An additional limitation to the closed system environment is the fact that the cost-per-user for workstations may be objectional to some budgets.

An X server software package can be used to turn an existing PC into an X terminal. Although this can be accomplished rather inexpensively, the modified PC will have about half the resolution and 1/10th the throughput of an X terminal. Individual mileage, however, will vary depending on the configuration: for example, some PC X server software packages trade off usage of color for resolution, even though the PC hardware is capable.

For many X users, an X terminal is the hardware platform of choice. X terminals are specialized devices designed to deliver X at an optimal price to performance ratio. X terminals are also loaded with features that integrate themselves well in the market place.


X Terminal hardware features

X terminals come with a variety of options including monitors, resolution, base unit, peripherals, and memory. Screen sizes range from 14 to 19 inches and come in rectangular, landscape, or portrait shapes. Resolution ranges from 1024 X 760 pixels to 1280 X 1024 pixels and beyond. For a cleaner look, most have a 70 Mhz or greater refresh rate. Color options include monochrome, 2-bit gray scale, 4-bit gray scale, 8-bit gray scale, and 8-bit color. In general, the 19 inch 1024 X 1024 monochrome monitor is sufficient for common use. Buyers should be aware, however, that performance may decrease as color options increase due to the extra planes of data being processed.

The base units for X terminals vary in size. Some have a tiny footprint while others have an oversized foot as large as a PC or workstation. Some X terminals offer peripheral options such as mechanical or optical mouse, track ball, PC/AT 101 keyboard, or DEC Vt220 keyboard. A few base unis have noisy fans but this is not common.

X terminals have expandable system and video memory. Many use standard memory like SIMs for easy installation and upgrades, while others use special memory that con only be upgraded by the vendor. Users who are not afraid to open a unit can typically save a considerable amount of money by upgrading the memory themselves. X terminals operate within the range of 1-21 mebabytes of memory.

Many X terminals come with a multi-purpose asynchronous DB-25 port. On some models, this port can be used as an RS-232 hardwired connection to a host for use as an ASCII serial terminal connection (terminal emulation). WIth SLIP support, the async port can be used as the X Protocol medium for dialup access; however, generally at a much reduces rate of transmission. SOme X terminals support attached printer while others provide file printing or allow only screen dumps.

Many X terminals provide hardware connections for both thick and thin Ethernet (AUI & BNC), giving the customer more installation flexibility. However, switching between the two can be as cumbersome as removing the LAN card and moving jumpers, or as simple as selecting the Ethernet configuration from a setup menu.

For users who are concerned about approval ratings, some X terminals are VDE-B, some are VDE-C, some claim to be one of the above, and others don't even display a classification label. You should check both the video monitor and the base unit for the proper UL, FCC, CSA, TUV, and VDE ratings.


Software features

The enhancements MIT incorporated into X11R4 include faster servers, additional fonts, improved color database, shape extension for non-rectangular windows, new security hooks, the X Display Manager Control Protocol, improved Xt Toolkit, expanded Athena widget set, and ICCCM-compliant window managers.

The X protocol is built upon a reliable transport protocol. Some vendors take advantage of this feature by providing X terminals that will work in the TCP/IP environment or in DEC's LAT environment. Depending on the network protocol. X terminals use telnet or cterm to connect to host computers.

The X Display Manager Control Protocol (XDMCP) enables the X terminal to solicit user login assistance from a host computer. The terminal makes a request to the X Diplay Manager (XDM) on the host computer to display a login window on the X terminal, much like a login banner on an ASCII terminal. From there, the user enters his login id and password and the XDM initiates the user's X session. This circumvents the need to telnet or cterm to the host, or to manually initiate the X session by invoking the startx(1) utility.

Some features to look for in selecting an X terminal, or any X server, are screen saver capability, backstoring capability, and local clients. The screen saver feature operates by blanking our or moving images on the screen after a period of time, in order to prevent image burn-in. Backstoring allows the X server to save portions of a window being overlapped. This prevents the client application from having t re-transmit the window when it's fully exposed. If there is no backstoring and the application cannot redraw the window after an expose event, the data is list, leaving the area blank.

Clients running local on the X terminal improve performance by saving transmission time and host resources. Examples of local clients on a X terminal are setup configuration windows and terminal emulation windows.


Performance

It is possible to measure the performance of X servers, whether they be X terminals, PCs with X server software, or workstations with xbench(1). The xbench application measures the time it takes the server to perform tasks and weighs the results in six different categories: line, fill, blit, arc, complex, and overall. These ratings are questionable for various reasons but are nevertheless widely used as a basis for comparison in evaluations. In general, PCs with X server software run much slower due to software and hardware constraints, while X terminals and workstations perform well. (X terminals are, after all, dedicated devices designed to deliver X a a price/performance cost, while the workstation is a multi-purpose computer whose main task is running an operating system rather than user-level programs.)


Configuration

Some X terminals download the X server software from a host, while others run the X server software that is resident in ROM. A downloadable X terminal allows immediate software updates, while ROM-resident software ensures dependable booting. Some X terminals provide both; the X terminal downloads its X server software from a host or, if unavailable, it boots from the ROM-resident code. These are important factors when considering updating X server software. You can update the ROM in each online X terminal, or install the new software image on a host computer and then reboot each terminal to update. The latter provides prompt software upgrades at a considerable time and dollar savings. Do you know if your X server is using the latest release (X11R4) of X?

Most X terminals can retrieve configuration information from a host computer. This enables the administrator to centrally manage all installed X terminals. When an X terminal is powered on, it either makes a BootP or RARP broadcast, or uses NVRAM to determine its network configuration. If it uses BootP, it also finds out where to get is X server software and configuration. From there, the terminal downloads its X server software and configuration data (X terminals normally use TFTP or NFS to retrieve this data).

The X Window System also provides a mechanism for X Client Applications to use soft fonts. X terminals have a small set of resident fonts but the rest are downloaded from the host. Fonts can be accessed transparently via TFTP, NFS, DAP, or a special font daemon. Fonts are hardware dependent and are usually distributed with the X terminals to be compiled on the host computer for downloading.


Selecting an X terminal

As with most components, the choice of an X terminal depends on user requirements and budget constraints. X terminals are a good choice for time-sharing systems, delivering X at an excellent price versus performance ratio chock full of many features. There are dozens of vendors to choose from and many details to consider. Before selection an X terminal, users should write down their requirements and then test drive several models. A review of the hardware and software features covered in this article may be beneficial.


Home Mail Copyright