For example. What is the difference between a default 'interface/console' of FreeBSD/archlinux, vs Terminal, vs Terminal emulator like Xterm, vs Terminal multiplexer like tmux, vs Window manager like awesome; and where does Bash and other 'shells' fit in all this?
What is the difference between a Console, Shell, Terminal, Terminal emulator, Terminal multiplexer, and a Window manager?
7Please consider the answers here: unix.stackexchange.com/questions/4126, and narrow the scope of your question.– Stéphane GimenezMar 9, 2012 at 23:51
A terminal emulator provides a standardised character based interface for text mode applications, it emulates the behavior of real or idealised hardware.
Consoles typically run some sort of terminal emulation, (linux console emulates a VT220 with some additions)
A terminal was dedicated hardware that implements the standard and iwas connected to ther server via a serial connection either directly or via a concentrator. The term is often used to include terminal emulators, it can also include GUI terminals that use X or RDP instead of being text based.
A terminal multiplexer emulates several terminals and mixes their output and directs input in a way that is useful to the user.
Xterm is a terminal emulator the runs under a GUI (X). a window manager can be used to resize and relocate the terminal windows that xterm uses. xterm also has a graphical capability where it emulates a graphical terminal, but there aren't many applications that can exploit this, i know of only two gnuplot and dosemu) most other GUI based terminal emulators dsiplay text only.