X Window System Article Index for
X Window
Articles about
X Window System
Website Links For
Window
 

Information About

X Window System




Release version update? Don't edit this page, just click on the version number!

Information

  name X Window System
  developer XOrg Foundation
  operating System multiple
  genre Windowing System
  license MIT License
  website wwwxorg


3.5]]
2.14.0]]

In Computing , the X Window System (commonly '''X11''' or '''X''') provides Windowing for Bitmap displays. It provides the standard toolkit and protocol to build Graphical User Interface s (GUI) on Unix , Unix-like Operating System s, and OpenVMS ; and almost all modern operating systems support it.

X provides the basic framework for a GUI environment: drawing and moving Window s on the Screen and interacting with a Mouse and Keyboard . X does not mandate the User Interface — individual client programs handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces.

X features reverses what people often expect, in that "server" refers to the user's local display ("display server") rather than to a remote machine.

X originated at MIT in 1984. The Current protocol version, X11, appeared in September 1987. The X.Org Foundation leads the X project, with the Current Reference Implementation , version 11 release 7.0, available as Free Software under the MIT License and similar permissive licenses {Link without Title} .


THE X CLIENT-SERVER MODEL AND NETWORK TRANSPARENCY


X uses a Client-server model: an ''X server'' communicates with various ''client'' programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as any one of:
  • an application displaying to a window of another display system

  • a system program controlling the video output of a PC

  • a dedicated piece of hardware.


This client-server terminology — the user's terminal as the "server", the remote applications as the "clients" — often confuses new X users, because the terms appear reversed. But X takes the perspective of the program, rather than that of the end-user or of the hardware: the local X display provides display services to programs, so it acts as a server; any remote program uses these services, thus it acts as a client.

and a Terminal Emulator run on the user's workstation, and a system updater runs on a remote server but is controlled from the user's machine. Note that the remote application runs just as it would locally.]]

The and Operating System s, but they run the same in either case. A client and server can even communicate Secure ly over the Internet by Tunneling the connection over an Encrypted network session.

To start a remote client program displaying to a local server, the user will typically open a ), then start the client. The client will then connect to the local server and the remote application will display to the local screen and accept input from the local input devices. Alternatively, the local machine may run a small helper program to connect to a remote machine and start the desired client application there.

Practical examples of remote clients include:
  • administering a remote machine graphically

  • running a computationally-intensive simulation on a remote Unix machine and displaying the results on a local Windows desktop machine

  • running graphical software on several machines at once, controlled by a single display, keyboard and mouse.



DESIGN PRINCIPLES OF X

In 1984, Bob Scheifler and Jim Gettys set out the early principles of X:
  • ''Do not add new functionality unless an implementor cannot complete a real application without it.''

  • ''It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.''

  • ''The only thing worse than generalizing from one example is generalizing from no examples at all.''

  • ''If a problem is not completely understood, it is probably best to provide no solution at all.''

  • '' If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution.'' (See also Worse Is Better .)

  • '' Isolate complexity as much as possible.''

  • ''Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.''


The first principle was modified during the design of X11 to: ''"Do not add new functionality unless you know of some real application that will require it."''

X has largely kept to these principles since. The reference implementation is developed with a view to extension and improvement of the implementation, whilst remaining almost entirely compatible with the original 1987 protocol.


USER INTERFACES

X deliberately contains no specification as to application User Interface , such as Button s, Menu s, window Title Bar s and so on. Instead, user software - such as Window Manager s, GUI Widget Toolkit s and Desktop Environment s, or application-specific GUIs, such as Point Of Sale - provide/define all such details. As such, the "typical" X interface has varied tremendously over the years.

A , the basic window manager supplied with X). The window manager may be bare-bones (''e.g.'' twm) or offer functionality verging on that of a full desktop environment (''e.g.'' Enlightenment ).

Most users use X with a full Desktop Environment , which includes a window manager, various applications and a consistent interface. GNOME and KDE occur most commonly. The Unix Standard environment is the Common Desktop Environment (CDE). The Freedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop.


IMPLEMENTATIONS

The X.Org Reference Implementation serves as the Canonical implementation of X. Due to the liberal Licensing , a number of variations, both Free and Proprietary , have appeared. Commercial UNIX vendors have tended to take the reference implementation and adapt it for their hardware, usually customising it heavily and adding proprietary extensions.

  Running Rootless On Microsoft "http://wwwinformationdelightinfo/encyclopedia/entry/Windows_XP" class="copylinks">Windows XP The screen shows X applications ( Xeyes , xclock, Xterm ) sharing the screen with native Windows applications (Date and Time, Calculator)]]


  On "http://wwwinformationdelightinfo/encyclopedia/entry/Unix" class="copylinks">UNIX ( Solaris 8)]]


  { Class "wikitable"