The X Window System is a graphical user interface (GUI). Although it is frequently used on Unix workstations it can be used on almost any computer. For a brief essential section on why GUI's are useful please go to Why Use GUIs?.
Like Unix X has a development history. For an essential short history of X please move to Background. Just as there are different "flavors" of Unix there are different X-like systems. These are vendor specific window systems that are based on MIT's X11, which is the original X. These systems have been configured by the vendor to work with a particular Unix "flavor". Each of these has a unique look and feel. The two major X variants are Motif and OpenWindows. OpenWindows is a part of Sun's Solaris system. SGI uses Motif.
For more essential information please go to Basic X Terms.
X protocol is what sets the standard for X. This protocol pertains to the way the client and the server communicate with each other. It has no effect on the way X will look on a terminal screen. This means that a number of user interfaces that all look different can still be called X. The look is determined by which utilities (widgets and toolkits) a programmer used to develop the interface.
Conceptually the basic X building blocks are the display, server and client. For more essential information please move on to Clients and Servers.
Every X system uses a window manager. The window manager gives each window a title bar, border and makes it possible to resize, move and iconify windows. There are several window managers. The most common are:
Generally a window manager is initiated as part of a user's startup script as is the X system. However, both can be be started from the command line. The startup script is what pulls together all the elements that comprise a user's X environment. The startup script for X includes initialization files, resource files and startup files for the window manager.
1. So what happens if the window manager isn't in the startup script?
This script is known as either $HOME/.xsession when xdm, the X Display Manager, is used to begin an X session or $HOME/.xinitrc if xinit, the X Window System initializer, is used. Although there are some differences between the scripts, the conventions for configuring them are the same. For the rest of this module xinit and .xinitrc will be used as examples.
The first thing xinit does is to find the initialization file .xinitrc and execute the commands found in it. It is the commands in this file that determine what programs will be started every time X starts. xinit terminates when the last command in .xinitrc has been executed. So the command to start the window manager is generally the last command in the file.
Resources are the variables used by a specific X client. They are read from the .xresources, by the xrdb program, as part of the startup script. The .xresources file contains information on the configuration of various X applications such as the size of windows, text fonts and color selection.
The startup files for the window manager are where the manager can be modified to suit the specific needs of a user. These preferences are stored in the initialization files for the window manager. In these files a user can create personalized menus to specify such things as what pressing each of the mouse buttons will do. All window managers have a file that holds the standard menus. If no special menus exist the window manager will use the standard menus.
Common X programs include; xcalc, xclock, xwininfo and xterm. The first two are self explanatory, being a calculator and a clock. xwininfo brings up a "Window Information" window that displays information such as height, width and depth for any window the user selects with the mouse.
The xterm program is a terminal emulator. It presents the user with a window that functions as a pseudo-terminal. This means that each xterm window can have a different program or programs running in it. When a window is created it is controlled by the shell specified in the SHELL environmental variable. Unix commands can be entered in this shell as can commands to call up other X clients.
On SGI and HP workstations, the window environment s the first screen the user sees once the system is up. On Sun workstations xinit must be used to call up the OpenLook environment, unless the system is running Solaris. For recommended information on vendor specific X Windows System variants see:
CDE is a common Unix desktop environment. It was developed by HP, IBM, Novell, and Sunsoft. It is an open system, built on OSF/Motif and X Windows industry standard technology rather than on a vendor specific system. In simple terms, CDE is a desktop GUI that can be used on different "flavors" of Unix. CDE looks very much like HP VUE. Currently CDE is being bundled with regular distributions of HP-UX, Solaris, and AIX. There is are two CDE products, one from TriTeal Enterprises and one from Executive Tools, are available for Linux. On Solaris systems with CDE, users can chose between a CDE and an OpenWindows desktop. On HP-UX systems, users may chose between HP VUE and CDE.
For more optional information on CDE see:
Terms used: widget, toolkit, xinit, X protocol, xterm, xrb, terminal emulator, xdm, X server, X client, pseudo-terminal.