Components include:
X Server
X Client
Window Manager
Display Manager
The X Window system is a software that leverages the graphical user interface of the network architecture, so how many components can this architecture be divided into?
Basically divided into X server and x client two components
X server: Hardware management, screen drawing, and providing font functionality (the XFREE86 program and the Xorg Foundation provide this x server primarily)
X Client: An application that is responsible for the "event" processing required by X server, providing drawing data to X server
On the run, the X client application informs the X server of the drawing parameters of the interface that it wants to render, and eventually the X server draws the drawing parameters it receives through the hardware it manages.
The primary task of X Server is to manage the client's hardware, including receiving input from the keyboard, mouse, and other devices, and drawing the graphic on the screen (note the arrows between all the components indicated)
650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/83/83/wKioL1d04XvwnPlBAAC6vaOheko003.jpg "title=" 3.jpg " alt= "Wkiol1d04xvwnplbaac6vaoheko003.jpg"/>
But what exactly do you want to draw? Drawing always requires some data in order to draw, this time x Client (i.e. x application) is very important, it mainly provides is to tell the X server to draw something
That's the idea of thinking that we want to get the drawing data from the remote server to be shown on our computer. So, the remote server provides x client software, and the local client provides the X server Software
650) this.width=650; "src=" http://s4.51cto.com/wyfs02/M01/83/86/wKiom1d08LbxhNDIAAClEbSLe9E218.jpg "title=" 2.jpg " alt= "Wkiom1d08lbxhndiaaclebsle9e218.jpg"/>
1.X Server: Hardware management, screen drawing and providing font functionality
The XFREE86 program and the Xorg Foundation mainly provide this x Server
What are the main devices managed by X server?
A: With input/output, including keyboard, mouse, tablet, monitor, screen resolution and color depth, video card (including driver) and display font, etc.
Video card, screen and keyboard mouse settings, not when the Linux system in the/etc/sysconfig directory of the Keyboard/mouse and other settings files are set up? Why does x server have to be reset?
A: Because X window is only a good set of software in Linux, X window has its own settings file and you have to set it up properly for its settings. In other words, the settings for Linux are not necessarily the same as the X server settings. So, when you want to play the graphical interface at run Level 3 of Linux, you have to load the driver required by X window. in summary, the primary function of X server is to manage the host computer to display hardware and drivers
Now that the X Window System is a framework for getting a graphical interface through the network, how does the client get the graphical interface provided by the server side?
A: Since the hardware of the server and the client cannot be exactly the same, it is of course impossible for our clients to use the hardware display on the server side, so each client host needs to install X server, and the server side is to provide the X client software to provide the data needed by clients to draw
That
Client (with one end of screen) running X server (receiving data for drawing)
Server run x client (send data)
2.X Client: Responsible for "event" processing required by X server
The X server mentioned above is mainly to manage the display interface and draw on the screen, while the input device behavior informs x client, at this time x Cient will be based on the behavior of the input device to start processing, and then x Client will be the input device behavior to generate a diagram of the information, And then pass the display data of this diagram back to x server,xserver and then the drawing data from X client.
Paint it on the screen to get the results displayed.
In other words, X client's most important task is to process the operation from X server, process the operation into drawing data, and then pass the drawing data back to X server, because the purpose of x client is to produce the data of the drawing, so we also call x client X Application (x application).
In addition, x client does not know the existence of other X-client, that is, if more than two X clients exist simultaneously, they do not know what data is transmitted to the X server, so the X client's drawings often overlap each other and create confusion.
For example: When we move the mouse to the right in the X Window interface, what is the overall workflow (how to tell x server and x client)?
650) this.width=650; "src=" http://s5.51cto.com/wyfs02/M01/83/86/wKiom1d06UyjBgThAABmoE2zHds936.jpg "title=" 1.jpg " alt= "Wkiom1d06uyjbgthaabmoe2zhds936.jpg"/>
The benefits of doing this:
The biggest benefit is that x client does not need to know the hardware of X server with the operating system. Because the x client is simply the data that processes the drawing, it does not draw itself. So, for the client X server what hardware, which set of operating system, server-side x client do not need to know
3.Window Manager: Special x client, responsible for managing all x client Software
Because the X client's main job is to convert data from X server into drawing data and back to X server.
So x client itself is unaware of its location, size, and other relevant information in X server, that is, x client does not know where the other side is on the screen.
To solve this problem, a window manger (VM, Windows Manager) is created.
Window manager, first of all it is also a apppication, which is also x client, but it is mainly responsible for all x client management also includes providing some special functions
Such as:
Provides many control elements, including taskbar, background desktop settings, and more
Managing Virtual Desktops
Provides window control parameters, including window size, window overlay display, Window Movement, window zoom in and out
Kde/gnome This kind of software, is the window manager's project plan. In these project plans, each of the window managers used to develop a different display engine. So the focus of the direction is not the same, so we will say, under Linux, each set of window manager is unique, not simply to change the desktop and display effect only. It's not even the same as the display engine.
x server/x the relationship between Client/window Manager?
Example Gnome
650) this.width=650; "src=" http://s1.51cto.com/wyfs02/M01/83/84/wKioL1d06XiA32y4AACiC6ZV-YE312.jpg "title=" 2.jpg " alt= "Wkiol1d06xia32y4aacic6zv-ye312.jpg"/>
4.Display Manager: Provides an environment for login requirements and loads user-selected data such as window Manger and language families
In general, Display Manager is provided by window Manager
PS: The content reference is summarized from "The bird Brother's Linux Private Vegetable Basic Study Chapter third Edition"
This article is from the "Confused children 123" blog, please be sure to keep this source http://hutuxiaohai123.blog.51cto.com/3491681/1794665
Rhel6-x Window System-2. Components