A window is a (usually) rectangular area in a GUI that that presents its contents (e.g., an image, the contents of a text file, or a listing of the contents of a directory) seemingly independently of the rest of the screen and that can be moved, resized or otherwise manipulated independently of other objects (e.g., windows or icons) on the screen.
A GUI is a type of human-computer interface (i.e., a system for people to interact with a computer) that uses windows, icons, pull-down menus and a pointer and that can be manipulated by a mouse (and usually to some extent by a keyboard as well). An icon is a small picture or symbol that represents a command or program, file, directory (also called a folder on some operating systems) or device (such as a hard disk drive or a floppy disk). A command is an instruction telling a computer to do something, such as launch a program.
The terminal window derives its name from the fact that it emulates the text-only monitor and keyboard combinations that were commonly used for earlier generations of multi-user computers and which were referred to as terminals or consoles.
The term console, as currently used with regard to Linux and other Unix-like operating systems, is an all-text mode user interface that occupies the entire screen of the display device and which does not sit on top of a GUI. Prior to the launching of the Apple Macintosh in 1984, virtually all computer displays were consoles.
The console and terminal windows are the two types of command line interfaces (CLI) in Unix-like systems. A CLI is an all-text display mode that has a command interpreter running in it and that shows commands, including their arguments (i.e., input files), and other data as they are typed in at the keyboard as well as the results of most such commands. A command interpreter, also referred to as a shell, is a program whose primary function is to read commands that are typed into a console or terminal window and then execute (i.e., run) them.
Terminal windows are extremely convenient and offer several important advantages over the console. One is that they make it possible to use command line programs (i.e., text-mode programs) without having to exit the GUI. It can be inconvenient to exit a GUI because it takes time to stop it and restart it and because any programs (and their data) that are open in the GUI are not visible while not in the GUI. Terminal windows allow any other windows that are open on the GUI (including other terminal windows) to remain open at the same time that the terminal window is open.
Terminal windows can be opened and closed just like other programs; that is, they can be opened by clicking on an icon, by selecting the appropriate menu item, or even by issuing a command from another terminal window. Likewise, the user can easily change their size and location by dragging them with the mouse. And users can adjust their font size, colors (both text and background) and other characteristics through the use of pull-down menus instead of the text commands that are necessary to adjust such characteristics for the console.
Another advantage of terminal windows as compared with the console is that some editing of commands, such as copy and paste (including to and from other programs), can be performed through the use of the mouse together with menus, and also to some extent through the use of keyboard commands, depending on the particular terminal window program and version.
All terminal window programs (i.e., programs that create terminal windows) also feature the ability for multiple windows to be open simultaneously and independent of each other. Moreover, some such programs also allow multiple windows to be opened within a single frame. Referred to as tabbed windows, this is analogous to the very popular tabbed browsing capability that is available on advanced web browser such as Firefox, Opera and Safari.
Terminal windows have the disadvantage that they can only operate when a GUI is available and operating. Thus, they are not available on systems on which a GUI has not been installed, such as specialized systems where security and/or space conservation are primary considerations (e.g., dedicated router or firewall machines or embedded systems). They are also often not available when a system is being repaired and only minimal system services are available.
A number of terminal window programs are available for Unix-like operating systems. They include gnome-terminal (which is part of the GNOME desktop environment), konsole (part of the KDE desktop environment), xterm (which emulates the long obsolete DEC VT102 and Tektronix 4015 terminals), Eterm (a color replacement for xterm), rxvt (another replacement for xterm) and Multi Gnome Terminal (an extended version of gnome-terminal). A desktop environment is an advanced GUI that attempts to provide applications with a consistent look and feel (including identical menus to the extent possible) and to allow them to interact seamlessly with each other.
Multiple terminal window programs are included on many Linux distributions (i.e., versions). For example, Red Hat 9 includes gnome-terminal 2.2.1, konsole 1.2 and xterm 4.3.0 on systems on which both GNOME and KDE have been installed. The terminal window programs on Knoppix 3.7 include konsole 1.4.1, xterm and rxvt.
On some distributions of Linux it might be difficult (or impossible) to find a particular terminal window program in the GUI menu hierarchy. Often the most convenient way to find it can be to open a terminal window using any available terminal window program and then type in the name of the desired terminal window program. For example, to see if xterm is available on the system, all that is necessary is to open any available terminal window program (e.g., gnome-terminal or konsole) by clicking on the appropriate icon or menu item and then typing in the following command followed by pressing the ENTER key:
Terminal windows were available on earlier versions of Microsoft Windows, including Windows 95 and Windows 98, for running MS-DOS, which was the underlying operating system. Newer versions, such as Windows 2000 and Windows XP, are not based on MS-DOS, but they have text mode windows for emulators of that operating system.
Created May 1, 2005. Updated December 6, 2006.