What does "TTY" stand for?
Solution 1:
Early user terminals connected to computers were electromechanical teleprinters or teletypewriters (TeleTYpewriter, TTY), and since then TTY has continued to be used as the name for the text-only console although now this text-only console is a virtual console not a physical console.
There are 6 virtual consoles in Ubuntu accessed by the keyboard shortcuts Ctrl+Alt+F1 to Ctrl+Alt+F6. You can move away from a virtual console (move the console to the background) by using the keyboard shortcut Ctrl+Alt+F7.
In Ubuntu 17.10 the login screen now uses virtual terminal 1. In Ubuntu 17.10 and later press Ctrl+Alt+F3 up to Ctrl+Alt+F6 for accessing a virtual console and press Ctrl+Alt+F2 to go back to the desktop environment.
Ubuntu 18.04 virtual console
Solution 2:
This is a teletype writer:
Pressing a key sends a character down the serial link. Incoming characters on the serial link are printed on the printer. So when you type ls
, you get a hardcopy of the file listing.
(from http://www.cl.cam.ac.uk/~djg11/howcomputerswork/)
Solution 3:
Yes, the origin of TTY
in Unix is from teletypewriter. The tele in telephone, teletypewriter, etc comes from a Greek root meaning far or distant. tele
+ phon
(sound) = Speaking at a distance and so on.
Timeshare systems (pre-Unix) developed physical terminals that allowed you to interact with (share) the computer during your scheduled time. These terminals meant you did not have to be physically in front of the computer to use it. You could also send output to a teletypewriter, that would print the output at that location.
This was the existing physical infrastructure when Unix was developed, so it was natural to use it for Unix networking. Emulation in virtual or software terminals of the features in physical terminals prevented older code or network infrastructure from breaking.
It's this origin in physical terminals (and ultimately the machines origins in the telgraph (distant writing) system and their use of control codes that accounts for certain terminal standards today. These include the standard 80 character width and the carriage return and linefeed codes.