I am a huge fan of Linux and the idea of OpenSource but I've said it many times, there are still hurdles in today in 2010 for Linux as a Desktop. Linux is still intended for servers at its very core. This can be changed succesfully though, as Apple has shown us with Mac OS X based on FreeBSD.
Half of the issue is lack of driver support and the other half is the Linux Kernel and Window Manages, KDE and GNome still both don't cut it (but they're getting closer).
I'll give my complaints from the Ubuntu perspective since I believe it's one of the most polished OS's out there as far as Linux Desktop is concerned (I've tried many times to replace Windows as my Desktop but failed for many reasons).
1.) Graphics performance is improved but graphics performance is sitll not as good and reliable as Windows. Linux at the kernel level needs to be thought out better. Proprietary drivers should be easy to install, as simple as something like a .dll for Windows. There is still no central way of modifying xorg.conf and it is something I am not comfortable doing.
In Ubuntu I'm shocked that at least by default there is no graphics setings installed! This is a basic and essential feature, it's not nice to have.
As usual drivers from ATI and NVIDIA just don't work, or at least not well. I have manually installed the Catalyst drivers and they won't work, when using the Ubuntu supplied ones the screen becomes garbled.
2.) Linux just doesn't have enough good software, nothing comparable to Windows. If there could be a standard Linux API that applies to all software and GUI based applications, then we would see far more support from software developers. Right now Linux is just a hobbyists OS/server OS and
There are a lots of "nice" projects with "potential" but even for media players nothing cuts it. I am used to using Winamp in Windows for MP3s, I tried using QMMP (I believe the replacement for Amarok which is similar to Winamp) and it just isn't polished. You can't even drag in MP3s into it like Winamp can.
In fact Winamp generally works better than any other MP3 player for Linux, and it still works fairly well using Wine (but not perfectly.
I tried Rhythmbox but eventually it segfaulted and won't startup, again Rhythmbox doesn't support dragging files into it.
3.) There is no Roboform equivalent that works as well, and Roboform arrogantly insists that they have no intention of doing this despite the interest.
4.) Change is bad, everything needs to be backwards compatible. I don't know how to explain it, but the way Linux works just does not make sense for a Desktop, the other problem is that the OpenSource coders are the ones making the GUI and interface decisions, and even coming from a programming perspective I still find Linux (better) but frustrating and mundane to use.
There are some goodpoints, I find a lot of things work more fluidly such as the ability to mount remote SSH filesystems and work with them from Nautilus etc...
Linux has the potential, but that's been there for well over a decade and things have improved but I don't think it will ever get to the Windows or Mac level until someone creates a more proprietary Linux or if Linux makes standard APIs for software and drivers which make it easy to include drivers.
That's the other thing, so many things need to be compiled such as drivers and this needs to be done with each kernel update.
ubuntu, linux, desktop, worldi, opensource, ve, hurdles, servers, succesfully, os, freebsd, kernel, manages, kde, gnome, ll, complaints, polished, graphics, improved, sitll, reliable, proprietary, drivers, install, dll, modifying, xorg, conf, default, setings, installed, essential, feature, ati, nvidia, manually, catalyst, supplied, garbled, doesn, software, comparable, api, applies, gui, applications, developers, hobbyists, server, quot, projects, winamp, mp, qmmp, replacement, amarok, isn, generally, rhythmbox, segfaulted, startup, roboform, equivalent, arrogantly, insists, compatible, coders, interface, programming, frustrating, mundane, goodpoints, fluidly, mount, ssh, filesystems, nautilus, etc, decade, creates, apis, compiled, update,