Terminal Emulation on a PC

or Mac, or workstation, or PDA, etc., and related information...

With personal computers now on seemingly every desktop, competition for real estate and mindshare has driven most real video terminals into retirement, replaced by a terminal-emulator program running on the usurping PC, Mac, PDA, or Unix workstation. (But not all.)

Note on "Terminal-ogy"

A terminal emulator is a program for hands-on control of a terminal session, where you are looking at a display and typing on a keyboard (or seeming to type on a keyboard, anyway, since that also can be emulated, with mouse clicks or other inputs).

If, however, your computer is running a non-interactive program that is parsing the terminal datastream and feeding the extracted data to some programmatic interface for direct consumption by another program, then what you have is properly called a screen scraper. (Eric Raymond's Jargon file describes screen scraping, and there is a Wikipedia article. Also, techniques for screen scraping are featured in Michael Schrenk's 2007 book, Webbots, Spiders, and Screen Scrapers.)

These two types of programs share many properties, but calling them by their right names avoids confusion.

One annoyance can be that terminal-emulation software does not behave exactly the way the real terminal did. One frustrated Usenet correspondent wrote:

...my experience with "VT100" emulators suggests that many, maybe even most, lack some fundamental capability [such as] the ability to respond to an auto-identification query, the ability to perform certain screen or cursor operations, the ability to transmit appropriate "editing keypad" escape sequences, etc. Beware.
And he doesn't even mention the fact that the keyboard layout is almost always different.

A fellow where I used to work went through a great deal of trouble with a well known, commercially sold emulator product. However, it turned out that the product was actually tested by the vendor only against Unix applications that use "curses", so only the subset of features that "curses" employs could be depended upon to work. He eventually threw the product out.

Therefore, when you are buying a commercial terminal-emulation product, you may want to obtain some type of trial version, so that you can see if it works well enough in your particular environment.

Or if you are writing a new emulation, don't test it only with "vi". Even GNU Emacs would give your emulation a better workout! But better still (for DEC emulations) is vttest. (Or you could save yourself trouble and buy an emulator toolkit from Distinct Corporation or from Minisoft.)

In today's networked world, TCP/IP communication is ubiquitous. This ubiquity has brought hazards along with it: for interactive terminal sessions, the SSH/Secure Shell protocol is now an important security mechanism. Many of the software packages listed on this page now support SSH in some degree.

Microsoft has been gradually improving the TCP/IP implementation in Windows, but odd behavior sometimes is seen in interoperation with other operating systems, and prudent users will need to spend some time checking their security status.
(The Kermit team at Columbia University used vttest to compare several Windows-95 telnet clients, including Microsoft's.)

From the Archives....

Information on keyboards and pointing devices.
About the "pcterm" mode for using a terminal with special PC software.
Description of "scoansi" terminal emulation from SCO/Caldera OpenServer Unix manpage for "display". (link OK in 2008)

Some commercial product vendors

There surely exist other vendors that I don't know about. Also, many vendors of network middleware also include some level of terminal emulation. The World Wide Web is always a work in progress. If some of the links below don't work, don't be surprised, but please let me know. ...RSS

(See note here regarding methods of IBM 3270 emulation.)

(Running in Java)

The idea of Java is that applications can run on a variety of platforms. While it is possible that hardware limitations may sometimes show up, the following products run on many platforms, in some cases including the JREs (Java Runtime Environments) of Linux, Solaris (both SPARC and X86), Mac OS X, HP-UX, Psion Netpad, Nokia Communicator, Windows 98/Me, and Windows 2000/XP/Vista.

(Emulations running under Windows)

(Running on Macintosh)

Recent Macintosh G3 and G4 systems do not come from the factory equipped with an RS-232-C serial port. However, Griffin Technology sells the clever gPort and iPort internal serial-port adapters.

(Running on a Palm OS, WinCE, or other Handheld/PDA, or on a Cell/Mobile Telephone)

For fast terminal-style typing, you may also need an accessory keyboard, such as the ones discussed in this commentary. You may also need to consider how how modem serial cables are wired (differs from a Hotsync cable) with information from here. One source of such cables is PN Technologies/PCables.

for cell/mobile telephones

See also the shareware and freeware packages here.

(Running on a Unix/Linux platform)

As a supplement to a Unix terminal session, FacetCorp offers the FacetTerm session multiplexer.

The Telconi Terminal is a useful accessory for configuring Cisco routers.

(Running under IBM OS/2)

"telnetd" servers for Microsoft Windows NT

This material now has its own Web page.

Emulations and help on the Internet.

Note: Here I try to put a representative sample of terminal emulations and information available freely or as Shareware from Internet sources. These are of varying quality, but perhaps you will find some of them useful.

Note: Because of security issues, the "telnet" protocol should no longer be used, by itself, across the public Internet without encapsulation in some secure underlying protocol. Listed first below are software packages that provide better security and authentication via SSH, although IPsec or Kerberos may be more appropriate security mechanisms for large enterprises or widely deployed applications.

SSH is often the most convenient tool for increasing security of remote connections, however, it is not perfect or foolproof. If SSH is deployed carelessly, security weaknesses may still exist in the connection setup, as discussed in The Kermit Project's SSH Client documentation.

Generalized Information or for Multiple platforms

In Java, or otherwise for multiple platforms

For Windows 7, Vista, XP, 2003, 2000, NT, Me, 98, 95, 3.1

Aladdin's StuffIt Expander can also UnZip in Windows.

For Macintosh/MacBook/iMac/iBook/PowerBook

The Unix-based MacOS X operating system includes its own bundled "Terminal" application, for command-line operation. Some hints for clever use of Terminal features are found in the archived Macintosh keyboard discussion. Also included in recent updates of OS X is the OpenSSH package. (The simple "telnet" command is also available, for the cases where its use would be safe.) And for a tabbed-terminal-window experience under MacOS X, there is iTerm. PowerPC-based machines also can run software packages written for the Classic MacOS 9.x environment,

For Unix and Variants and/or X

For Handheld Computers/PDAs
(3Com Palm/Handspring Visor/Windows CE/WinCE/Psion/Magic Cap/Zaurus)
and Mobile/Cell Phones

These below are freeware/shareware; fully commercial products are here.

for mobile/cell telephones

For OS/2 (including Warp)

For Atari

For Commodore and Amiga

Special-Purpose Applications

Communication Hardware/Middleware/Screen Scraper Vendors

Internet Telnet Protocol Standards

Note that the name of the terminal-session protocol is "telnet", not "tel-e-net". Actually, "Telenet" was/is a commercial packet-switched networking service offered by what is now Sprint, in competition with Tymnet.

All the RFC-65X-series Telnet-option specifications have now been reclassified by the Internet Architecture Board as "historic" protocols.

(If your Telnet works, but your PPP connection does not, you might try referring to the book PPP Design and Debugging (2nd ed.) by James Carlson. Some help on dialup PPP troubleshooting is available from Cisco.)

Another bit of Telnet-protocol history is described as part of the story of the Multics implementation of the EMACS Editor.

More recent developments in the field include an open-source implementation of the Secure Sockets Layer (SSL).

Non-Microsoft DOS for Intel x86

General Microsoft Windows FAQs

Microsoft Windows NT "Terminals"

What Microsoft calls a "terminal server" is not what the rest of the industry calls a terminal server. However, since resistance is futile and we are all now absorbed, here are links for clients packages that can connect only to Windows NT via the Microsoft proprietary protocols. Be forewarned that these products are subject to frequent changes in both name and functionality, as the small vendors jockey for market position amidst Microsoft's FUD.

(return to Video Terminal index page)

Regarding Methods of Emulating the IBM 3270

Some vendors of terminal-emulation software for PCs and Macintoshes have been claiming to support 3270 terminal emulation--when what the product actually supports is mere emulation of a Televideo terminal with a special keymap that a protocol converter has to interpret. (The protocol converter also gets to do the tricky work of the ASCII -to-EBCDIC code translation and asynchronous/bisynchronous communication bridging.) In some environments, this setup is what you want, but sometimes you want these functions handled within the PC--as other products do. Just be certain of what you are getting!

Go back.