Linux – Why does UNIX/Linux provide multiple terminals

consolehistorylinuxterminal

In the 1970’s we had hardware terminal with CUI (character user interface) interface for input/output.

Now, we have terminal emulators (Ctrl+Alt+Fn) in Unix/Linux world.

In Ubuntu OS, I see seven terminal emulators, where GUI is occupying 7th terminal emulator (Ctrl+Alt+F7).

For example, this is my first terminal (Ctrl+Alt+F1) emulator

$ tty
/dev/tty0

Why does Unix/Linux provide multiple terminal emulators?

Best Answer

Why does UNIX/Linux provide multiple terminal emulators [on the console]?

For the same reason your GUI terminal emulator likely supports tabs (e.g. GNOME Terminal), and if not (e.g. rxvt), then for the same reason launching a second GUI terminal app instance doesn't just pull the first one to the foreground and exit, forcing you to use the first instance.

I routinely use at least 3 terminal windows in my work, and often more:

  1. Text editor for the server side of the system I'm working on

  2. Text editor for the client side of the same system

  3. Command window for running the server

I rarely need a fourth terminal for running the client program, since it usually runs elsewhere (web app, native GUI app, mobile app, etc.), but if I were developing a CLI client for my server app, I'd have a separate terminal open for it, too.

In the past, before sudo became popular, I kept a root terminal open all the time.

I rarely use Unix/Linux boxes interactively at the console without a GUI these days, but I do often run them headless and access them over SSH. My SSH terminal client of choice supports tabs, configured as above.

One of my current hobby projects has me using a real old glass terminal occasionally, which means I no longer have multiple terminal windows, so I'm finally learning a bit about GNU screen, a program I never had much use for before, since I had either multiple console terminals or multiple GUI terminals. And what does screen do? Among other things, you can configure it to give you multiple virtual terminals on a single screen, just like Linux does with Ctrl-Alt-Fx.

Related Question