# 2021-01-19 # "X Window System"-Basic Concepts (study notes)

X Window System, is a window system used for bitmap display, and is a Client-Server display protocol often used in UNIX environments . And the X and X11 we often say are just shorthands.

X provides the basic framework for the graphical interface environment: draw and move windows on the display device; interact with the mouse and keyboard. But X is not responsible for the user interface, so the differences between different desktop environments are very large.

This part of the notes: mainly related to the content of the X Window System, the reason for learning these content is to understand its working principle, to achieve certain operations.

Software Architecture

Architecture overview

X Window System/Software architecture

X Server / X Client is somewhat opposite to the Server / Client we understand daily:
1) X Server: runs on the "client". This "client" refers to the local computer (laptop, desktop, Whatever...);
2) X Client: runs on the "server". This "server" refers to the remote host; (it can also be "local" (the same host), but from the network point of view, X Client is still running remotely);

This situation occurs because: X is from an application perspective, that is, X Server provides display and I/O device services for X Client.

Detailed description

X adopts Client-Server architecture. The special place is that the Server runs on the local (user) host, while the Client runs on the remote host.

Client is an application, such as Firefox XTerm XClock and so on. Responsible for communicating with Server, making requests, and receiving Server information.

Server is a server-side implementation, such as Xorg Server, XFree86, etc.

Server is special. Server has exclusive display control rights, serves requests from Client, and is responsible for interacting with users (mouse, keyboard). Therefore, the client (application) does not need to care about the display details, but only needs to send instructions to the server, such as "draw a straight line from here to there" and "render a string".

The advantage of this is that Client and Server can run on different hosts. We run Server locally, but through the TCP/IP network, we can run the Firefox program on Host A, run the Chrome program on Host B, and run The Thundbird program on Host C, and the local running Server is only responsible for displaying these program interfaces (the Client will tell the server what to display and how to display), the actual program running and resource usage occur on the remote host.

Of course, in most cases, we are a single host, so Client and Server are on the same host.

Common term distinction

XFree86 / XF86

XF86 is the implementation of the X Window System protocol.

X.Org

Xorg is an open source implementation of the X Window System . Forked from XFree86 4.4 RC2 .

The X.Org project provides an open source implementation of the X Window System.

Window Manager

In a graphical user interface, system software used to control the position and appearance of windows in a window system. Most window managers are designed to help provide a desktop environment. What is marked in the figure below is a component of Window Manager, but the content of Window content in the figure is drawn by Client or software, it does not belong to Window Manager.

pasted_image.png

Display Manager

At the end of the boot process, the displayed graphical user interface replaces the default Shell. Display Manager has many implementations, like LXDM, GDM, KDM, XDM, etc. KDM screenshot below:

pasted_image001.png

references

WikiNotes/Basic Concepts (Study Notes)
X Window System-Wikipedia
The X Window System Architecture: overview
Wikipedia/ XFree86
Wikipedia/ Root Window
ArchWiki/Display Manager
X.Org/ Wiki
Documentation for the X Window System

Guess you like

Origin blog.csdn.net/u013670453/article/details/112813340