The following page makes claims about other software and standards, these are based at .
The following tries to provide a simplified overview of the user interface software available in the open source unix like world. While there are many implementations, there are actually only a handfull approaches to user interfaces on UNIX like systems.
The teletype, short tty, interface originates in the time of terminals. The tty is a text only interface and is usually implemented directly in the Kernel. Special functionality like colors are handled using escape sequences. Small executables like agetty from util-linux or getty from FreeBSD are used to open the tty line. On modern computers terminals are emulated, the tty experiences keyboard and monitor as a terminal.
X is a secification how gui clients talk to a server compositing multiple windows onto a desktop. The current version is X11. The server implementation used virtually everywhere is X.Org. It is a display server, thus doing the rendering part. There are many window managers to be used on to of X.Org, that mainly change the appearance and layout of the desktop, e.g. i3.
Notable points:
Wayland is another specification how gui clients talk to the server compositing them. Wayland does not split the display server and window manager. A Wayland server doing both of these is called a compositor. An example of a Wayland compositor is Hyprland.
Notable points:
Terminal emulators work exactly as the ttys described above,
with the same escape sequences.
They are, however, not implemented in Kernel, but
as clients to X or Wayland.
They are the current standard for displaying text based
interfaces.
Terminal emulators mostly invoke the executable
specified for the current user at /etc/passwd.
This is usually a shell like
GNU Bash,
that then interprets the user input.
SSH is a means to create a secure connection.
Usually, upon connection and authentification,
the executable specified at /etc/passwd
for the authenticated user is ran.
Thus, the SSH client is by default executed in a terminal emulator,
with a shell listening and reacting on the server side.
SSH can also be used to forward X windows.
Examples of SSH implementations containing
both a client and a server program are
OpenSSH
and
Dropbear.
Arcan is both a protocol and its implementation. Arcan is based on having a display server running Appls. Appls being, games and even the window manager itself is an Appl.
Notable points: