Cover V02, I01


Terminal Choices: The Right Tool for the Job

G. Clark Brown


On a UNIX system, the terminal that provides the connection between the user and the host can be an ASCII terminal, a workstation, an X terminal, a PC, or an AlphaWindow terminal. When new systems are set up, or new users are added to existing systems, a decision must be made concerning which type of terminals to get. While familiarity, price, performance, user preference, and many other factors may affect the choice, the first question that should be answered is: Which type of terminal will help the user get the job done best? This article describes the advantages and disadvantages of each type of terminal, then offers a guide for selecting the right one for your users.

ASCII Terminals

Most UNIX users access the host via ASCII terminals -- also called text terminals or dumb terminals. This category includes models from Wyse, DEC, Televideo, ADDS, AT&T, Link, and many other vendors. These terminals connect to the host through an RS-232C serial connection and support text and simple text-based line-drawing graphics. The host software uses control characters and escape sequences to control the terminal.

ASCII terminals, most of which sell in the $400 to $700 price range, are the least expensive solution for adding users to the system. On the host side, each terminal requires a serial port that can be provided through a multiport adapter card or a network terminal server. No special software is required, and the text-based programs that run on these terminals require the least amount of memory and CPU overhead.

Some ASCII terminals support color and/or enhanced graphics. Most have programmable function keys that make application programs easier to use. Only a few have a mouse, and only very specialized programs are able to use it. Most allow a printer to be connected to an auxiliary port, and many programs will use the "pass-through" commands to send output to the local printer.

When choosing an ASCII terminal, look for one that is supported by a wide variety of application programs. Writing or modifying terminal drivers for different programs is difficult, and can usually be avoided if the terminal is a very common type, or emulates a common terminal well.

Workstations (X Servers)

On the other end of the scale is the most expensive type of terminal, the X Server or workstation. The workstation is a UNIX host that is dedicated to a single user. It is connected by a network to the main host or to several different hosts. SUN Microsystems made this type of environment popular, but workstations are now available from many different vendors.

The X interface allows the user to control applications with the mouse, to run several applications at once, and to use programs that display and edit graphics. In X terminology, the user's workstation is called an X "server" because it provides display services to the application program.

The workstation does some of the user's processing locally, thereby moving CPU and memory usage off of the main host. While this is not critical in text-based applications, the graphical X-based programs use a large amount of memory and processor time. Since the load is shared by the main host and the user's workstation/host, this topology is called "distributed processing."

In addition to the expense of the terminal itself, you must consider the cost of network connections, network and graphics software overhead, and the X support software for the host and the workstation.

X Terminals

X terminals provide the user with the ability to run X programs, but they are less expensive than workstations. The savings can be misleading, though, because the X server software runs on the main host. The substantial per-user burden in memory and CPU usage that this places on the host either will require more investment in memory hardware and CPU power, or will lead to slow response time for all of the users.

Since X terminals require the host to do most of the processing, they must communicate mouse movements, keystrokes, etc., back to the host through the network. The host must then communicate back detailed graphics commands to the terminal. Because this verbose round-trip conversation takes time, response time for the user will be much better on a workstation than on an X terminal.

Personal Computers

Users can also connect to the UNIX host with an IBM PC-compatible running MS-DOS or OS/2, or with a MacIntosh. Depending on their communication software, and hardware communications connection, such systems can be assigned to one of the categories described earlier.

For a PC with a character-based terminal emulator like Procomm Plus or ICE-10, most of the considerations are the same as for the ASCII terminals. Host impact is small, the emulation software is inexpensive, and text applications will run well. This is usually a good solution for users who already have a PC, and who need to access the UNIX machine independent of their PC work. The only integration between the local PC programs and the host is the ability to transfer files back and forth (and sometimes to use the UNIX printer from a DOS program).

A user with a very capable PC (386 with extra memory) might choose to get X terminal software, which would also require the network connection to the host. In this case, the comments about X terminals or workstations would apply.

Application Software

As is true of most hardware decisions, the choice of a terminal should be based primarily on the software the terminal is intended to support. What programs will the user be running? Will they be graphics or text? Will there be large amounts of data entry, or will the computer be used as a conceptual tool?

To edit graphics, the user would need a graphics terminal of some sort --either the X terminal, the workstation, or the PC with X software.

Most software is written for character-based terminals and will run on ASCII terminals, on PCs with ASCII terminal emulators, and in special "term" windows on X terminals and workstations. If an application that requires a lot of data entry is to be run on an X terminal, you'll need to test the performance carefully, because some communication setups allow a good typist to get ahead of the program in an xterm window.

Processor Power

The amount of memory and CPU power available to your host will significantly affect your terminal choice. A 33 MHz 30486 host with 16 Mb of memory, a large hard disk, and the O/S costs $3,000 to $5,000 and will support 10 to 20 users of ASCII terminals (depending on how much they use the machine). The same system would support three or four X terminal users, or it could be used as an X workstation for one user (and not require as large a hard disk).

The RISC and multiprocessor classes of hosts will support more users, but they will still support many more ASCII terminals than X terminals.

Multiple Applications on X

One of the reasons users choose X over ASCII terminals is the ability to run multiple applications. You can start a word processor in one xterm window and a copy of your database program in another, then you can switch between the screens and also move data from one application to the other.

X also allows you to "keep your place" in one program and switch to another. This means that if you were in an entry screen in one window and needed to perform an inquiry on the same file, you could switch to another copy of the same program without having to finish the entry and go back through the menu system.

Multiple Applications on ASCII Terminals

It is also possible to get the advantages of multiple applications on ASCII terminals. Session management software like FacetTerm allows you to start several different application programs, switch between them, cut-and-paste information, and run long processes off-screen while working in another program.

Although it sounds like a resource-intensive proposition, it actually uses surprisingly little in the way of resources. The session manager itself uses about 350Kb for the first user and about 180Kb for each additional one. The programs that are running in the sessions are usually waiting for user input, so UNIX swaps them out of memory to disk as soon as it needs the space for something else.

GUI Look and Feel in X

Users also choose X over ASCII terminals because of the Graphic User Interface -- which includes the ability to show all the applications that the user is running on the screen. The terminal has a mouse that can be used to select a session to work on, start and stop application programs, and select system functions from a menu.

This GUI look-and-feel helps solve many of the user interface problems that plague character-based terminals and software. It has a consistent, intuitive quality that allows users to guess what they need to do with the mouse and keyboard to accomplish a certain operation. It provides multiple possibilities for the user to choose from and, in many cases, context-sensitive help as well.

GUI Look and Feel on ASCII Terminals

The newest possibility on the scene is AlphaWindow terminals. They are basically ASCII terminals with additional features that make them competitive with X terminals for text-based applications.

AlphaWindow terminals have display management capabilities for multiple applications running in virtual terminals. They provide movable, re-sizable windows on the screen to give the look of the X GUI interface. Most include a mouse that can be used for window manipulation. Later, the user should be able to use the mouse in application programs that have been improved to run on the AlphaWindow terminals.

In order to support multiple sessions on the UNIX host, AlphaWindow terminals require session management software, called the window manager, on the host. Like FacetTerm, this program manages the various application programs and communicates with the terminal to coordinate the placement and contents of windows.

AlphaWindow terminals are more expensive than plain ASCII terminals, but still less than X terminals. Again, since they require only a window manager and character-based applications, they put a minimal strain on the host.

The Final Choice

With all of these possibilities, how do you choose which terminal is right for your users? Here is the step-by-step approach:

1. Do the users need interactive graphics in their applications (e.g., CAD, publishing layout, etc.)? If the answer is yes, then they need X terminals or workstations.

2. Do the users need access to multiple applications? If they do, X terminals or workstations would work, but ASCII terminals with session management software would also do the job.

3. Do the users need the GUI look and feel? Here again, X would provide that, but you should consider the AlphaWindow approach.

4. Finally (but often most important), how much can you afford to spend?

  • ASCII terminals are the least expensive, even when the cost of session management software is included.

  • AlphaWindows terminals cost 30 - 40 percent more than ASCII terminals, but provide the GUI look and feel.

  • PC/ASCII emulation software combinations are about twice as expensive as ASCII terminals.

  • X terminals cost about three times as much ASCII terminals, and you then have to figure in additional memory and CPU power on the host.

  • X workstations are four to six times as expensive as ASCII terminals.


    A careful look at the choices available for terminals shows why X stations are shipping thousands of units per year, while ASCII terminals are shipping millions. X is the right answer for some special situations, but for the vast majority of UNIX installations, ASCII terminals do the job. With the addition of session management software and the new AlphaWindows terminals, they become an even stronger competitor to X.

    About the Author

    G. Clark Brown is a senior software engineer at Structured Software Solutions Inc. in Plano, TX. As developer/support contact for SSSI's FacetTerm and Facet/PC products, he deals with a variety of installation and configuration problems that relate to connecting ASCII terminals to UNIX and making them work with applications. Clark has been doing this with applications that he has written for 16 years (nine years with UNIX).