Next Previous Contents

1. Introduction

For a quick attempt to install a terminal see Quick Install.

1.1 Copyright, Disclaimer, and Author

Copyright

Copyright 1998 by David S. Lawyer. Please freely copy and distribute this document. Let me know (if you can locate me and if I'm alive) if you significantly modify it. If certain words are trademarks, the context should make it clear to whom they belong. For example "MS Windows NT" implies that "Windows NT" belongs to Microsoft (MS). Mac is by Apple Computer.

Disclaimer

Much of the info in this HOWTO was obtained from the Internet and may be unreliable (although I've done some double checking in some cases). While I haven't intentionally tried to mislead you, there are likely a number of errors in this document. Please let me know about them. It should be obvious that I cannot be held legally responsible for them.

Author Contact

My email in 1998 is bf347@lafn.org. Please let me know of any errors in facts, opinions, logic, spelling, grammar, clarity, links, etc. I realize that this document needs some improvement so I hope to revise it about once a month . Please send me any info that you think belongs in this document.

1.2 What is a Terminal ?

A terminal consists of a screen and keyboard that one uses to communicate remotely with a (host) computer. One uses it just like it was a personal computer but the terminal is remote from the host computer (on the other side of the room or even on the other side of the world). Programs execute on the host computer but the results display on the terminal screen. Its computational ability is relatively low (otherwise it would be a computer and not a terminal). This computational ability is generally limited to the ability to display what is sent to it (possibly including full-screen graphics).

In the days of mainframes from the mid 1970's to the mid 1980's, most people used terminals to communicate with computers. They typed in programs, ran programs, wrote documents, issued printing commands, etc. A cable connected the terminal to the computer (often indirectly). It was called a terminal since it was located at the terminal end of this cable.

If you've been using Linux (except for X-Window use) with a computer monitor and keyboard you already know what a terminal is because you have been using one (or more precisely a "virtual terminal"). The monitor (along with the keyboard) is called the console, but it emulates a terminal.

A real terminal is different from a monitor because it's a different electronic setup. A text terminal is often connected to a serial port of the computer via a long cable. Thus, in contrast to a monitor which is usually located right next to the computer, a terminal may be quite a distance away from its host computer. The video card inside a computer stores the video image seen on the monitor screen. For a terminal, the equivalent of this video card is built right into the terminal but since text terminals are often monochrome without much graphics, the capabilities of its "video card" are rather weak. Also, most text terminals do not have mice.

In network terminology, one might think that the terminal is the client and the host computer the server. This is not actually true since the only "service" the host provides is to receive every letter typed at the keyboard and react to this just like a computer would. The terminal is like a window into the computer just like a monitor is. You may have already used virtual terminals in Linux (by pressing Alt-F2, etc.). A real terminal is just like running such a virtual terminal on its own screen and keyboard. In contrast to using a virtual terminal at the console (monitor), this allows another person to sit at the real terminal and use the computer simultaneously with others.

1.3 Dumb Terminals

There are various conflicting definitions of "dumb terminal", but as time goes by, more and more terminals are called dumb. This document mainly covers text terminals which display only text on the screen. It might be titled "Dumb-Terminal-HOWTO" but in some computer magazines any terminal, no matter how smart, including ones which present a full graphical user interface (GUI), are called dumb. If all terminals are "dumb" then there is no point of prefixing the word "dumb" to terminal (except as a sales pitch to sell computers or the like in place of "smart" terminals). Due to the ambiguous meaning of "dumb terminal" it is not classified here as a type of terminal.

1.4 Types of Terminals

Text Terminals

For a text terminal, a 2-way flow of information between the computer and the terminal takes place over the cable that connects them together. This flow is in ASCII bytes where each byte usually represents a character. Bytes typed at the keyboard go to the computer and most bytes from the computer are displayed on the terminal screen. Special bytes (or sequences of bytes) from the computer tell the terminal where to move the cursor to, what to erase, where to begin and end underlining and/or blinking and/or bold, etc. There are often hundred of such special commands and many terminals can even change fonts.

The communication uses characters (letters) encoded using a code chart for the character set being used. Usually, the first 128 bytes out of 256 possible bytes use ASCII codes. Terminals for unix-like systems, normally connect to computers via a cable running between the asynchronous serial ports (per RS-232-C = EIA-232-D) of the host computer and terminal. Sometimes the connection is via modem or terminal server, etc.

Other names for text terminals are "serial terminal", "character-cell terminal", "ASCII terminal", "ANSI terminal", "asynchronous terminal", "data terminal", "video terminal" and "video display terminal" (VDT). In olden days "video display unit" (VDU) was used for terminals but strictly speaking, it excludes the keyboard.

Old IBM mainframe terminals use "block mode". The characters you type are temporarily retained in the terminal memory (and may possibly be edited by a built-in editor at the terminal). Then when the send key (or the like) is pressed, a block of characters (sometimes just a line of characters) is sent to the computer all at once. Such terminals are not feasible to use with Linux. They are actually block devices (and not character devices). See section Block Mode.

Graphics Terminals

To a limited degree some ASCII symbols can provide graphics on text terminals. One may form arrows: <--- and draw boxes with _ and |. With special graphic character sets, even more is possible. None of these are really graphics terminals. However, the term "graphics terminal" is sometimes applied to all text-only terminals since text is a limited form of graphics.

There are two basic types of graphics displays: raster and vector (rarely used). Raster graphics (bit-mapped) puts dots on the screen by horizontal scan lines drawn by an electron beam (or by energizing pixels or dots on a flat screen. Vector graphic displays use smart electronics to draw lines and curves with an electron beam that can move in any direction. Vector graphics draws high quality lines without zig-zags but is both rare and expensive. Raster graphics is almost universally used today. For PC's, images encoded in vector graphic format are sometimes used but they are translated to raster graphics format for display (with a drop in image quality).

Serial Line Graphics Terminals

Most of this document also applies to these. Most of these can also function as text terminals. The protocalls for such graphics include: Tektronix Vector Graphics, ReGIS (DEC), Sixel (DEC), and NAPLPS (North American Presentation Level Protocall Syntax). All of these are monochrome ??

Fast Graphics Terminals (often known by other names)

None of these covered in this document. A terminal that deserves to be called smart is a graphics terminal which can rapidly display full-screen graphics just like a PC monitor. It will also have a mouse. Bytes sent to it often represent bit-maps for pictures (and other graphics). It will often use a high-speed connection to the computer using twisted pair or coax cable. X-Window terminals are such devices.

For displaying a MS-Windows GUI there are at various types of interfaces and terminals: Winterm using WinFrame software from Citrix is one. Another (based in part on Citrix's code) is Hydra (code name) by Microsoft, also known as "Windows Terminal Server" which works with versions 4 or higher of MS Windows NT. Citrix uses its ICA protocall, and has created an add-on to Hydra known as pICAsso so that WinFrame (ICA) based terminals can use the Hydra system. Hydra is also multiuser. There is also the "MultiConsole Personal Terminal" by Unbounded Technologies and Tektronix has its multi-user interface but will now support Hydra. A magazine article in 1997 called Winterm a "dumb terminal" but it's really pretty smart. Such terminals are often called "thin clients", but some thin clients are more that just terminals as they can execute Java code sent to them, etc.

Quasi-Terminals (= Quasi-Computers)

"Quasi" is my terminology (not standard). These are neither true computers nor terminals but are something in-between. Network Computers (NC's) are computers with a CPU but no hard Disk. They are full-graphics and connect to a server computer. They are different from terminals since the programs they run execute on their own CPU chips. Java code may be sent to them for execution. They should work on IP networks and might work under a server running Linux. Wintel established a "NetPC" which, unlike the NC, is almost a PC computer. However, it has no removable disks so users can't install their own software or obtain copies of anything.

Terminal Emulation

Since a PC has a screen and keyboard (as does a terminal) but also has much more computing power, it's easy to use some of this computing power to make the PC computer behave like a text terminal. Software to do this is widely available and comes built-in with recent versions of MS Windows. An emulation program is often combined with a modem dialing program (such as Minicom for Linux) so that one may (for example) dial up public libraries to use their catalogs and indexes, (or even read magazine articles). The terminal emulated is often the old VT100 (text terminal). Sometimes the emulation is not 100% perfect but this usually causes few problems.

A real terminal is often nicer to use than emulating one. It usually costs less, often has better resolution for text, and has no disk drives to make annoying noises. Some real terminals can emulate various models of terminals but it's still a real terminal.

1.5 Terminology

Configuration means the same as set-up. While Linux commands take options (using - symbols), options in a broader sense include various other types of choices. Install in the broad sense includes setting up (configuring) software and hardware. A statement that I'm uncertain about ends with 2 question marks: ?? Let me know if you know that it's correct (or in error).


Next Previous Contents