Linux> desktop> gnome + KDE is a joke.

Source: Internet
Author: User
Tags gtk

Look at this post http://www.linuxfans.org/nuke//modules.php? When name = forums & file = Viewtopic & t = 121785, I replied a few words by the way. Later, I thought it would be difficult. I 'd better continue to talk about my ideas.

OSS (if not specifically stated, the OSS below refer to open source software)-er probably won't have heard of RMS's Cathedral and market. It points out two different modes of modern software development. One is the so-called "Cathedral" model-the traditional centralized software development model; one is the so-called "market" model-a new development model advocated by OSS. These two models have their own strengths and are both created and created with high quality software. None of them are truly overwhelming.

However, in the current desktop market, although the Linux circle has invested countless manpower and material resources, it seems that the results are not remarkable. Speaking of good desktop systems, we can see xp. The first thing we think is Mac OS X. Where is the Linux Desktop located? At freeyuntop.org, in the noisy mailing list of gnome.org and kde.org, freenode.org's IRC channel is not in the end user's mind. Rox-filer + ice WM imitates XP (for an extreme example, let's take a look at Linux and Hongqi Linux ), and gtk2/Qt theme simulating OS X are classic examples of "beautifying" Linux. This must be said to be the sorrow of Linux Desktop.

I believe that we are still using more windows series, so let's first think about the advantages of windows. Here I will talk about my personal point of view, which may not represent everyone's views, but I believe this still represents some people's views. The advantage of Windows is that it presents users with simplicity. During the installation process, you must specify the serial number, installation partition, and time. After the automatic installation is complete, you can get a standard desktop that can be used directly. Various desktop programs can work easily. You do not need to search for Chinese input methods, configure fonts, beautify, and set environment variables such as locale and gtk_im_module. Everything just works :-). In addition to Java or GTK programs (a few gtk1 programs have been used a long time ago, but gtk2 has not been tried), various GUI programs have a unified interface, support for Chinese processing, and are compatible with various input methods. You can easily install and run programs, browse the file system, and open and edit files by clicking double-click (or by clicking or starting the secondary key. The right program will be called at the right time. Everything is like a magic. I believe that the most critical issue lies in its unification and simplicity. The default configuration is good, and the custom modification will automatically act on all programs without any problems.

Let's talk about Mac OS X. The school has some EMAC with Mac OS x installed, and I am interested in it. Recently, I often lie on it and watch PDF to watch webpages and listen to music. In the browser, I chose Firefox instead of safari. I found that all Firefox is used. How can Firefox on OS X be so beautiful... It is so coordinated and unified with the entire aqua interface. OS X has many unique designs, such as dynamic window effects, multi-window program's use of the dock bar, uniform menu bar at the top of the screen, and so on. Various programs, including Firefox, Microsoft Office v. X, apple works, and Macromedia Dreamweaver, are not messy even when running together, although they come from different organizations in different companies. If the focus theme of the mouse is click-to-focus, the scroll wheel action will not be passed to the non-focused window. The input method is available everywhere. I have never heard of the strange problem that Firefox does not support cursor follow. The call, cutting, and collaboration between programs are smooth and smooth. With beautiful themes and various fancy eye-candy, the whole system is like a beautiful work of art.

It is also a clear knoppix in the computer room of our school and FEIT (engineering and information technology department. It is reasonable to say that the data center directly under FEIT should receive the most attention? Match the strongest, most stable, and most legendary ...... The invincible Linux in the universe should be the most powerful machine room in the world, right? Why is the English font so ugly when I open Mozilla/Firefox to view the school Webpage )? -- Antialiasing is not enabled. Why does Mozilla fail to start? -- Run konsole to check the error output. No more strace. What? Killed by SIGSEGV? I ...... Identify your fate. Linus you rule! Go to Sir or fans to search for "Chinese" and listen to the miserable people who are suffering... Chinese? Prepare dry food and sleeping bags, and prepare for vicissitudes of life. From patch to configure to make install, there is a lot of tears and laughter. Let's look at the input method. Think about the conflict between xim and gtk_im_module. Think about the support of the QT input method module ...... Oh my God!

GNU/Linux is an open system. Anyone can join it for development. The advantage of this openness is self-evident-countless programmers work together to promote its maturity. But what are its disadvantages? Too many choices and too many possibilities make a non-technical user feel at a loss. GNU/Linux is a faith-Driven Software Engineering. Everyone has the right to fulfill their dreams. However, if a user is forced to accept the products that every developer has dreamed of and choose the products that suit them, they will be at a loss. I have many friends who have used Real Player for several years but do not know the name of real. I have used XP for many years and have no idea about NTFS or cleartype technology; the relationship between word and Microsoft is unclear when you use Word XP to process documents all day long... Who cares? Even if there is no "tech people", the system will automatically solve the problem; the most serious is a reboot. The system hides various secrets-com, DCOM, DDE ,... Tech people may like to talk about this. They even want to write/buy books such as untitled ented windows to satisfy their needs ...... But for the end user, the benefit of this system is that it hides its complexity, provides a unified view, and almost forces you to accept it. When a person has no choice, he can either launch his own real potential creativity or destructive power, or be able to meet his or her needs. However, when he is facing real unrestricted freedom, he may be at a loss. After all, freedom is just a dream.

GNU/Linux is a great attempt-it opens up a new field in the desert of the gloomy traditional software industry, a chaotic world different from all previous orders. It creates countless opportunities, countless ideas, and countless possibilities. Making distribution is an attempt to sort out order from chaos-selecting and giving up some; integrating gnome and KDE is similar. They are trying to change the state of chaos and try to regulate these chaotic lines. However, free people will not give up their pursuit (SMILE ). Even if gnome and KDE are integrated or even merged, who will let both FVWM and xfce disappear out of thin air? Who can ensure that there is no longer a maverick project? No one can guarantee it, because everyone has their own freedom. The result of trying to regulate chaos is the birth of more chaos-chaos is the most vital existence.

However, the current situation of GNU/Linux has been basically finalized: There is no powerful core, no one occupies a decisive position, and there is no unified goal and direction. In this case, it is difficult to integrate gnome and KDE. In my opinion, we should try in another direction. Learn from the strengths of Win/MAC-Unity, strong, simple surface and hidden complexity-and Linux-free technical power, and then create a new existence. Do not stick to the various projects on the FSF Software List. Get various ideas and code from them, and then integrate and recreate them according to the GPL license. A team or company makes technical and economic decisions to determine the development direction of the project. Developers can constantly learn from various OSS codes (as long as they do not violate GPL or the corresponding protocols), but only rely on them at the level of detail. The ultimate goal is to form a stable and simple software development platform. Only when there is such a stable State (negative example: Generations of GTK/gnome ......), In order to attract more programmers to develop various programs for end users. End users can not care about the so-called network permeability, but the greatest framework design and the most flexible scalability. They only believe in their own eyes-a program that can run easily is a good program; A program that requires editing the configuration file, carefully adjusting various configurations, and controlling behavior from various hidden details is definitely not a good program. After the formation of a stable development platform, I believe that many programmers will be attracted to develop various user programs, and a wide range of user programs are the key to attracting users and robbing the desktop market. The complete freedom of GNU/Linux comes at the cost of giving up unified planning and stable development. I'm not saying that GNU/Linux is an error, but that there is another possibility.

The hypothetical system should have a stable API. Even if the system is still based on the Linux core, we should shield the changes in the Linux core from the general vision of software developers. Don't keep up with the development of Linux, just take advantage of mature and stable things. Devfs-> udev, dnotify-> inotify,/dev/poll-> epoll API. There are too many such stories to avoid. Integrate them into a unified style of API by using fully mature but still very valuable technologies. I once saw someone asking in a forum what is "official thread implementation" in Linux? I said it was a pthread library, but it is easy to misunderstand that pthread is only a "third-party" library. Because the library was developed independently of Linux and glibc at the beginning, keeping the name poses too much trouble to some developers. The change from linuxthread to nptl brings the same troubles. We should use a set of unified APIs to hide these changes, so that developers can believe that using these Apis is a guarantee of successful operation. You don't have to worry about the diversity of your systems (even if you don't talk about the extreme situations such as compiling your own kernel or Gentoo, between mainstream hair styles or between versions of a specific hair styles, there are a variety of incompatibility issues), do not have to worry about the abnormal user hardware system (first of all, my desktop design is for x86/x86_64, and can fully learn the MAC Method, from the very beginning ). The API should reflect the uniformity of the system design, and give programmers a feeling (at least an illusion) in terms of naming methods and compilation dependencies ), that is, this system is a complete and perfect system, and it should not and cannot be split into fragments.

Compared with Linux, this system should have a different philosophy: only one solution to a problem is enough-we only need to make the only solution better. There is a competition between GNU projects. Such projects have vitality, but their survival conditions are also worse. If developers focus on developing a solution collaboratively, this solution may be better implemented and more powerful. The obvious advantage is that users do not have to face difficulties in communication. When a person says "the report writing thing", no one will ask "Is it abiword or OOO ?』 Then we are told that it is "texmacs". Even if you do not know the name, you will be aware of what it is. This not only reduces the duplication of developer labor, but also simplifies user communication. This should be better for everyone.

In the next six months, I will continue to consider this idea and try to read the code and analyze the existing GNU project. I will organize my thoughts and experiences here (http://blog.chinaunix.net/index.php? Blogid = 6862) and csdn (http://blog.csdn.net/Wolf0403 ). If you have good ideas, suggestions, and comments, you can contact me or write to me at csdn.

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.