the futility of termcap in Linux

Filed under
Linux

Let's stop a moment and examine the futility of termcap in Linux.
Back in the 1970's Unix systems used to output to various hardware devices. First there were teletypes (most often the ASR-33, because they could be bought cheaply secondhand and refurbished by hobbyists). Teletypes were printers with keyboards attached, hooked up to a serial cable. Everything sent to the serial cable was printed with ink on paper, and the keys pressed by the user were sent the other way along the serial cable for the computer too read.

Note: we're not even talking dot-matrix printers here, the ink ribbon was generally struck by a daisy wheel or similar, so there was no possibility of bitmapped graphics. The characters were struck by good old metal type, dating back to Gutenberg.

This is what "tty" is an abbreviation for: teletype. The Unix console infrastructure still thinks in terms of serial ports connected to printers with keyboards attached. Newline and linefeed being separate characters, waiting until a full line of text is typed before processing it, inability to programmatically read back what was written. Even the ctrl-G "bell" character rang an actual metal BELL. These machines not only needed their ink ribons replaced, they needed to be periodically cleaned, oiled, and various pieces tightened and straightened because they rattled apart. It was almost steampunk.

Then in the 1970's "glass tty" devices were introduced, which connected the serial cable to a box with a CRT and keyboard, instead of printer and keyboard. This new style of terminal was a drop-in replacement for teletypes.

rest here