You can edit almost every page by Creating an account and confirming your email.

X Window System

From EverybodyWiki Bios & Wiki




The X Window System is a windowing system that is common on Unix-like operating systems. X window system is also known as X11 (11 versions since September 1987) or simply X. This was developed at the Project Athena at MIT (Massachusetts Institute of Technology) with support of DEC (Digital Equipment Corporation) in 1984. Like many GUI (Graphical User Interfaces), the X window system also gives rectangular windows for applications. These windows can be resized, moved, and controlled by a mouse. X Window system supports multiple fonts, keyboards, pointing devices such as trackballs. Windows can overlap one another, and in a single X session you can have multiple windows opened for different tasks. X window System does not have an official order for displaying the user interface; it is handled by subprograms under X Window System.

On many Unix computers, X user applications are in the /usr/bin/x11 directory, but in Solaris, they are in /usr/openwin/bin, while in most Linux distributions, they are in /usr/bin. .[1] Currently, the X.org foundation leads the X.org project, which provides an open-source development of the X Window System, and this development work is being done in conjunction with the freedesktop.org community.[2]

Purpose of X Window System

X provides the basic framework for building such GUI environments (drawing & moving windows on the display and interacting with a mouse and keyboard). X does not command the user interface; individual client programs handle this. The X server is typically the provider of graphics resources and keyboard/mouse events to X clients, meaning that the X server is usually running on the computer in front of a human user, while X client applications run anywhere on the network and communicate with the user’s computer to request the rendering of graphics content and receive events from input devices. X delivers a standard toolkit and protocols for building GUIs on most Unix-like operating systems and OpenVMS.

The client/server model in X system works in reverse to the typical client/server model. In a normal client/server model, the client runs on the local machine and asks for services from the server. But in X system, the server runs on the local machine and provides its display and services to the client programs. The client programs may be local or remotely exist over different networks. X is used in networks of interconnected mainframes, mini computers, workstations, and x terminals.

History of X Window System

Bob Scheifler (of the MIR laboratory for computer science) needed a usable display environment for debugging the Argus system. Project Athena needed a platform-independent graphics system to link together its various multiple-vendor systems because the window system then under development in Carnegie Mellon University’s Andre project did not make licenses available, and no alternatives existed.

X1 – The project solved this by creating a protocol that could both run local applications and call on remote resources. In May 1984, Scheifler replaced the synchronous protocol of W with an asynchronous protocol and the display lists with immediate mode graphics to make X version 1. X became the first windowing system environment to offer true hardware independence and vendor independence.

X6 – Scheifler, Gettys, and Ron Newman released version 6 in January 1985. DEC, then preparing to release its first Ultrix workstation, judged X as the only windowing system likely to become available in time.

X9 – In the second quarter of 1985, X acquired color support to function in the DEC VAXstation-11/GPX, forming what became version 9.

X10 – A group at Brown University ported version 9 to the IBM RTPC, but problems with reading unaligned data on the RT forced an incompatible protocol change, leading to version 10 in late 1985. By 1986, outside organizations had begun asking for X. X10R2 was released in January 1986, then X10R3 in February 1986. Although MIT had licensed X6 to some outside groups for a fee, it decided at this time to license X10R3 and future versions under what became known as the MIT license.

X11 – X11 finally occurred on 15 September 1987.

X Server & X Client

X server

The job of the X server is to take inputs from input devices (keyboard, mouse, or any other) and, depending on the currently running X client, it sends this data to the kernel for further processing (whatever the task that is done by the currently running X client gets done here). Then the output is given to the X server again, and now the X server displays it on the screen.

X client

Any application that needs a Graphical user interface and is compatible with interacting with the X servers is called an X client. In other words, an X client is an application program that displays on an X server but which is otherwise independent of that server. Mozilla Firefox, X term are some examples of X clients. The terminal that we use in Ubuntu is also an X client.

X Display Manager

A brief history – X11 release 3 introduced display managers in October 1988 with the aim of supporting standalone X terminals. X11R4 introduced the X display manager control protocol (XDMCP) to fix problems in the X11R3 implementation.

A display manager is basically a Desktop environment. It is a stage on which all applications of your machine are placed. Windows managers, file explorers, docks work together with a desktop environment to give the user a uniform user experience. There are many different desktop environments (GNOME, Xfce, mate, cinnamon, enlightenment, and etc.). You can always have more than one desktop environment. You can switch between desktop environments (the kernel, the desktop, the file system—they won’t change when switching from one desktop environment to another).

And also, an X display manager is a graphical login manager which starts a login session on an X server. A display manager controls the login screen and a session that starts when a user enters a valid combination of username & password.

When the display manager runs on the user’s computer, it starts the X server before presenting the user with the login screen, optionally repeating when the user logs out.

So mainly, an X display manager handles 3 things.

1. Loads the X server before presenting the user with the login screen.

2. Manages the login session.

3. Manages the desktop environment.

X Window Manager

X Window manager runs on top of the X window system, a windowing system mainly used in Unix-like operating systems. X window system is kept separated from the software that provides the graphical display (X display manager). There are lots of window managers out there. These window managers vary from one another in several ways.

- Customizability of appearance and functionality [textual menus, docks, multiple desktops, and virtual desktops (desktops larger than the physical monitor size) and pagers to switch between them]

- Consumption of memory and other computer resources.

- Degree of integration with a desktop environment (which provides a more complete interface and range of utilities and applications)

Role of an X window system

Whenever an attempt is made to show a new window, this request goes to the window manager, which decides the initial position of the window. When the user clicks or drags the window, the X window system will take the necessary actions. X window system must provide a title bar with close, minimize, and maximize/restore buttons to each and every window frame.

The window manager is also responsible for icons. When the user requests a window to be iconified, the window manager makes it invisible and takes the appropriate actions to show an icon in its place.

Types of window managers

Mainly there are 2.

  1. Stacking window manager – renders the windows one by one onto the screen, and if one window overlaps another, then the window on the top overwrites part of the area underneath it. (Like working with papers on a desk. When one paper overlaps another, you can’t write on the area that is overlapped by the upper paper. Simple as that.) E.g., blackbox, Fluxbox, Enlightenment, openbox, and window maker.
  2. Tiling window manager – this is a type of window manager where windows can’t overlap each other. E.g., dwm, awesome, ion, and ratpoison.

Other types of window managers – Compositing window managers, Virtual window managers, Window managers that are extensible.

Disadvantages

Tech support issues - The desktop world isn’t ruled by Linux-like operating systems. So if you get trouble with your machine that runs a Linux-like operating system, tech guys at most computer shops may not be able to help you because most of them know about Windows operating systems.

User interface issues – the lack of design guidelines in the X window system has resulted in several different interfaces, and in applications that have not always worked well together. The Inter-Client Communication Conversions Manual (ICCCM), a specification for client interoperability, has a reputation for being difficult to implement correctly.

Computer accessibility related issues – systems built upon X may have accessibility issues that make utilization of the computer difficult for disabled users, including right-click, double-click, middle-click, and focus stealing. Some X11 clients deal with accessibility problems better than others, so people with accessibility issues are not locked out of using X11. However, there are no accessibility standards or accessibility guidelines for X11.

Network based issues – An X client cannot generally be detached from one server and reattached to another unless its code specifically provides for it. So moving an entire session from one X server to another is generally not possible. Network traffic between an X server and remote X clients is not encrypted by default. An attacker can easily intercept it, making it possible to view anything displayed to or sent from the user’s screen. The most common way to encrypt X traffic is to establish a secure shell tunnel for communication. Bandwidth limitations of X across a network may disturb the use of bitmap-intensive applications that require rapidly updating large portions of the screen with low latency, such as 3D animations or photo editing.

References

2019/t/00463 K.G.M.Rajapaksha

  1. "X window system". Indiana University. Retrieved 2020/08/09. Unknown parameter |url-status= ignored (help); Check date values in: |access-date= (help)
  2. "X.org foundation". X.org. Retrieved 2020/08/09. Unknown parameter |url-status= ignored (help); Check date values in: |access-date= (help)


This article "X Window System" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:X Window System. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.

Page kept on Wikipedia This page exists already on Wikipedia.