X Windows system in Linux YASH PAL, 2 July 202328 May 2024 X Windows system was initially developed by Project Athena at MIT in 1984 and Digital Equipment Corporation. The current version of X is Version 11 revision 6 (X11R6), which was first released in September 1987. The X Window System remains distributable under a license from the X Consortium. A complete implementation of X is freely available for Linux systems. What is X Windows? X is a windowing graphics interface for Unix systems. It provides a large number of options to both the programmer and the user. For instance, there are at least half a dozen window managers available for X, each one offering a different interface for manipulating windows. By customizing the attributes of the window manager, we have complete control over how windows are placed on the screen, and the colors and borders used to decorate them. XFree86, an implementation of X, originally for i386 Unix systems, is the version most often used by Linux. Today, this version supports not only Intel-based systems but also Alpha AXP, MicroSPARC, PowerPC, and other architectures. XFree86 is based on X386-1.2, which was part of the official X11RS sources and it is outdated. The current versions now have only a very little part in common with previous versions. Support for innumerable graphics boards and many other operating systems have been added and XFree86 implements the latest version X11R6.3. X Windows system in Linux The X – Window System makes it possible to run graphical applications on Linux. X is responsible for the hardware-related settings; for example the mouse, keyboard, and the monitor settings like refresh rate and resolution. The graphical applications do not need to care for the hardware they are running on. The applications just talk to X and tell it what they want to display. X listens to the applications and converts the application’s display commands into something that the graphics hardware can display. So, X makes it possible for the graphical applications to display their interface on the screen, but X does not control the windows where the applications are displayed. X is based on a client-server model in which the X server is a program that runs on our system and handles all access to the graphics hardware. An X client is an application program that communicates with the server, sending it requests such as “draw a line” or “pay attention to keyboard input.” The X server takes care of servicing these requests by drawing a line on the display or sending user input (via the keyboard, or mouse) to the client application. Examples of X clients are Xterm or Xman. X is a network-oriented graphics system. That is. X clients can run either locally or remotely. The X server listens to both local and remote network sockets for requests from clients. This feature is quite powerful. If we have a connection to a TCP/IP network, we can log in to another system over the network and run an X application there, directing it to display on our local X server. Other advantages of X are security, the modular separation of functions, and the support for many different architectures. All this makes the X Window System technically superior to all other window systems. The X Window System makes a distinction between application behavior and window management. Clients running under X are displayed within one or more windows on our screen. How windows are manipulated and how they are decorated is not controlled by the X server. It is handled by another X client called a window manager that runs concurrently with the other X clients. Microsoft Windows is based on a graphical user interface where we can control the applications by pointing and clicking. But Linux, just like Unix or MS-DOS, is completely text-based. This means that everything in Linux can be done without any GUI, and it is a plus when using Linux, for example, as a server, the computer’s resources are not wasted in running a GUI. However, most of us normal home users want a pretty GUI where we can use graphical applications and point and click on content. Because Linux is text-based, we run the GUI on top of it. In Unix, the GUI is called X Window System, or X for short. The X window had staying power from the beginning. It includes many capabilities like network transparency, graphical capability, the use of a mouse, and the ability to link together a heterogeneous network of workstations from different vendors. X was designed to provide a low-level mechanism for managing the graphics display, but not to have any control over what is displayed. This means that X has never been locked into a single way of doing things so X Window used both the simplest window manager and the most complex desktop environment to manage the display. The X Windows System, often called X for short, was developed at MIT in 1984 to provide the necessary components for creating graphical user interfaces for Unix and Unix – like operating systems. These components include functions to capture keyboard and mouse input that can be used by applications running on X, and to display windows. The X – windows System uses a client-server model where the X – server provides the user-interface components and the X – clients connect to the X – server to use those components. Clients can reside on the same computer that hosts the server or on a computer on a completely different network and may have different architectures and operating systems. This is possible because the X – display protocol enables the communication between the client and server transparently over the network. The X display protocol can use security measures like SSH tunneling to protect the communication between the client and server on unfriendly networks. As a protocol, it does not dictate how a button and other controls will look like. The architecture of x Windows system When an X – client can connect to X – server, it must be able to authenticate itself on that server. If the X – client is successful in connecting to the X – server, it will start a session with the server and will be able to take advantage of X – server’s capabilities, such as interpreting keyboard and mouse input. When the X – client finishes its sessions with the X – server it will disconnect and a session cleanup will occur. The program that starts and ends a session is called the X – display manager, and it provides the login prompt that lets users authenticate with the system. The X – Window system consists of three main parts: The X – clients The X – server The Window Manager Computer Science Tutorials Linux computer scienceLinux