Linked by Adam S on Wed 30th Apr 2003 07:26 UTC
Linux Lately, we've all read a lot of articles about desktop Linux - so many that it's getting hard to tell them apart. One says "Why Linux Sucks," the next "My Success With Linux." Even Michael Robertson of joined the fun with his "Why Desktop Linux Sucks, Today." But very few people have proposed anything radical, and I believe that's what's needed to take GNU/Linux to the next level.
Permalink for comment
To read all comments associated with this story, please click here.
Linux on the Desktop?
by Lars Heide on Wed 30th Apr 2003 12:10 UTC

Some random thoughts:

The filesystemlayout: Quite frankly this does normally only concern people who work on the command line and then only whose $PATH is not set up good enough for the command found automatically. On a graphical desktop the user should not have to care wether the program is in /bin or /usr/bin. That's what the icon in the start menu is for. IMHO the filemanager should do the abstraction for the user (I don't recall if the KDE filemanager this already). In the directory tree he should get /yourhome (maps to /home/$USER) /system (maps to / if you really have to look there) /cdrom1 etc (the various removable media his computer supports) and maybe some /storagex entries (for free disk space outside his home he can access to dump his MP3s). You don't have to rewrite the filesystem layout, you just have to hide it successfully. (On a sidenote: I would vote for some small change in the UNIX Filesystem convention: could someone please rename "passwd" to "user" and "shadow" to "passwd"? This way it would more resemble the tools that work on these files (groupadd/group, useradd/user, passwd/passwd))

Making it a desktop distro: A desktopdistro IMHO is not about choice. It's about "It works (for me)" (tm). Therefore simplicity in the install is key. "few visible options but lots of "Advanced" buttons" is definitively the wrong approach I would say. And "use this filesystem if you want to use it as a server" sounds to me like he wants to build what we call an egg-laying-wool-milk-boar. They don't want to build a server, otherwise they would have gotten a different distribution. Just give them Reiser and 90% won't ever know the difference (or XFS or JFS, whatever).

About software install: To put it one way: It's not about RPM but how you use it as a distribution builder. What's probably most frustrating with software installation in a an environment like Debian (I know it's DEB not RPM but lets leave that out for the moment) is the lack of a hirarchy. Assume you are a desktop user and what to install a nice text-editor (from all the myriad text editors in the repository) but you don't know the name of one specific. How do you find one? Is there a category /editors/graphical/gnome ? With the gnome maybe highlighted because the system knows you have gnome installed as you current dektop? No, but there should. I haven't used SuSe in recent years but from what I recall, it did have some thematic structure that i felt more comfortable with from a desktop perspective.

Dependency hell is not a matter of the package mechanism but more of distribution maker that did not consider these problems carefull enough. A common library should never be further away than the installation CD. A program that needs it's own, not provided by the distribution maker, librarys can install them in a special subdirectory in the program directory and should be compiled that it finds them there without having to bend the $PATH.

I had some more thoughts about how a desktop distri should be but that would better fit a whole article that just a post. The question was always "Is Linux ready for the desktop?" the answer is Yes/No I would say. The technology is there. Somebody just has to build something out of it that works in a desktop way and not in a "It might also be a server if you try hard enough to bend it this way". A desktop is not about choice but to give the user something that just works for him.

BTW: I think this article was more about how to run a company that builds a desktop OS based on Linux/BSD that how to build a desktop distribution.