Spawn a TTY/Pseudo Shell

A terminal is a physical device with a keyboard and screen connected to a computer running various OS types.

A _**tty **_is the UNIX device name for a physical/virtual terminal.

A _shell _is the Unix command interpreter.

A _**console **is a generic term for a primary i/o device or interface. In UNIX, console is where the boot/startup messages are sent to. After bootup the console effectively becomes a _terminal.

//===========================\\
||          Terminal         ||
||             |-----------| ||
|| Keyboard--->|   Input   |-++->|---|   |-------|
||             |-----------| ||  |tty|<=>| shell |       
||         |---------|<------++--|---|   |-------|
|| Print<--|  Output |       ||
||         |---------|       ||
||                           ||
\\===========================//

When you SSH into the machine the SSH program is acting as the terminal, connecting with yet another tty:

//===========================\\
||            SSH            ||
||              |----------| ||
|| STDIN------->|  Network |-++->|---|   |-------|
||              |----------| ||  |tty|<=>| shell |       
||          |---------|<-----++--|---|   |-------|
|| STDOUT<--| Network |      ||
||          |---------|      ||
||                           ||
\\===========================//

When you open a terminal on linux a lot of the time you are opening a graphic program which comes with the environment you are. For gnome this would be gnome-terminal:

//===========================\\
||      gnome-terminal       ||
||              |----------| ||
|| GDK_p------->| File Wrt |-++->|---|   |-------|
||              |----------| ||  |tty|<=>| shell |       
||          |---------|<-----++--|---|   |-------|
|| Screen <-| File Rd |      ||
||          |---------|      ||
||                           ||
\\===========================//

More, Source

Last updated