Basic knowledge about linux graphical interface

  

A lot of LINUX beginners are not clear between Linux and X, X and Xfree86, X and KDE, GNOME, etc. What is the relationship between them. Often confused concept, I want to compare Easy to understand the way to explain the relationship between X, X11, XFREE, WM, KDE, GNOME, etc. Due to my limited level of possible errors, please be expert. First, Linux itself has no graphical interface, the realization of Linux's current graphical interface Only the application under linux is implemented. The graphical interface is not part of linux. Linux is just a command-line based operating system
. The relationship between linux and Xfree is equivalent to the same DOS and WINDOWS3.0. Windows3.0 is not an independent operating system
, it is just an extension of DOS, is an application-level system under DOS, not an independent operating system
, the same XFree is just a Linux The application is not part of the system, but the existence of X can be convenient for users to use computer
.WINDOWS95 and later versions are different, their graphical interface is part of OS
, the graphical interface is in the system kernel Now, without the graphical interface windows will not become windows, but Linux is not the same, there is no graphical interface linux or linux, many linux web server does not install X server. This is also one of the important differences between WINDOWS and linux Second, X is a protocol, not a specific software: X is a protocol, just like the HTTP protocol, IP protocol. This concept is very confused for many beginners who even learn Linux for a certain period of time, an X-based application needs When running and displaying the content, he connects to the X server and starts talking to the server using the X protocol. For example, an X application wants to output a circle on the screen, then he uses the X protocol to say to the X server: Hello! I need to be on the screen. Draw a circle. The X application is only responsible for telling the X server where to draw a circle in what color, and the specific "painting" action, such as how to generate this circle, with what graphics driver The operation of the graphics card is completed by the X server. The X server is also responsible for capturing the keyboard and mouse actions. If the X server captures that the left button of the mouse has been pressed, he tells X application: Dear application, I found that the mouse was pressed, what instructions do you have? If the X application is designed to draw a square on the screen when the left mouse button is pressed, the X application Just say to the X server: Please draw a square, of course, he will tell the server where to draw the square in what color, but don't care how to draw it - that is the server thing. Then the protocol requires specific software. Realization, this is what I want to talk about below: Third, the relationship between X and XFree86. With the agreement, specific software is needed to implement this agreement. Just like we have traffic regulations, we need traffic police to maintain traffic order according to regulations. Xfree86 is such a "communication police" that implements the agreement according to the regulations. He completes the task displayed on the screen by the X application according to the X protocol. Of course, not only a specific traffic police can maintain and To achieve this regulation, for example, traffic regulations can also be used to implement traffic regulations. If necessary, the police can also intervene, provided that they all understand traffic. Regulations, that is, to understand the agreement. So the software that implements the X protocol is not only XFree86, XFree86 is only a free X server software that implements the X protocol. Commercially used MOTIF, and now there are XORG, there are many small hobbies. Write a small X server software. You can even run an X server on WINDOWS, so you can run an X application on a Linux system and display it on another Windows system. How amazing. You can find this with google. X server software. Only the most commonly used on Linux is XFree86. (Now Linux distributions use Xorg.) By the way, Apple's graphical interface is also X protocol, and is considered to be the best. The X protocol graphical interface, and his implementation of the X protocol is done in the system kernel, so the performance is significantly better, which is why many large 3D graphics design software is on the Apple platform. In order to understand the HTTP Protocol to compare: Protocol is HTTP (hyper text transmission protocol) Common servers for implementing this protocol are: apache IIS, etc. requesting these servers to transfer files The households are: IE, MOZILLA, NETSCAPE, etc. The protocol is the common server for X to implement this protocol. Xfree86, Xorg, Xnest, etc. request these servers to complete the display task: all X applications. Only HTTP protocol servers and clients The end is usually implemented between two different computers (server and client), so the average person is easier to understand. The server and client programs of the X protocol are usually on the same computer, so many users feel right. This is hard to understand. Since it is a protocol, it must be platform-independent, so you can make the X application appear on any remote computer with an X server. It is even displayed on a Windows system with Xnest server. It is only large. In most cases, the X application uses the native X server, and then the X server outputs the display to the local display. This is why many people don't understand X is a protocol. Fourth, what is X and X11R6? Relationship? I don't know if the beginner has noticed the /usr/X11R6 directory. This is the default installation directory for XFree. X11R6 is actually X Protocol version 11 Release 6 (X version of the 11th edition of the sixth issue) means that the current X protocol is the 11th edition, and then after 6 minor corrections. Different versions of the X protocol can not communicate. Just like we now IPV4 and IPV6 can't communicate the same, but don't worry, the current X server software and X application follow X11R6. In addition, XFree86 3.3.6 XFree86 4.3.6 and other versions are the version number of the software XFree86 that implements the X protocol. This is the beginning. Scholars often have a highly confusing concept. The version of the protocol and the version of the software that implements the protocol--do you distinguish between the two concepts? 5. What is the relationship between the X server and the WM (window manager window manager)? How do you start the graphical interface? If you are entering the graphical interface, it is a shame. You should miss the opportunity to understand the X server startup process. But it does not matter. You open a XTERM input: init 3 It is safe to return to the character interface. Well, after completing the following experiments, you fully understand what is the relationship between X and WM (window manager window manager). Enter the following command: #startx Start the graphics world Face, you see a complete graphical interface operating environment using the same peacetime. You can maximize, minimize, move, close the window, etc. Press ctrl+alt+backspace to return to the character interface. Enter: #xinit again Start the graphical interface, what you see, you see an XTERM. And can't move. But you can type the command in this XTERM to open the X app, if I type: #mozilla Open the browser, the browser you see and Is there any difference in the usual? He is in the middle of the screen, can't move, can't be minimized, can't maximize, no border. Why is the same X application different? Because we start the graphical interface with startx A WM (window manager), if you start KDE with KDE, if you start GNOME with GNOME. But when you start the graphical interface with xinit, it does not start WM.

Copyright © Windows knowledge All Rights Reserved