HPlogo Using the X Window System > Chapter 2 What is the X Window System?

Basic Concepts

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Glossary

 » Index

This section introduces several fundamental concepts:

  • The role of the X server.

  • Multi-tasking environments.

  • Remote access.

The Server-Client Interaction Model

The X server usually starts during system boot before the login screen is displayed. The display server controls all access to input devices (typically the mouse and keyboard) and all access to display devices. You can think of it as standing between the programs running on your system and your system's input and display devices.

Figure 2-1 The Server Controls Display Access.

[The Server Controls Display Access]

A client is any program written to run with the server. Clients know about windows and workspaces and how to make use of them. Non-clients are programs that don't know how to make use of windows.

Multi-Tasking

Multi-tasking is the computer's ability to execute several programs simultaneously. Each program is a separate task (process). Each process usually runs in a separate window, and processes running in separate windows do not interfere with one another. For example, you can have the system recalculate a large spreadsheet in one window while you shift your attention between editing a monthly report in a second window and answering your electronic mail in a third. Each program normally has a main window for visual interaction, and each window has its own input and output.

Only one window at a time receives user input. That window is called the active window. While you focus on one window, other windows continue running unattended or wait for your input.

Local and Remote Access

Networked computing environments provide the ability to run programs on computers other than the one you are sitting in front of. For example, you can run a program locally and display the output on the screen of a remote system. Conversely, you can run a program remotely and display the output in a window on your screen. You can also run a program remotely and have it display on yet another remote screen.