Some useful material that I culled from here and there about UNIX virtual terminals.
I don’t know if it’s a good thing or bad thing that UNIX has so much history.
On the one hand, you can search for it and find it.
On the other hand, there’s so MUCH of it.
I guess it’s a good thing. There’s just MSDN if you’re Microsoft, and they don’t keep the old articles, damn them.
========== from an article : “Excavating ancient abbreviations in Linux” ==========
“Excavating ancient abbreviations in Linux”
TTY
Perhaps the most confusing jargon in Linux relates to terminals. TTY is an old abbreviation for a TeleTYpe. Teletypes, or teletypewriters, were originally printer-keyboard combinations that read and sent information over a serial line, not too different from an ancient telegraph machine. Later on, when computers only ran in batch mode (when card readers were the only way to get your program loaded), a teletype was the only useful “real time” input/output device available. Eventually teletypes were replaced with keyboard-and-screen terminals, but the operating system still needed a program to watch the serial port where the terminal or TTY was plugged in. That’s what a getty “GEt TTY” process is: a program watching a physical TTY/terminal port. A Pseudo-TTY (a fake TTY, a “PTY”) is the terminal equivalent of a virtual network computing (VNC) server. When you run an xterm or GNOME Terminal program, the PTY acts as a TTY for the virtual or pseudo terminal that the xterm represents. “Pseudo,” meaning “duplicating in a fake way,” is really a more descriptive term than “virtual” or “emulated.” It’s a shame that it has fallen out of fashion in computing.
Dev
Also left over from TTYs is the “stty” command, for “set tty”, and an /etc/inittab (“initialization table”) file that configures which gettys are on which serial ports. In modern times, the only terminal directly attached to a Linux box is usually the console, with its special TTY that’s named “console.” Of course, the “console” TTY goes out the window as soon as you start up X11, which doesn’t use a serial protocol any more. All the TTYs are stored in the “/dev” directory, which is short for “[physical] devices.” Once upon a time you had to configure each such device file by hand when you plugged a new terminal into the set of serial ports on the back of the computer. These days, the install process for Linux (and Unix) just creates in that directory every device file that it can imagine. That way, you rarely have to create one.
============ from the Unix Jargon File ============
at http://www.catb.org/~esr/jargon/html/frames.html
tty: /T·T·Y/, /tit´ee/, n.
The latter pronunciation was primarily ITS, but some Unix people say it this way as well; this pronunciation is not considered to have sexual undertones.
1. A terminal of the teletype variety, characterized by a noisy mechanical printer, a very limited character set, and poor print quality. Usage: antiquated (like the TTYs themselves). See also bit-paired keyboard.
2. [especially Unix] Any terminal at all; sometimes used to refer to the particular terminal controlling a given job.
3. [Unix] Any serial port, whether or not the device connected to it is a terminal; so called because under Unix such devices have names of the form tty*. Ambiguity between senses 2 and 3 is common but seldom bothersome.
======== from a BeOS text: BE ENGINEERING INSIGHTS: Terminal Issues=========
Actually, I liked this article QUITE a lot because it speaks the language at the exact level I wanted…Technical but without assuming that the user is either an ignoranus or guru:
Other than this excerpt, see the doc for other issues like character sets, ANSI escape sequences and compatibility etc;
http://www.beatjapan.org/mirror/www.be.com/aboutbe/benewsletter/Issue103.html
The pseudo-tty driver, “pty“, serves the same purpose as
that in the UNIX world. Both “pty” and the serial driver
provide uniform services in the area of low-level character
handling. This handling is programmable using the “termios”
family of functions, described in any Posix manual. From
the shell, use the “stty” command: Type “stty --help” for
help.
TERMCAP AND CURSES
UNIX pioneered the notion of describing the characteristics
and abilities of standalone terminals, a.k.a. glass TTYs.
There was a plentiful assortment in the 70s and 80s, with
differences that could best be described as gratuitous. The
publicly assembled file, stored in /etc/termcap, allowed
programs like text editors and games to move the cursor all
over the screen, without knowing the particular brand of
incompatible tty being used.
This file is shipped with the BeOS, and comes in handy when
you want to run “vi” or “emacs” locally in a Terminal
window. It is also needed if you log into a BeOS system from
Solaris, or from that VAX VMS system with the TeleVideo.
The BeOS will also ship with “ncurses“, a powerful library
built on termcap, and used by many terminal-oriented
programs. This is based on the “curses” library of BSD UNIX.
In the 90s, most terminal manufacturers have departed the
business (or this world). The market remains for terminal
emulators, such as ProComm, Kermit, xterm of X Windows, and
all UNIX workstation consoles. Be’s Terminal app falls in
this category. All follow the loosely-defined ANSI X3.64
standard.
======= Interesting threads on comp.unix.programmer ======
Searches for “pty terminal” etc’ in comp.unix.programmer in general yield good results.
Example : isatty() usage