-----Original Message-----
From: fedora-list-bounces(a)redhat.com [mailto:fedora-list-bounces@redhat.com] On Behalf Of
Shahzad Chohan
Sent: Monday, April 25, 2005 9:10 AM
To: For users of Fedora Core releases
Subject: Terminal
Many Thanks for the replies. They were very informative.
Basically I did do a google search during the whole of this morning
but I couldn't find a page that lists all what I wanted to know, and
the other pieces were quite dis jointed from my perspective. All the
same nothing beats getting experienced advice.
I'm still not sure where the terminal sits in terms of linux OS. I
understand a shell executes my commands, so why do I need a terminal,
why not just have a shell. Also why are some terminals called
consoles. What is the difference between the gnome-terminal and say
xterm or the kde version or the xfce version.
Many Thanks for your help
Shahzad
------
Hi Shahzad;
You do things on/in "terminals" because the original computers running Unix were
"headless"; The didn't have an attached keyboard and/or monitor. In many
cases, "terminal" and "console" are one in the same. In some cases,
"console" refers to the terminal the computer operator uses to interact with and
control the computer. Linux doesn't really make use of the concept of an
"Operator Console", so I think in your case, they're probably just two words
for the same concept.
Original computer usage was done by sitting down at a physical terminal, which was
connected by wire (25 of them, to be specific) to the physical computer, which might have
been no where near where you were.
You logged in and were placed in a shell, which accepted your commands and acted on them.
(This was for Unix; there were many other operating systems in popular use, which all
worked in a similar manner. DECsystem-10 would be an example. IBM OS-360 or CP-67 would be
extreme examples.) You interacted with the shell, typing commands and getting responses,
until you logged out.
There were no graphics involved (horror of horrors!!) No icons. No windows. No dialog
boxes. Just you and the command prompt, or the prompts of the programs you ran. Results
were presented in... Text that you had to read. What a novel concept! And, before display
terminals were in popular use, you got a hardcopy log of your entire session, since it was
all printed on paper by the terminal. Display terminals came along and rid us of the
normally unwanted hardcopy.
Now many of the terminals, (VT52, VT100, Hazeltine and others) still wouldn't do
graphics, but they had the innovative ability to relocate the cursor to any spot on the
screen you'd like it to go. They could clear the screen to blank. Most of these did
these things using character sequences beginning with the Escape character. (i.e. and
"escape sequence") Programs started using these in an attempt to provide a
better interface to the computer.
Now forms could be displayed, and the user could fill in the blanks on the form. The big
advantage was that the user could see many of the questions being asked by the program all
at once, where before, they could only see the current prompt. Many more things could be
done with the results as well. A progress bar became possible, and the like. Of course,
these programs generally failed miserably on the still-older hardcopy terminals that were
still in use as well. But note that everything was still entirely done in text; no
graphics involved.
Then came X-Windows (and Microsoft, but we won't go there...) and all the pretty
graphics, icons and windows. This was all great, but a large percentage of the software at
the time was still text based. You had to have a way to interact with these text programs,
but what you had now was a graphics terminal.
Enter xterm. This program, and the ones that followed, emulated the original terminal
interface to Unix, so that you wouldn't have to give up all the programs you knew and
loved, and so that everything the computer could do wouldn't have to be re-written all
at once.
Since many programs were written specifically for a certain type of terminal, or did
different things on different terminal types, you had to tell the system what type of
terminal you were. So, TERM="xterm" became valid, as was TERM="vt100"
and the rest.
You need a terminal to run a shell, because a shell is one of these traditional programs
that run from a text interface. You said it yourself: "The shell executes
commands." How did the command get there? How will the user see the output? Without
the text interface, how would you use the shell? It has no facilities of its own to
receive input, produce output, or handle your graphics terminal. Those are all operating
system features, and in the current context, are all graphic in nature. Xterm is your
interface between the new, graphic world, and the old textual one.
Note that you can run xterm, and still have a choice of several different shells within
it. Or you can run xterm and Gnome term with the same shell. Neither one dictates a choice
of the other. So... Shells don't do windows. Terminals do. It's just that simple.
Gnome-terminal, xterm and the rest are just choices to meet your personal tastes. Each has
its own feature set, advantages, and liabilities. Pick the one you like, and after looking
at the others (so that you don't look foolish when you sit down at someone else's
computer) just ignore them.
If you like the Gnome-terminal, then that's what you should use. That's what I
use, and I can safely ignore the existence of the others. If you like the bash shell,
then, again after looking at the other choices, because you might run into a need in the
future, use bash and ignore the others. 99% of what you do in a shell will be using the
shell you log in with in the first place. If you really like zsh instead, change your
login shell to zsh, and then just ignore the others. And all the shells work with all the
terminals. Interoperability! What a concept!!
This was long-winded, but I hope it helps explain some of the history that led up to what
we have today. Note that I didn't do the source of the 80 column terminal, or the 132
character print line... Though it wouldn't take much to get me started. Having put all
this down, Having worked with everything I mentioned above, I'm feeling kind of old
right now. (49.954288 years, to be exact...)
--
Robert P. Nix Mayo Foundation
RO-CE-8-857 200 First Street SW
507-284-0844 Rochester, MN 55905
-----
"In theory, theory and practice are the same, but
in practice, theory and practice are different."