What is the difference between GNOME, Xwindow, and KDE?

Source: Internet
Author: User
Many Linux beginners don't know what the relationship is between Linux and X, between x and Xfree86, X and Kde,gnome, and so on. Often confusing concepts, I would like to explain the x,x11,xfree,wm,kde in a more understandable way, The relationship between GNOME and so on. Due to my limited level there may be errors, please correct me.

First, Linux itself does not have a graphical interface, Linux is now the implementation of the graphical interface is only under the Linux application implementation.
The graphical interface is not part of Linux, Linux is just a CommandLine of the operating system, Linux and Xfree relationship is equivalent to the same year's DOS and WINDOWS3.0, windows3.0 is not a stand-alone operating system, it is only a DOS expansion, is a DOS application-level system, not a stand-alone operating system, the same xfree just An application under Linux. Not part of the system, but the presence of x makes it easy for users to use the computer. WINDOWS95 and later versions are not the same, their graphical interface is part of the operating system, the graphical interface is implemented in the system kernel, Windows does not become Windows without a graphical interface, but Linux is different, without a graphical interface Linux or Linux, many Linux Web servers do not install X servers at all. This is also one of the important differences between Windows and Linux.

Two, X is an agreement, not a specific software:
X is the protocol, just like the HTTP protocol, the IP protocol. This concept many beginners even learn Linux for some time people are confused, an X-based application needs to run and display content when he is connected to the X server, start with the X protocol and ServerTalk. For example an X application to output a circle on the screen then he said to the X server with the X protocol: Hey! I need to draw a circle on the screen. The X application is only responsible for telling the X server where to draw a large circle on the screen and in what color, and the specific "painting" action, such as how the circle generated, with what graphics card driver to command the video card completion and so on work is done by the X server. The x server is also responsible for capturing keyboard and mouse movements, Assuming the X server catches the left mouse button pressed, he tells the X application: Dear application sir, I found the mouse was pressed, do you have any instructions? If the X application is designed to draw a square on the screen when the mouse Zuojian is pressed, the X application says to the X server: Please draw another square, of course, he will tell the server where to use what color to draw how large square, but do not care about the specific how to draw-that is the server thing.
Then the protocol needs specific software to implement, and that's what I'm going to talk about here:

Three, X and XFree86 relations.
With a protocol, you need specific software to implement this Protocol. Like we have traffic regulations, we need the police to maintain the traffic order according to the regulations. Xfree86 is such a "traffic policeman" to achieve the agreement according to the law. He did the X-Protocol to complete the on-screen tasks presented by the X. Application. Of course, not only a certain traffic police can go to maintain and implement this law, such as also by traffic wardens to achieve traffic regulations, when necessary, the police can intervene, of course, if they must understand the traffic laws, 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 to implement the X protocol. Commercial motif, there are now xorg, there are a lot of small by enthusiasts to write little x server software. You can even There is an X server running on Windows so you can run an X application on a Linux system and then display it on another Windows system. How magical. You can use GoogleFind this x server software. But the most common use of Linux is XFree86. (Linux distributions are now xorg) by the way, Apple Computer graphics interface is also the X protocol, and is considered to do the best X protocol graphics interface, and his implementation of the X protocol is in the system core, so the performance is significantly better, which is why many large three-dimensional graphic design software Are all on the Apple platform.
To facilitate understanding of the HTTP protocol to compare:
Protocol is HTTP (Hyper Text transmission protocol)
Common servers to implement this protocol are: Apache IIS, etc.
Request these server transports fileCustomers are: IE, MOZILLA, Netscape and so on.
Protocol is X
The common servers to implement this Protocol are XFREE86, Xorg, xnest, etc.
Customers requesting these servers to complete the display task: all x applications.
Only the servers and clients of the HTTP protocol are usually implemented between two different computers (servers and clients), so the average person is easier to understand. While the X-Protocol server and client programs are usually on the same computer, many users find it difficult to understand. Since it's an agreement, It is definitely not platform-independent, so you can have the X application displayed on any remote computer that has an X server installed. It is even displayed on a Windows system with a Xnest server. In most cases, the X application uses the native x server, and the X server outputs the results to the local monitor. This is why many people don't understand that X is a protocol.

What is the relationship between X and X11R6?
Don't know if beginners have noticed/usr/x11r6 this directory, which is the default installation directory for Xfree
X11R6 is actually X Protocol version one release 6
(x Agreement 11th Edition Sixth issue) means that the current X protocol is the 11th version, and then after 6 minor revisions. Different versions of the X protocol are not able to communicate. Like we're IPV4 and IPV6 can't communicate now, but don't worry, Today's X Server software and x applications follow X11R6.
In addition, these versions of XFree86 3.3.6 XFree86 4.3.6 are the version number of the software XFree86 that implements the X protocol. This is often the concept of high confusion for beginners.
Protocol version and the version of the software that implements the protocol--Do you know the difference between the two concepts?

Five, what is the relationship between the X server and the WM (Windows Manager window manager)?
How do we start the graphical interface at ordinary times?
It would be a shame if you went into the graphical interface as soon as you opened it. It should be a good time for you to learn about the X server START process. You open a xterm input:
Init 3
You can safely return to the character interface.
Well, when you're done with the following experiments, you fully understand what the relationship is between X and the WM (Windows Manager window manager).
First enter the following command:
#startx
The starting graphical interface you see is a peaceful time to use the same complete graphical interface operating environment.
You can maximize, minimize, move, close windows, and so on.
Press Ctrl+alt+backspace to back up the character interface.
Input:
#xinit
Start the graphical interface again and you see what you see a xterm. and can't move. But you can enter the command in this xterm to open the X application if I enter:
#mozilla
Open the browser, you see the browser and what is the difference between the usual? He is in the middle of the screen, cannot move, cannot be minimized, cannot be maximized, has no border.
Why is the same x application different? Because we also started a WM (the window manager) when we used the STARTX to start the graphical interface, and if you used KDE to move KDE, If you use GNOME, you start gnome, but you don't start the WM when you start the graphical interface with Xinit.
Now do you understand the role of the window manager? His role is to maximize, minimize, move, close the window, and so on. And these are not X servers responsible for the completion.
If you use the Xinit to start the graphical interface and enter the TWM in the xterm, see what happens?
Xterm is added a border, you can move through this border, maximize, minimize this xterm,twm is the XFree86 of the window manager, is a relatively simple window manager, but he has the full characteristics of the window manager.
If you enter gnome-session without entering TWM, you can start gnome
or input startkde to start KDE.
Through the above experiments you can clearly understand their relationship.

Six, about KDE and GNOME
KDE and Gnome are the most common graphical interface operating environments in Linux, and they are more than just a window manager, KDE is the abbreviation for K Desktop environment. He is not only a window manager, but also many supporting applications and easy-to-use desktop environment, such as taskbar, Start menu, desktop icon and so on.
GNOME is an abbreviation for the GNU Network Object Model environment. Like KDE, it is also a powerful integrated environment.
In addition to other UNIX systems, CDE is often used as such an environment.
The other small window managers are:
Windows Maker,after step,blackbox,fvwm,fvwm2, and so on, are common good window managers. REDHAT9 has window maker but the default does not install, we can install to try. As long as the Xinit wmaker& can be used windowmaker.
Seven, the Linux graphical interface hierarchy relationship Summary
Linux itself-->x server <-[through the X Protocol Conversation]-> window Manager (Integrated desktop environment)--&GT;X application.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.