The promise of Desktop Linux (DL) has been long coming. It’s made significant progress since the mid-90s when GNOME and KDE came out, giving Linux users a somewhat modern desktop to work upon. However, it’s been 7 years and DL hasn’t progressed much at all since then. Today, DL is still nothing more than a UNIX-clone with a task bar, a start menu, and a desktop with some icons on it. But why has DL evolved at such a glacial pace?
Here are the reasons: lack of organization among separate projects, lack of standards, and an unwillingness to fix bad design which leads to counter productiveness. I’ll explain all of this in detail.
The Current State of Desktop Linux
In the beginning there was plain old Linux with X11 and a few ugly window managers. Using the ever (in)famous car analogy, we can liken this to a rolling chassis with engine, seat, steering wheel and gear shift. GNOME and KDE gave Linux the opportunity to add a frame, a windshield and a single-piece body. We’re no longer swallowing bugs, but the inside is still bare metal and there’s no stereo, carpeting, airbags, or anything else. Meanwhile you’ve got the Mac passing by with its plush leather interior, DVD satellite navigation system, and power everything. What’s wrong with this picture? Yes, the car is very much drivable, but who wants to drive around in unfinished transportation full time?
Missing Pieces To The Tux Puzzle Part I – Hardware
Linux is constructed in layers. Each layer builds upon the next from the kernel up to the graphical programs. But what holds them all together? How does the very bottom communicate with the very top and vice versa? How can I configure hardware from a graphical control panel on my GNOME desktop? The answer is I can’t, because GNOME doesn’t yet deal with that portion of my system. Why do I need to tell Linux what disks I have in my system? Because it doesn’t know! Windows and Mac OS both know when I stick a disk in my drive.
How To Fix The Hardware Problem
On the bottom layer, a daemon needs to be written that deals with hardware in an intelligent manner. It must be able to discover new hardware, find a proper kernel module for it, let the program at the top know when it can’t initialize a device, and automatically configure the /etc/modules.conf and /etc/fstab files. On the top end, a graphical applet must be written so that the user may enable/disable a device and manually switch kernel modules. Disks should automatically mount upon insertion, and if unreadable, a disk utility should be launched to initialize it. Applets should also be written for hardware devices to configure special features such as FSAA on the video card, preferably by the hardware manufactures themselves.
Missing Pieces to The Tux Puzzle Part II – Software
I just bought a new Linux computer. I turn it on and want to configure it for my internet connection and home network. But wait, how do I do this? On my Windows box, I could just go to my Network Connections icon and setup my IP/DNS addresses, configure my firewall, and setup my home network filesharing. On Linux, I gotta find out which file in the /etc directory has the configuration settings for my network card and try to figure out how to configure Samba and the firewall so I can share my files without getting hacked. There’s also an antivirus program I want to install for extra security. But, there’s no clear way to install this program. I don’t understand shell scripts and that stupid package manager complains of missing dependencies, whatever those are. By the way, where’s a good disk utility so I can setup up and check my hard drives in GNOME?
How to Fix The Software Problem
Create an all-in-one applet that configures all your network devices, sets up file sharing, and secures all your documents on the network, along with the usual diagnostic tools such as ping and traceroute. Second, make an installer system that automatically solves dependencies and makes a way to painlessly maintain them later on. For this I suggest autopackage (http://www.autopackage.org) with some better frontends.
Things That Need Serious Upgrading
What’s the one thing that comes to mind that needs a serious upgrade on Linux? If you guessed X11, you’re 100% correct! But why? Let’s dive into a bit of history. X11’s original purpose in life was to run several terminal windows concurrently and be run remotely over the network. Times change, but little did X11, which happens to be 20 years old now. X11 is big, bloated, and lacks support for modern features such as alpha blending and transitions. X11 really should be replaced with something leaner and more modern.
How to Fix X11
Please support the Y Window System. There’s no fixing X11 that doesn’t involve superhuman genius hackery. Workaround after workaround will only make it more big and bloated. X11 must be retired. Y Windows is a natural choice since the project plans X11 compatibility to ease migration. [Editor’s note: While new ideas are welcome, proven code can not and should not be shredded away. Read JoelOnSoftware for more on why you should work on fixing existing code instead of re-inventing the wheel.]
Interoperability & Aesthetics Issues
We have GNOME, and then we have KDE. Neither really plays all that nice with each other. Each has their own set of widgets and Open/Save dialogs and interface guidelines. When you run a KDE app on GNOME, you know very well you’re not running a GNOME app and vice versa. This is bad for interoperability and aesthetics. I don’t wanna be able to tell what kind of a program it is, I just want consistency.
How To Fix KDE and GNOME
GTK+ and Qt programs should not compete with each other, they should compliment each other. They should have a “When In Rome…” philosophy of interoperability. In other words, when a KDE app is run in GNOME, it should act and behave like a GNOME app and vice versa. This means running the same widgets and using the same Open/Save and Font dialogs. Think about how Cocoa and Carbon apps interact with each other. I’m sure this can be done.
General Philosophy
To both its benefit and detriment, the general philosophy behind writing programs for Linux and UNIX is “Created by Geeks for Geeks”. Unfortunately, this mantra doesn’t work well for designing software geared towards the average user. People don’t like digging through vast and complex filesystems and hacking config files to get what they want. The user’s Home directory should be the center of the Linux desktop rather than the root filesystem. The UNIX-related directories of the root filesystem should be hidden from view by default. Any programs that are extensible should provide means within the program themselves for installing new extensions and plugins. For example, the user’s desktop wallpaper should be located in his/her Pictures folder. There’s no reason for average joe to be poking around in the root filesystem where he might accidentally trash some system files. However, designated sections for things like plugins and application data can be stored in plain view on the root filesystem as long as they are in a designated place like inside the Library directory on Mac OS X. In short, think more rubberized plastic and less bare metal when designing your programs.
More Ideas
Due to the lack of good new ideas in the Desktop Linux field, I propose a few ideas:
1. Pooled Storage – Say you’re running out of hard drive space. Instead of upgrading to a bigger hard drive, you buy another, install it, and the space pools together in one giant vat of space. Adding hard drive space is easy as adding RAM. Of course this isn’t practical for small removable disks, but it makes adding hard drive space much easier.
2. Nautilus Viewer Plugins – Imagine opening up your Music directory and the viewing pane turns into a music player. If you want to view as files, just go to the View As dropdown menu and select View As Icons. The same could be done with email, documents, contacts, downloads, pictures, and movies. Just build a viewer plugin that enables you to work with the data.
3. Web-based Software Installation – I know this isn’t exactly a new idea, but lemme explain. The software world is changing. We’re moving away from boxed software to digital downloads from the web. Eventually, the actual programs won’t even reside on our computers anymore in many cases. Sure there’s the ClickNRun Warehouse by Linspire, but that’s a closed system. We need an open system. Here I’ll endorse the Zero-Install (http://zero-install.sourceforge.net) system for web-based programs. But for larger programs that span tens to hundreds of megabytes we need something open and intuitive. A web browser plugin that links website downloads with Autopackage would be a good choice. This way, when you click a program to download, the plugin pops up and handles the download and installation of programs.
4. Welcome Window – This program can be run as a window that pops up at login or as part of the desktop background, ala gDesklets. This program check to see if you have email, shows online buddies, automatically checks for software updates, fetches RSS feeds and weather info in an easy to use and customizable package. The same could be done with gDesktlets, but unfortunately it’s not a very friendly program to say the least.
Conclusion
People have a lot to say about the state of Desktop Linux. Mostly they just sit back and complain about its faults as I have, but few have proposed in detail the solutions to fix these problems, including some new ideas. Most of the issues have to do with unfinished and/or missing code. However, a good chunk of it has to do with the general design philosophies of open source software itself. People love reinventing the wheel, coming up with their own ideas, and pooh-poohing others. This sort of behavior cannot continue if we want a strong, competitive open source alternative to proprietary operating systems. People need to organize and work together, not against each other and not at a distance. Yes, two or three projects can compete against each other for the hearts and minds of Linux users everywhere, but not ten or twenty. I hope this article will inspire Linux software developers to work together and speed up the glacial pace of Desktop Linux, instead of fighting amongst themselves and reinventing what has already been invented. Too much valuable time and energy has been wasted this way.
About the Author:
I’m Sean Oliviero. I’m an avid computer user that has played with pretty much every OS out there. My dream in life is to see Linux become the OS of choice amongst the average user, not only easy to use, but competitive in features and creature comforts compared to Windows and Macintosh.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
I’m a longtime Linux user and frankly the zealotry (which was always present) and constant inner arguing has scared me off from the linux crowd.
Flamewars and trolls can really get on one’s nerves, that’s true, but to be fair they are as prevalent among anti-Linux posters as they are among pro-Linux ones. And I do believe that some of the most strident and annoying Linux advocates are really “wolf-in-sheep’s-clothing” anti-Linux posters who want to give Linux users a bad name.
Anyway, that’s nothing compared to flamewars between game console owners…which are as ridiculous (I own an Xbox AND a PS2, and they’re both great consoles).
On a final note, though, notice that it’s not so much the Linux users telling MS users to try Linux that are a problem, it’s all those pro-MS people telling other MS users that they shouldn’t try Linux, or at least go out of their way to say that it’s not ready for the Desktop yet (implying that they shouldn’t even bother trying it).
I say, if you’re a Windows user curious about Linux, try the latest Knoppix CD (or other LiveCDs) from time to time, to see where Linux is at and get familiar with it.
Well said, sir.
You gotta calm down with the personal attacks dude. Debit cards etc take two seconds to go through and you have the added benefit you dont need to carry a lot of cash on you. You swipe the card (2 seconds), enter a pin number (3 seconds), and approve the total (3 seconds). For someone like me who does not like to carry loads of cash (in case i drop my wallet or get mugged), its a conveniant way to pay for things. To each his own…
The idea having more than one DE in an OS isn’t necessarily a bad thing, except when I set up fonts in one DE and they still look like shit in the other …
I don’t care what the technical explanation is, if you try and deny that this is a problem, you’re just not dealing with reality. If the fact that this can be worked around means that this isn’t a problem, then security in Windows isn’t a problem either, since it’s possible to set up a Windows box to be very secure.
The Linux desktop ( or the NetBSD, OpenBSD, FreeBSD desktop ) has the necessary basics and requires to improve from there. X11 doesn’t need to be removed. It requires to be made more efficient. Having multiple desktop environments such as KDE, GNOME, etc is not an issue because other desktop environments have different types of APIs, or widgets, for that environment. For example, in a Windows environment a programmer can write programs using Windows APIs, Swing APIs, SWT APIs, qt+ apis, etc. The availability for hardware drivers requires to be improved and overtime I am sure vendors will come out with more drivers for Linux. I am using Debian now and I would have to say that it is easier for me to installing many things because I can use a GUI interface and click the choices I want and Debian resolves the dependencies for me. For software that isn’t found as part of Debian repository that becomes the problem. Linux is just the kernel. It would be nice if certain software was standardized but not an entire Linux distribution. There is no reason why I should expect a distribution of Linux, that deals specifically with creating server software, to be the same as a distribution that deals specifically with desktop Linux. ( I think Progeny is working on a component based distribution which could be provide an answer to this problem … ) Linux gives a user choice and freedom to customize their operating system. I use Linux as my main operating system because of choice and freedom and I believe that Linux has a lot of potential.
Is my refrigerator ready for my kitchen?
I wish somebody would write that article.
Hum, I’m kind of lost…
I don’t know how it works where you’re from, but in any civilized country paying with a ATM card is a lot easier than fiddling with coins. Swipe the card and enter your pin. I can do that in 2 sec, and I don’t have to carry a pile of annoying coins around.
I use cash because it’s none of my bank’s or anyone’s else’s buisness what I purchase.
Have you read Idoru by William Gibson? I guess it describes your worst nightmare
Obviously I’m “not dealing with reality”, but I have recently been dealing with the latest Suse, the latest Mandrake and am running gentoo as my main system and don’t have the problem you describe.
Obviously I’m “not dealing with reality”, but I have recently been dealing with the latest Suse, the latest Mandrake and am running gentoo as my main system and don’t have the problem you describe.
So you’re telling me that once you’ve got your fonts loooking great in KDE apps, then your fonts are also bangin’ in all non-KDE apps such as Mozilla, OpenOffice, etc, and vice versa?
If you are able to do this (make fonts look great in ALL toolkits/DE’s WITHOUT having to configure fonts seperately for each DE/toolkit, including Crossover apps), you should write an article on how to do that. Or teach me how to do it in Slackware and I’ll write the article myself
This is how KDE and Gnome can live together. A new desktop called “freedesktop” or whatever, can use the KDE base. The KDE base with Qt under the GNU/GPL will insure the base will always be free software. Based upon the new freedesktop inter desktop communication standards, D-BUS, a new and more uniform GTK+ based toolkit could be built, unifying such components and bonobo, pango, gdk, glib, and gnome libraries.
This insures that applications written on top of the KDE core of the new desktop, will always allow developers to have software based on the LGPL GTK+ like toolkit, so proprietary and free software can be developed, while insuring the core technology, the KDE base, is always GNU GPL freesoftware.
GPL for GLP-Systems and non GPL for Non-GPL-System, it’s honnest and correct, than a whole non-free system like MS Windows.
The SDKs for windows are freerer than QT. You can download them and use them in commercial, opensource or whatever kind of development and you don’t have to pay Microsoft anything.
No, I’m telling you that I simply didn’t have to set them up. They were fine the way they were for both qt and gtk apps.
Since anyone saying that “linux” don’t need whining users that basically wants nothing more than a gratis windows is a “troll” or a “wolf in sheeps clothes”, please explain what good they and their frequently unfounded complaints are for. Please share you wisdom and enlighten us “trolls” of what use there is for people making hens out of fethers, and spreading their ignorant misconception of how things are (see debate on X) as fact?
And how is it snobbism to tell such people to stick to windows if that makes them happy, and to shut their traps about stuff that they know nothing about? For example: Most people complaining about X’s memory usage does not know that it lists the memory on the grapics-card, or that you should remove buffers when you look at system memory usage. They are just repeating stuff that isn’t true. Why should such people get listened to? Corrected yes, given an obscene amount of time and space airing their woes, no. The listening will come when they stop sprouting drivel.
Further more it obviously also snobbism to tell people that when they start using new stuff, they’d better be open minded and be prepared to learn.. tsk.
Now that has probably put me in the 31337 crowd, wich I’m not, but – by God – I’m tired of whiners.
A large portion of the things out of everyone’s mouths seems to be a smear campaign against the users of either Linux or Win or MacOSX or whatever.
There is no unified community that feels exactly the same across the board.
“I stopped using … Because the community is so f***ed up.”
How stupid of you. Are you sure you aren’t simply referring to a group of users or did you actually talk to every user of … in the whole world?
The average poster’s age on osnews at times seems to be below 15 years of age.
Have fun, kids.
I have no idea what’s wrong with having both KDE & Gnome. People complain that Windows does not give you the opportunity to customize the whole desktop unless you pay for ObjectDesktop or something of the sort. And now the same people are complaining that they have a choice to customize and change the whole desktop to whatever they want by just choosing a GUI from the dozens of stable ones out there! What hipocracy. Maybe we need, as Linux users, to stop criticizing Linux and begin to fix the problems, have a positive outlook, and speak highly of the product. Why would anyone want to use Linux when its very users are critical of it? Think about it…
The SDKs for windows are freerer than QT.
Can you redistribute them?
You can download them and use them in commercial, opensource or whatever kind of development and you don’t have to pay Microsoft anything.
Can you develop Mac and Linux applications with them?
It’s a bit dishonest to compare Qt and the Windows SDK. Qt is TrollTech’s main (if not sole) source of income. Microsoft can afford to give away SDK because a) they don’t know what to do with their money and b) people making more Windows apps helps further their OS monopoly, which is one of their two main source of income.
A little intellectual honesty would be appreciated…
In matters of zealotry, it’s not the content of the message that counts, but the way you say it. There are some who fall for the anti-Linux trolls and respond with warranted but ultimately counter-productive indignation. Others (whose numbers are greatly exaggerated, in my view) are true believers who don’t care much for the sensibilities of others. Finally, I’m sure there is the occasional poseur who will go out of his way to sound rude in order to discredit the camp he pretends to belong to.
Those last two types of posters are hard to distinguish from one another. IMO, it’s better to keep cool and respond to irrational attacks with cold, hard facts, and to always be friendly or helpful to people, even if they don’t always display the best manners. That way you keep the moral high ground.
I think you misunderstood my message. I’m not saying that responding to attacks and false statements is bad (heaven knows I’ve been doing that myself, for a while, now). I’m just saying that we should try to keep cool when confronted with anti-Linux trolls and flamebaiters, and be suspicious of the most foul-mouthed members of our community, as they often – intentionally or not – do more harm than good.
Well stated, very well stated.
Everyone keeps calling it “the community” as if we are all one group. That’s a joke. Linux isn’t about coming together to help each other. It’s about fun. GNU on the other hand is about openness, and IMO science in general. Science (and computer science) will not progress well if we can’t “stand on the shoulders of giants.” If you miss my point it’s this: One person doesn’t make an OS, a group of people do. And the bigger a group you have, theoretically, the more progress you can make. By opening things up for others to use, you allow an even bigger group than before.
Of course, not everything can be developed this way. But quite a bit can. IBM has realized it (in their own profiteering way), it does work quite well.
And the guy with all the taskbar comments. You might want to go find out what Linux and GNU tools are before you make comments about things that are totally out of the scope of the “OS”. A lot of the stuff you want is just preferences for apps, some of it will never get implemented because it is counter-intuitive for most but some of it may especially as notebook support improves and more hackers buy notebooks and have to travel with them.
Not only a correct critique, but offers solutions. Linux is either a sophisticated server system, or a simple surfer setup, but middle road use is undeveloped, in hardware recognition, applications, and user interface with the OS.
If I build a computer and make the mistake of putting in an old Winmodem–which I own, I can only get it running on, say, SuSe OS by buying a 20$ driver from Linuxant. This is 5$ more than the modem cost way back when. Ridiculous.
No one person or group has enough control to make changes that impact several other projects.
There are simply to many involved parties and individuals for one person to say “everybody, please change this”
Linux is very layered, and changes can be made to one layer so long is it does not effect compatibility with other layers. This greatly limits what can be done to the system.
That, and even if such changes could be made, there would be another guy that wants to do it a different way, so instead of doing it, they just argue about who is right.
For as long as Linux is an open community project, it will mostly not change.
You hit the nail right on the head. This is the fundamental problem with the community development model. When there are no clear decision-makers managing all development from end to end, then the larger problems that require end-to-end solutions never get solved.
FOSS development produces excellent small-to-medium products (Ogg Vorbis, Gimp, FileZilla, Mozilla, etc), but it never can scale well enough to product a coherent OS that is as well-organized and user-friendly as Windows or Macintosh.
Take a look at SkyOS. It actually looks well-organized and intuitive, and has made amazingly fast progress — all because it’s controlled by one developer. And yet it will still an OS that delivers on what the majority of users want, because that one developer has based a lot of the higher-level decisions on a democratic process of surveying users, and then implementing their desires.
“You hit the nail right on the head. This is the fundamental problem with the community development model. When there are no clear decision-makers managing all development from end to end, then the larger problems that require end-to-end solutions never get solved.”
Not really. At best you have not proven the theory. Only argued it with examples and some i-see-the-future babble. By stating a broad statement like this one, you do not take the distributor’s power in account. Creating some dictatorship analogy on MSFT would be the opposite to yours, and it would be just as short-sighted.
“FOSS development produces excellent small-to-medium products (Ogg Vorbis, Gimp, FileZilla, Mozilla, etc), but it never can scale well enough to product a coherent OS that is as well-organized and user-friendly as Windows or Macintosh.”
Since you’re generalizing: strange how Apache does, isn’t it? What do you know about the decision-making process in the various projects you name?
“Take a look at SkyOS. It actually looks well-organized and intuitive, and has made amazingly fast progress — all because it’s controlled by one developer.”
(Strange compare. It is a single user OS only capable of doing a very small % of things which Windows, Linux distributions, MacOSX, Unices are able to do. Also, is the design really that inventive? When you are able to study what others have done or are doing and learn from their mistakes, it makes the process of applying that knowledge to develop a better alternative better in regards of time investments and quality. Humanity used to have problems with catching the elephant since it was dangerous for human’s life; look at how easy it is now with the development of various tools and weapons. The tool crafted to “kill the elephant” which is of similar power than the previous tool, is much faster and easier made because of science has improved.)
You work at Microsoft so you know the details much better than i do, but i tell you that the hierarchy under which you fall does not have 1 decision-maker either. This is normal for big corporations and it is normal that dept X has nothing to do with dept. Y. Should i point out the possible (and in some cases, proven) consequences? Heck, i even know one which involves the dept. you work at.
Also, the Linux kernel itself *is* in the end controlled by one developer just as much as one person in one dept decides what the end product looks like, as in what code gets in and what stays out. Torvalds decides what happens with the stable tree, nobody else has any final decision over it. This while there are various development branches. Finally, several software utilities help to top the scalibity, such as BitKeeper.
Welcome on OSnews. c00l nickname, btw.
“Reason is simple: when I start any Qt based program under Gnome it takes around 10 seconds just to start it the first time (loading Qt I presume). Gnome apps start almost instantly. ”
Pure Qt apps load as fast under Gnome as under kde… If you’re talking about kde apps, that’s another story.
It’s funny to read all the comments. Don’t get me wrong, there are a lot of valid points but one thing sure does stand out. On one hand you have the group that says linux should not be a “clone” of windows but just a better OS and differences are good. On the other hand you have the group that says linux should be as close to windows as possible. The funny part is that both groups complain about the other’s position and I personally believe that both groups are right to a point. Without outright saying it, one group says we need all these particular features so…..it will do exactly what I’m used to in a windows machine. The other group says we need to fix this and that so it will be a better OS, not worrying about the similarities or differences. The key here is ballance. I think that today’s distros are far superior for the end user than anything on the market. Without the individualists, the monopolist, the economist distros and the complete GNU worshipers, linux would not be where it is today.
Anyway, enjoyed all the reading as usual.
b2man
Sorry, on the second the the last line I meant GPL worshipers.
b2man
On one hand you have the group that says linux should not be a “clone” of windows but just a better OS and differences are good. On the other hand you have the group that says linux should be as close to windows as possible. The funny part is that both groups complain about the other’s position and I personally believe that both groups are right to a point.
Don’t you think that it is, in theory, possible to have 2 parts: one which tries to resemble Windows as much as possible in the environment (which is in theory more than currently although i do not want to discredit any work done on this level because it is my opinion there are huge development on this layer, done and in progress) while the other is actually free to research, invent, innovate and develop as it wants leading to a system which is in some ways similar as Windows, but relatively not FAR as much as the 1st part? There are aspects which make Linux and its fundamental layers Linux, but if you ask me both roads can be driven and *are* driven. The conflict is there where the road one group drives is in conflict with the other one. There we are. That is one of the primary reasons why discussions like this take place. Even though as much as one prefers diversity, if that diversity kills of one’s own choice which was chosen from that same layer of diversity (and btw, related layers are certainly able to count too) one might like that diversity and the freedom of one other less than before the conflict.
I believe this conflict is solved as i speak, though not in the extend as some would like to see it. It is solved by the final decision-makers, the distributors. Because of this, i indeed agree that the keyword is balance, but it is also my view that there is much freedom to drive *both* roads simultanously. Which is in correlation with what i wrote to c0dehax0r in my first alinea.
The key here is ballance. I think that today’s distros are far superior for the end user than anything on the market.
Even more so than for a system or network administrator who works at *that* ISP? I know this is not related to the desktop, my point (with which i do not either agree or disagree with) is meant to articulate the doubt of both your and my statement.
Clearly you need a little perspective on what has been achieved
and what an amazing pace Linux has surpased Windows. Not quite
to the MAC’s standards yet, but soon.
Your comment is invalid. X11 works fine and has everything the author of this article says that it lacks. Even then, it’s very nicely written and stable for what it really is. Let’s see you write something better on your own. Oh, I forgot: YOU CAN’T!
Pause for a moment if you will. Why do you want to see Linux on the desktop? Just because it’s free?
Or is it about freedom of choice?
In my opinion, there is only one thing preventing worldwide adoption; all of the rest of the reasons given is just so much drivel.
With Windows, applications install into a menu, or create a desktop icon. With X, I have yet to see an X application automatically make itself known to the window manager.
If X application installations were just to create a symbolic link to their runtime executable in a fixed directory in a fixed location (or structure), together with their icon (optional), window managers or tools could use this information to provide a consistent view to all installed applications.
That’s really all there is to it. Why should one have to manually configure menus and desktops every time you want to try a new window manager? Why do I not see an icon or menu entry appear when I install a new package? That is the real barrier to entry.
And yes, I do know about menumaker.
Paul
This is really getting annoying.
Apps do exactly what you want them to do and show up automatically in the kde and gnome start menu.
I beg to differ.
There is no standard. KDE & gnome have registries, this is true. How about I switch to using xfce or windowmaker? This is what choice is all about. Compile & make install from source? Why, oh why is there a need for menumaker?
Applications do not show up automagically as you say, unless the installation was part of your distro, in which case you might have a script that is specific to your distro which might if you are lucky add the menu entry to your KDE or gnome menu.
Paul
1. AFAIK there is a freedesktop.org standard.
2. Nearly all software is part of your distribution and software you install from source should also show up if it adheres to the fdo standard.
3. If windowmaker doesn’t do what you want this has nothing to do with a missing standard but is simply windowmakers fault.
Ok, thanks. I would suggest then that before we start looking at replacing X, that we start looking at punting the standard, or tools which use that standard to generate appropriate configurations for window managers that don’t subscribe to the standard.
I for one, was unaware that such a standard exists (and I have been a linux user since 1994). Articles about the standard would be far more helpful than ones that simply whine about X, it’s limitations and some screwball attempt to make linux ubiquitous on the desktop.
Regards,
Paul
I agree.
In case you are interested, there are a lot of specification in place or in the making on freedesktop.org:
http://www.freedesktop.org/Standards/Home
And I found those about menu entries:
http://www.freedesktop.org/Standards/desktop-entry-spec
http://www.freedesktop.org/Standards/menu-spec
With Windows, applications install into a menu, or create a desktop icon. With X, I have yet to see an X application automatically make itself known to the window manager.
You’ve been using wrong distros. When I install an application in Debian, a shortcut automatically appears in the desktop menus of all window managers. This feature is part of the Debian packaging system, called APT.
With Windows, applications install into a menu, or create a desktop icon. With X, I have yet to see an X application automatically make itself known to the window manager.
You’ve been using wrong distros. When I install an application in Debian, a shortcut automatically appears in the desktop menus of all window managers. This feature is part of the Debian packaging system, called APT.
You illustrate my point beautifully.
That GNU/Linux is a big thing and it has many varied version, and saying GNU/Linux and then complaining about it’s desktop is remarkably stupid because GNU/Linux does not entail a desktop environment or X11?
You people whine when we assign issues to Windows and fail to say which version, and then you go and generalize GNU/Linux into more than it really is.
Oh and btw, RH does it too with RPM. Most any package manager can, if it can run scripts (about everything but Slack’s packages).
Now if you complain about the confusion of multiple distros you will once again concede your point when you show your inability to understand the difference between a distributed OS and a base that many distributed OS’s use. People don’t have to understand this, they just need to know to look for support on their distribution, although most of the time anyone familiar with Linux can fix problems in any distribution. For example at work we run all RH machines. When I started I was pretty unfamiliar with working with RH. But I quickly discovered it was all very easy to learn. All my sys configs were somewhere in /etc, just like any other distribution.
Even moving over to a BSD flavor is fairly easy. Why? Because it all works similarly. It’s like moving from Windows2000 to WindowsXP; it’s just not *that* different as the system administration level. Differences are usually in polish, package management (still easy to learn, they all do the same thing), and default packages. Sometimes you can barely even tell the difference between two…
There are about 260 active distributions. Of those there are probably 10 major, and truely different and popular ones. A lot of the rest are small modifications, often simply for better localization. Between those major ones, there are a few that even use the same package manager, Fedora, Suse, Mandrake..
And you can compile your own stuff on anything. And if you can read the file in it called “INSTALL” you can figure out how to do it. Yea most people will have to be guided the first time. And some people will always fear it, understanding many people refuse to install software like Microsoft Office, but anybody who can learn to tame their fear can figure it out.
You should see Average Joe try to setup networking in Windows before you guys whine about what he has to do in Linux. I work with Average Joe (Computer Renaissance), and he often can’t install any windows packages. Clicking next is scary for him, and right clicking on network places and selecting properties is even scarier.
It all comes down to the fact that people don’t want to be bothered with admining their machine, and whatever OS can keep you adminning the least will likely be their favorite. If we sold it, I’d sell as many as possible on Mac because it’s just easier to administrate. Trouble is, people get on OS X and load IE and bring problems over *sigh*.
Putting icons on a desktop/menu isn’t X’s job, but rather the Window Manager/Desktop Environment – for the simple reason that X doesn’t handle menus and/or desktops.
In Mandrake, the distro takes care of adding menu items and desktop icons. It does so for all WM/DEs installed. So if you install a new program, new menu items will appear in KDE, GNOME, WindowMaker, XFCE, etc.
I fail to see what the problem is, apart from the fact that you want X to do something it’s not supposed to do…
My first feeling about the article is the author don’t know some new features in Linux Desktop. Like when he writes “Why do I need to tell Linux what disks I have in my system? Because it doesn’t know! Windows and Mac OS both know when I stick a disk in my drive.” (supermount do it).
Second, I think much of the criticism on X11, is about Xfree86. The author omits that there are some efforts to bring a new X (like freedesktop project).
Third, seems to me that the main critic to Linux is because the author don’t understand the free software development process, that is based on parts and independent projects. The other approach, for proprietary software, is monolitic.
I think the author’s opinion is only one vision about how we can make software. And definitely, in my opinion, it isn’t the way free software must be written.
Ok, folks. Lets get a few things straight. I am not suggesting that X needs to do menus. I merely pointed out in my previous comment that a typical Windows desktop user has a completely different (more positive) experience from that of a Linux user when he installs apps.
I further made the point that it should not be the task of the package manager to create menu’s. Possibly I underestimated this audiences ability to infer the reasons:
a) RPM, APT, slackpack etc. (and the rest of the what was it 260 distros?) are all maintained by different people with their own ideas about how to do things. Therefore, there is no consistency between distributions as to what gets a menu entry on a particular desktop, and what does not – because of a ruddy script produced at the whim of the distro maintainers.
b) If I do decide to post-install and use a new window manager (esp. from source), the chances are that those magical configuration files are not around yet, so I end up doing manual configuration.
c) If I, a programmer decide to build an app, or I, a user decide to compile from source, I do not have a simple way to include my nice new program and icon in all window managers. This is a no-brainer with Windows.
d) If I, a producer of the latest & greatest window manager want to make a default layout based on what is currently installed on a system, there’s no easy way for me to do that either.
I remarked previously that there are no standards for menu layouts, and turned out to be partially mistaken. However, I do find a vast disparency between kde and gnome here (standard slackware 9.1 install): KDE list 1808 .desktop files all nicely arranged hierarchically within /opt/kde/share, whilst gnome seems to like putting its grand total of 101 .desktop files in /usr/share/.
Run KDE, and we see some apps in the menu. Run Gnome, we see some others. Run Windowmaker, we see but nothing. Run XFCE4, & we see just the XFCE stuff. The unfortunate apps which happened to be around before and are sans .desktop files are lost & gone forever.
Wow. That’s really standard.
Folks, what I am getting at, is that all of the software is actually installed on my machine, through one means or the other, but still find myself manually defining menu entries, browsing through a box that has grown with me over 8 years for executables and trying to remember what they do.
In another 8 years, I have every hope and chance of being in the same position.
I am ecstatic to find that we actually do have .desktop files, and that at least we are gravitating toward a common way (the KDE way) of doing things. I was less than ecstatic upon inspection to find that they are spread all around my file system.
My simple suggestion was to use ordinary symbolic links within a directory structure to define a dynamic system-wide menu hierarchy in a fixed location. Ok, so .desktop files seem to do this in an arguably better way- but their location seems everything but fixed.
Do you think for one moment that were we to have a standard location such as /var/menu or even /var/share/menu as the base for system-wide X menus, that developers of window managers would not jump at the opportunity to integrate? Or that tool writers would not be tempted to build menu configurators?
If I could create a menu entry through a simple ‘ln -sf /usr/bin/mynewapp .menu/System Apps/mynewapp’ and do the same for ‘ln whatever to mywinapp.ico’ I could script the whole thing quite easily.
Now I do realise that my usage might not be typical of that of an average user, but I take umbrage at the sort of negative response I seem to be getting from what I originally intended as a positive suggestion.
RPM, APT, slackpack etc. (and the rest of the what was it 260 distros?) are all maintained by different people with their own ideas about how to do things. Therefore, there is no consistency between distributions as to what gets a menu entry on a particular desktop, and what does not – because of a ruddy script produced at the whim of the distro maintainers.
You are wrong about desktop menus lacking standards. All that is needed is that distros follow these standards.
http://packages.debian.org/testing/admin/menu-xdg
You inadvertantly make Paul’s last point for him when you say “You are wrong about desktop menus lacking standards. All that is needed is that distros follow these standards.”
If the distros (in general, apparently) are following these standards, they can’t really be called standards yet, can they?
Personally, from my own experience using Libranet with IceWM is that not all applications get added to the menu automatically when they are installed. I am not comfortable editing the menu files and really shouldn’t have to unless I want to reorganize the menu(s).
With regard to those that are put into the menu, the rationale is sometimes suspect. For instance, I wonder why RealPlayer is placed in my Viewers menu under IceWM but not under Sound. I use it for the latter much more than for the former. (Being on dialup usually precludes viewing streaming video.) And why do some things appear in the main IceWM Applications/Games/System/Utilities menus while others require going to a separate Programs menu and then into Apps>System? I’ve gotten used to it, but it doesn’t seem very standard to me.
That should read “If the distros (in general, apparently) ,b>aren’t following these standards, they can’t really be called standards yet, can they?”
That’s what happens when you post in a slight hurry – and can’t type!
Linux on the desktop is just taking it’s first steps. There already exist some standards but you need to give distros some time to implement them. Just because all distros aren’t (yet) standards-compliant, this doesn’t in any way confirm that standards don’t exist.
Debian has provided users with the “menu-xdg” package so that they can make their desktop menus compatible with standards. I don’t know which repositories you use, but if you’re using the official Debian repos in your Libranet, then you can install this package too.
If packages don’t automatically add menu entries, this is in Debian considered as a bug. I’m not familiar with the Libranet policy considering the packaging issues.
They have themes to make Gnome and KDE look good and ways to make them work together. Package Managers already automatically resolve dependencies. KDE and Gnome are different approaches at the desktop. Like Apple and Windows, things work differnetly and were not designed to work together. As far as hardware setup, etc. distrobutions attempt to solve these problems. Nautilus doesn’t have many viewers for things like playing media and such which I find to be a fult, but keep in mind that it is a File Browser and not a file manager/web browser. Konqueror is great because it can do both. Although I understand the Gnome’s technique for File Management is differnt than that of KDE, ex. Spatial Natilus, I do wish they would either incorporate web browser functions or allow for utilization of features from a web browser. I still think that Linux Desktop is great, but not perfect. Than again what is perfect.
I don’t understand why you make a big deal about menu items with regards to “desktop acceptance”…for one, newbie users are not likely to switch Windows Managers (even I, who consider myself a intermediate user, never do).
Also, you present Windows’ way of doing as an example to follow, but in fact it is the installers that create desktop entries – try to compile from source on Windows, as you say, and see if you get any kind of shortcut…
My point is that, for Windows, the responsibility of creating an icon falls on the developer, through the installer. But Linux software is rarely installed through installers – it is done by distro-specific package managers. So it’s only natural that those apps manage the creation of menus and shortcuts…
Note that this is in fact quite newbie-friendly, as newbies will install from software repositories.
Personally, I’d like drag’n’drop support for the K Menu, but apart from that I consider this a false problem since my distro (Mandrake) does a great job of managing menu items. It keeps system-wide items in /usr/share/applnk-mdk, and lets users customize their own menus in ~/.kde/share/applnk-mdk – remember, on multi-user systems, not all people use the same apps, and sometimes they may even use different versions of the same app (which are most likely installed locally).
Efforts to standardize Linux take time, because there is no central authority. This is both a strength and a weakness. While your proposal is well-intentioned, I’m not sure how feasible it is at this point. I think it’s better to standardize around the freedesktop definition (IIRC, XFCE now also follows this, as well as GNOME and KDE).
that the real problem is that this was never meant to be a desktop system. Why do you people keep trying to push it there? You’ll have an easier time designing something from scratch, because the only part of linux that wasn’t designed for general unix use (translation for the slow: use by geeks) is the kernel itself. Gnu was developed for HURD, and pretty much everything else was made as a generic unix app.
You want a desktop system that isn’t supposed to be geeky? try Zeta when it comes out. Or get an Apple, and escape the horrible x86 cpu line (easier, and less expensive than finding a good Alpha system). Or, as obvious as I’m sure this is, if you really want a system with all the features that windows has, just use windows.
Sure, it’s a little unstable, but it’s only unstable because it has all the crap that you say “linux” lacks (nevermind that all the problems are with sofware and not “linux”).
You want your system to know when you put a cdrom or floppy in? great, go out and write a disk detection daemon like the volume manager in solaris, it works wonderfully. I know that’s overly simplifying things, but really it’s a stupid thing to complain about since your beloved KDE and Gnome have ways around this
You want devices to work after a fresh install? make a file with all the device IDs (similar to /usr/share/hwdata/pci.ids, but with corresponding module names) in the form of “######## module” in it and make a script that scans that and loads modules for you at boot time (requires all modules to be built at kernel build, the way that the BSD systems do it, but most distros do this anyway). I’m sure it wouldn’t take more than a for loop and a couple greps and cats to accomplish reading the /proc/bus/pci/devices file, clean up the output (remove first 8 characters), check the IDs against the ids in the new file, and then send the module names to /etc/modprobe.conf, then have it reboot the computer, or even ask the user to do it. Problem solved, no wasted time. You could write something more complex than a shell script, but really, that’s all that’s needed in most cases for the majorityy of hardware.
I would do this as a demonstration, but I don’t use linux, and I really don’t care enough…
You want alpha blending and other stupid crap? Find a window manager that supports it. I’ll admit that xfree86 is a bit bloated, but if someone made a new X windows server (since it’s a set standard), it would go a lot faster since it would cut out a great deal of the design phase, and would probably have much better community support.
You want better memory usage? stop using redhat, get a window manager that isn’t a resource hog, or turn off some of the eye candy. I’ve been using XFCE4, and have had no problems at all. The memory bloat you mention is because of all the “features” of kde and gnome. If you get rid of all the “pretty” in XP you can get it up and running with a 40mb memory footprint, and you can do that just as easily in linux using kde or gnome.
GTK and Qt don’t have interoperability trouble provided you have both libraries installed. You want them to look the same? make a gtk theme. or better yet, use the GTK-Qt Theme Engine at freedesktop.org. But the whole toolkit being varied argument is just dumb, really
really, all the things you bring up already have fixes or workarounds available (use google from time to time?), or aren’t really issues. Nobody says “I’m not switching to linux because it has no alpha-blending support in the x-server”, rather talking to them goes something like “hey, you seem to get a lot of viruses, why not try a different OS?” “what else is there?” “lots of things, Linux, BSD, unix, BeOS, Zeta, SkyOS, Syllable, and quite a few more” “oh, well I know how to use windows” “I can make it look exactly the same, and act exactly the same” “will all of my programs work?” “you mean your web browser and office? yes” “ehhh. no, I’m happy with what I have. I don’t want to learn something else”
the only thing holding linux back from the desktop (aside from the fact that it’s really nothing but a big geek toy, no matter how you neo-revolutionary goobers want to say otherwise) is the people who would use it. People who are afraid of change, who **don’t know how search engines work**.
😛
“that the real problem is that this was never meant to be a desktop system. Why do you people keep trying to push it there? You’ll have an easier time designing something from scratch, because the only part of linux that wasn’t designed for general unix use (translation for the slow: use by geeks) is the kernel itself. Gnu was developed for HURD, and pretty much everything else was made as a generic unix app.”
Designing from scratch? That has been done several times already. Developing is something totally different. Developing something like X from scratch will take LOTS of developer time.
Slow? Fast enough for me. I like the added consistency in networks more so than AmigaOS, Windows and all those alternatives which don’t allow this (in an easy manner). The speed drawback is worth it.
GNU was developed “for the HURD”??? HURD _is_ part of GNU! Glibc was originally developed for GNU (which includes HURD) and it was ported over to Linux. No problem at doing that. GNU even runs with NetBSD’s and FreeBSD’s kernel these days.
Also GNU was meant as an alternative for the proprietary Unices. As you might be aware, proprietary Unices include X. All of them, from Digital UNIX to IRIX. All. Why no X on Linux?
But “was not meant for” is a moot point compared to what is able right now. If you look to what KDE and GNOME have achieved so far, they’re pretty much able to win customers over.
“You want a desktop system that isn’t supposed to be geeky? try Zeta when it comes out.”
Zeta, lol. They don’t even have the source for most of their own OS. Almost all additions on the OS from BeOS are open source applications. Zeta has pretty much flopped. Other projects like MorphOS, AmigaOS4 have more chance to win the people who want a single user OS with a really fast GUI. If you thought those will win much customers in professional and corporate environments, i think you’re hugely mistaking. Even more on Zeta!
“Or get an Apple, and escape the horrible x86 cpu line (easier, and less expensive than finding a good Alpha system).”
Alpha??? What does that have to do with this? Who would even advise people to run a desktop on Alpha’s? Windows NT on Multia, yeah baby! Buy 10 for the price of 9! Or buy 20 new, top notch x86 workstations which provide enough stability for the common corporate and home user. No need for Alpha.
As for Apple. I’m not gonna look into that flamefest. Lets just say both the Linux desktop and Apple desktop are viable alternatives to Windows.
I stopped reading your post after you started advising Zeta. My keyboard is full of coffee now, thank you already.
One more thing. Your Solaris comes with X and GNOME. Moreover,
“You want your system to know when you put a cdrom or floppy in? great, go out and write a disk detection daemon like the volume manager in solaris, it works wonderfully. I know that’s overly simplifying things, but really it’s a stupid thing to complain about since your beloved KDE and Gnome have ways around this”
They do have ways around this indeed. At least, distributors do. The more elegant (and better) way upcoming in GNOME 2.8 is Project Utopia. (Available for KDE as well if they wish to; specs are open.)