Google
 

 

up previous next contents
Up: IntroToUnix Previous: Working in a Network Next: Introduction to Unix -   Contents


X-Windows

Objective

This section discusses the use of a typical graphical interface found on Unix workstations. Graphical interfaces on Unix workstations are based on the industry-standard X-Windows client-server model. Students will be shown how to re-size windows, iconify windows, perform cutting and pasting operations, and more.

Description
X-Windows is an industry-standard "windowing" technology that allows a user, at one X-Window station, to execute multiple simultaneous logins to a variety of host computers (or just one host computer). Under X-Windows a user can easily run multiple applications simultaneously from these hosts, and have the output from these applications displayed to their X-terminal in different windows. A host can be any computer system that supports a login session, and an application can be any executable program that supports either terminal emulation or the X-Windows ("X") client-server paradigm.

Technology and Terminology

X-Windows technology was originally created by MIT and Digital Equipment Corporation under Project Athena, back in the 1980's. The most recent version of the X-Windows technology is known as X11R6, or "X-Windows Version 11, Release 6". (This is planned for release in the spring of 1994).

X-Windows ("X") is:

  1. Device-independent graphical "windowing" technology
  2. Network-enabled
  3. Standard on Unix systems
  4. Available on many computing platforms
    1. Unix/Linux/BSD Computers
    2. Windows PC's
    3. Apple/Mac Computers
    4. DEC Vax mainframes/minicomputers
  5. Based on a client-server paradigm

The X "Display"

The X-Window system is oriented around a "display". The display typically consists of the following components:

  1. Keyboard
  2. Mouse
  3. Display/Monitor(s)

The display can actually consist of multiple monitors (or CRT's).

Each X-Windows application works within its own window (or windows) on the user's display. Windows can be re-sized, moved, iconified, and closed. Cutting and pasting of objects between windows (including entirely different applications) is a part of the X-Windows system.

The X Server

X is based on a client-server paradigm. The software provided to manage the display is called the display server, commonly referred to as the X server, or just server.

The X-server interprets key presses and mouse clicks, and draws on your display device. Applications communicate with the server to display output or read input. The server can communicate with multiple applications simultaneously and still send proper communications to the appropriate clients.

The X Server provides "services" to X-Windows client applications.

The X Client

The X-Windows "client" is any software application that will be displayed on the X Server. X-clients request services from the X-server. For example, for an application to display an X-Window on a user's display device(s), it must request that the server allow the application privilege to write to the server's display.

In the Unix world, it is very easy to share applications between heterogeneous Unix systems. For instance, Lotus 123 for Unix can be installed on an IBM RS/6000 running the AIX operating system (Unix-based). A user on another Unix machine, such as a DEC Unix workstation, can log into the RS/6000, set their DISPLAY environment variable back to their DEC workstation, and then run 123 with the X-Windows being displayed on their DEC Workstation, running across a network.

123 uses the CPU of the IBM RS/6000 when performing calculations, displays results on the DEC workstation, and transfers the information across the network. And, by the way, it doesn't have to be just a DEC workstation displaying the information - it can be a DOS/Windows PC or Mac with X-emulation software, an SGI or Tektronix or Sun or HP, or any other X-Windows system.

Window Managers

In the world of X, neither the server nor the client know very much about the "look-and-feel" of the windowing system. Window borders, on-screen menus, slider bars, and other "widgets", are provided by a separate part of the X system. This part is known as the window manager.

The window manager is a very special client application. When another client application wants to create a new window, the client application and the server communicate with the window manager to make this happen.

In the past their have been a variety of window managers available, the most popular being Motif and OpenLook. With the recent agreements in the Unix industry (primarily the COSE initiative), the Motif window manager will become the standard window manager for Unix computer systems.