Content deleted Content added
→References: Tweak cites |
|||
Line 1:
{{short description|Program that emulates a video terminal}}
{{
[[File:Xterm.png|thumb|300px|[[xterm]], a terminal emulator designed for the [[X Window System]]]]
[[File:Windows Terminal v1.0 1138x624.png|thumb|300px|[[Windows Terminal]], an open-source terminal emulator for [[Windows 10]] and [[Windows 11]]]]
Line 11:
== Background ==
In the early days of computing, with the advent of interactive computing, the prevailing model involved a central computer connected to multiple terminals.<ref>[http://www.inf.fu-berlin.de/lehre/SS01/hc/minicomp/ FU Berlin, 3. Minicomputer architecture]</ref> This configuration, known as the centralized or mainframe model, featured a powerful central computer that performed all the processing tasks, while [[
=== Character-oriented terminals ===
Line 23:
During the 1990s, new operating systems like [[Windows]] and [[OS/2]] arrived, providing the technical background for more terminal emulators like [https://winworldpc.com/product/telix/100-for-windows Telix for Windows], [[ZOC (software)|ZOC for OS/2]], or [[PuTTY]], which was initially released for Windows in 1998 and which (together with its derivates) is still one a very popular choice to this day.<ref>{{cite web |url=https://www.slant.co/topics/1552/~best-terminal-emulators-for-windows |title=SSH Clients for Windows}}</ref>
Through the [[
==Examples of terminals emulated==
Line 41:
In the past, [[Unix]] and [[Unix-like]] systems used serial port devices such as [[RS-232]] ports, and provided {{Code|/dev/*|text}} [[device file]]s for them.<ref>{{Cite web|title=A Brief History of Terminal Emulation {{!}} Turbosoft|url=https://www.ttwin.com/blog/270-history-terminal-emulation|access-date=2021-10-04|website=www.ttwin.com}}</ref>
With terminal emulators those device files are emulated by using a pair of [[pseudoterminal]] devices. This pair is used to emulate a physical port/connection to the host computing endpoint - computer's hardware provided by operating system APIs, some other software like [[rlogin]], [[telnet]] or [[Secure Shell|SSH]] or else.<ref name=":0">{{Cite web|title=Ubuntu Manpage: tty — general terminal interface|url=http://manpages.ubuntu.com/manpages/bionic/man4/tty.4freebsd.html|access-date=2021-10-04|website=manpages.ubuntu.com}}</ref> For example, in Linux systems these would be {{Code|/dev/ptyp0}} (for the master side) and {{Code|/dev/ttyp0}} (for the slave side) pseudoterminal devices respectively.
There are also special [[virtual console]] files like <code>/dev/console</code>. In text mode, writing to the file displays text on the virtual console and reading from the file returns text the user writes to the virtual console. As with other [[
Some terminal emulators also include escape sequences for configuring the behavior of the terminal to facilitate good interoperation between the terminal and programs running inside of it, for example to configure [[paste bracketing]].
The virtual consoles can be configured in the file <code>/etc/inittab</code> read by ''[[init]]''
==== CLI tools ====
Line 64:
{{main|Computer terminal#Modes}}
Terminal emulators may implement local editing, also known as "line-at-a-time mode". This is also mistakenly referred to as "[[half-duplex]]".{{
The complexities of line-at-a-time mode are exemplified by the line-at-a-time mode option in the telnet protocol. To implement it correctly, the ''Network Virtual Terminal'' implementation provided by the terminal emulator program must be capable of recognizing and properly dealing with "interrupt" and "abort" events that arrive in the middle of locally editing a line.{{sfn|Miller|2009|p=590, 591}}
Line 145:
==External links==
{{Commons category|Terminal emulators}}
* [http://www.linfo.org/terminal_window.html Terminal Window Definition] by The Linux Information Project (LINFO)
|