OS - Terminal (Emulator) (Term|tty)
Table of Contents
About
A terminal is a media using a fixed-pitch character grid such as:
- teletypes,
- portable devices with limited display capabilities
- bank terminal
The term terminal cover all terminals:
- text based such as console
- but also graphical interfaces.
A terminal introduces the context of output where to draw and/or write data.
This article talks about text terminal.
A terminal emulator, terminal application, term, or tty (teletypewriter), is a program that emulates a terminal.
features
Example:
- Native Windows user interface with a simple options dialog.
- Easy copy & paste.
- Drag & drop of text, files and folders.
- Ability to open files and URLs with Ctrl+click.
- Comprehensive character encoding support, including UTF-8.
- Wide character display and Windows IME support.
- Window transparency, including glass effect on Vista and 7.
- 256 colours.
- Fullscreen mode.
- Options stored in a text file. No registry entries.
- Small program size and quick scrolling.
Text
The role of a text terminal (emulate process or not) is to interact with the user:
- to feed text input to the master pseudo-device for use by the shell (which is connected to the slave pseudo-device)
- and to read text output from the master pseudo-device and show it to the user.
The terminal emulator must also handle terminal control commands, e.g., for resizing the screen.
A terminal window allows the user access to a text terminal and all its applications such as:
- and text user interface (TUI) applications.
When user starts terminal, it runs generally by default a OS Shell or a console application (cli).
Locality
Local
A local terminal is also known as a console window.
On Unix-like operating systems, it is common to have one or more terminal windows connected to the local machine.
Remote
Remote terminals connect to remote hosts to run applications remotely.
The terminal may run on a remote machine via:
- ssh,
- or dial-up.
List
- iTerm2,
- konsole,
- guake,
Escape sequences
Terminals usually support a sequence of characters called an escape sequences for controlling color, cursor position, etc.
Color
See Terminal - Color
Terminal emulator
Local login
- GNOME Terminal,
- Konsole
- and Mac OS X Terminal.
Remote Login
Remote login handlers such as ssh and telnet servers play the same role but communicate with a remote user instead of a local one.
With session context
Screen and Tmux are used to add a session context to a pseudo terminal. For example, it provides terminal persistence allowing to disconnect from one computer and connect later on from another computer on the net.
the Linux console behaves almost like a vt100 terminal
Pseudo-Terminal
PuTTY is an example of a virtual terminal.
Virtual Terminal (VT) series:
Many terminal emulators have been developed for terminals such as:
- vt53,
- vt102,
- vt320,
- vt420
- etc.
If not, screen implements a superset of vt100 and vt100 is universal
pseudo-terminal normal login session
if the current session has no tty