Posts

Showing posts from January, 2021

X Window System

Image
The X Window System ( X11 , or simply X ) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. X does not mandate the user interface – this is handled by individual programs. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X originated at the Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at version 11 (hence "X11") since September 1987. The X.Org Foundation leads the X project, with the current reference implementation, X.Org Server, available as free and open-source software under the MIT License and similar permissive licenses.

Purpose and abilities

Image
X is an architecture-independent system for remote graphical user interfaces and input device capabilities. Each person using a networked terminal has the ability to interact with the display with any type of user input device. In its standard distribution it is a complete, albeit simple, display and interface solution which delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems. X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the display and interacting with a mouse, keyboard or touchscreen. X does not mandate the user interface; individual client programs handle this. Programs may use X's graphical abilities with no user interface. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interface

Software architecture

Image
This section does not cite any sources . Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources:  "X Window System" – news  · newspapers  · books  · scholar  · JSTOR ( October 2020 ) (Learn how and when to remove this template message) 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: 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 being the server and the applications being the clients – often confuses new X users, because the terms appear reversed. But X takes the perspective of the application, rather than that of the end-user: X provides displ

User interfaces

Image
This section does not cite any sources . Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources:  "X Window System" – news  · newspapers  · books  · scholar  · JSTOR ( October 2020 ) (Learn how and when to remove this template message) X primarily defines protocol and graphics primitives – it deliberately contains no specification for application user-interface design, such as button, menu, or window title-bar styles. Instead, application software – such as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfaces – define and provide such details. As a result, there is no typical X interface and several different desktop environments have become popular among users. A window manager controls the placement and appearance of application windows. This may result in desktop interfaces reminiscent of those of Microsoft Windows or of the

Implementations

Image
The X.Org implementation is the canonical implementation of X. Owing to liberal licensing, a number of variations, both free and open source and proprietary, have appeared. Commercial Unix vendors have tended to take the reference implementation and adapt it for their hardware, usually customizing it and adding proprietary extensions. Up until 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started as a port of X to 386-compatible PCs and, by the end of the 1990s, had become the greatest source of technical innovation in X and the de facto standard of X development. Since 2004, however, the X.Org Server, a fork of XFree86, has become predominant. While it is common to associate X with Unix, X servers also exist natively within other graphical environments. VMS Software Inc.'s OpenVMS operating system includes a version of X with Common Desktop Environment (CDE), known as DECwindows, as its standard desktop environment. Apple originally ported X

Limitations and criticism

Image
This article's Criticism or Controversy section may compromise the article's neutral point of view of the subject . Please integrate the section's contents into the article as a whole, or rewrite the material. ( July 2014 ) The Unix-Haters Handbook (1994) devoted a full chapter to the problems of X. Why X Is Not Our Ideal Window System (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement. User interface issues edit The lack of design guidelines in X has resulted in several vastly different interfaces, and in applications that have not always worked well together. The Inter-Client Communication Conventions Manual (ICCCM), a specification for client interoperability, has a reputation for being difficult to implement correctly. Further standards efforts such as Motif and CDE did not alleviate problems. This has frustrated users and programmers. Graphics programmers now generally address consistency of applicatio

Competitors

Image
Some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun's NeWS and NeXT's Display PostScript, both PostScript-based systems supporting user-definable display-side procedures, which X lacked. Current alternatives include: macOS (and its mobile counterpart, iOS) implements its windowing system, which is known as Quartz. When Apple Inc. bought NeXT, and used NeXTSTEP to construct Mac OS X, it replaced Display PostScript with Quartz. Mike Paquette, one of the authors of Quartz, explained that if Apple had added support for all the features it wanted to include into X11, it would not bear much resemblance to X11 nor be compatible with other servers anyway. Android, which runs on the Linux kernel, uses its own system for drawing the user interface known as SurfaceFlinger. 3D rendering is handled by EGL. Wayland is being developed by several X.Org developers as a prospective replacement for X. It works directly with the GPU hard

History

Image
Predecessors edit Several bitmap display systems preceded X. From Xerox came the Alto (1973) and the Star (1981). From Apollo Computer came Display Manager (1981). From Apple came the Lisa (1983) and the Macintosh (1984). The Unix world had the Andrew Project (1982) and Rob Pike's Blit terminal (1982). Carnegie Mellon University produced a remote-access application called Alto Terminal, that displayed overlapping windows on the Xerox Alto, and made remote hosts (typically DEC VAX systems running Unix) responsible for handling window-exposure events and refreshing window contents as necessary. X derives its name as a successor to a pre-1983 window system called W (the letter preceding X in the English alphabet). W ran under the V operating system. W used a network protocol supporting terminal and graphics windows, the server maintaining display lists. Origin and early development edit The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys (of Project Ath

Nomenclature

The proper names for the system are listed in the manual page as X; X Window System; X Version 11; X Window System, Version 11; or X11. The term "X-Windows" (in the manner of the subsequently released "Microsoft Windows") is not officially endorsed – with X Consortium release manager Matt Landau stating in 1993, "There is no such thing as 'X Windows' or 'X Window', despite the repeated misuse of the forms by the trade rags" – though it has been in common informal use since early in the history of X and has been used deliberately for provocative effect, for example in the Unix-Haters Handbook . Key terms edit The X Window System has nuanced usage of a number of terms when compared to common usage, particularly "display" and "screen", a subset of which is given here for convenience: device A graphics device such as a computer graphics card or a computer motherboard's integrated graphics chipset. monitor A physical

Release history

Version Release date Most important changes Old version, no longer maintained: X1 June 1984 First use of the name "X"; fundamental changes distinguishing the product from W. Old version, no longer maintained: X6 January 1985 First version licensed to a handful of outside companies. Old version, no longer maintained: X9 September 1985 Color. First release under MIT License. Old version, no longer maintained: X10 November 1985 IBM RT PC, AT (running DOS), and others. Old version, no longer maintained: X10R2 January 1986 Old version, no longer maintained: X10R3 February 1986 First freely redistributable X release. Earlier releases required a BSD source license to cover code changes to init/getty to support login. uwm made standard window manager. Old version, no longer maintained: X10R4 December 1986 Last version of X10. Old version, no longer maintained: X11 15 September 1987 First release of the current protocol. Old versi

Notes