Purpose and Abilities
X is an architecture-independent system for remote graphical user interfaces and rich input device capabilities which allows many people to share the processing power of a time-sharing computer and to collaborate with each other through client applications running on remote computers. Each person using a networked terminal has the ability to interact with the display with any type of user input device. Due to the ubiquity of support for X software on Unix, Linux and Mac OS X, X is commonly used to run client applications on personal computers even when there is no need for time-sharing.
X provides windowing on computer displays and manages keyboard, pointing device control functions and touchscreens. 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 that the user interface be present – individual client programs known as window managers handle this. The window manager is not necessary and 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 interfaces. X is built as an additional (application) abstraction layer on top of the operating system kernel.
Unlike most earlier display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server). X's network protocol is based on X command primitives and, with GLX, OpenGL 3D primitives rather than on a more basic framebuffer copying paradigm. This approach allows both 2D and 3D operations to be fully accelerated on the remote X server.
When used across the network, bandwidth and latency can both be significant issues in the usability of certain software models. Bandwidth is a key factor both in watching video in 2D and in transferring textures for 3D. Latency can be a concern in interactive applications – most obviously games – but for high levels of latency even basic menu manipulation can become difficult.
X provides no support for audio, although several projects exist in this niche, some also providing transparent network support. Some are PulseAudio, Advanced Linux Sound Architecture (ALSA), Open Sound System (OSS), and JACK Audio Connection Kit (JACK).
X also lacks support for user-defined stored procedures on the X server, which might have allowed for the dynamic construction of higher order primitives as seen in NeWS, which could reduce bandwidth demands from requiring fewer primitives to be sent, and improve certain types of interaction by removing round trips to the remote X client program in some varieties of menu interactions, picking, window management, and so on.
X is often used in conjunction with an X session manager to implement sessions. Usually, a session is started by the X display manager. However, the user can also start a session by manually running the xinit or startx programs.
Read more about this topic: X Window System
Famous quotes containing the words purpose and, purpose and/or abilities:
“I think the worst thing this nation could do for humanity would be to leave any uncertainty as to our will, our purpose and our capacity to carry out our purpose.”
—Hubert H. Humphrey (19111978)
“Our policy is directed not against any country or doctrine, but against hunger, poverty, desperation and chaos. Its purpose should be the revival of a working economy in the world so as to permit the emergence of political and social conditions in which free institutions can exist.”
—George Marshall (18801959)
“We should spend less time ranking children and more time helping them to identify their natural competencies and gifts and cultivate these. There are hundreds and hundreds of ways to succeed and many, many different abilities that will help you get there.”
—Howard Gardner (20th century)