Linux Magazine has a profile of Daniel Fore and the Elementary project. Elementary is a Linux distro that's committed to a clean and simple user experience, but it's more than a distro - it's actually a multi-pronged effort to make improvements to the user experience for a whole ecosystem of components, including icons, a GTK theme, Midori improvements, Nautilus, and even Firefox. The work that elementary is doing isn't limited to their own distro, and some of their work is available in current, and perhaps future, Ubuntu releases. The results are really striking, and I think it's probably the handsomest Linux UI I've ever seen.

Yes it's true that Linux is easier to use than it's ever been before. But the very simple reason it's not ready for mass consumption is that it more or less *requires* the CLI and/or editing config files by hand in order to get anything done that's remotely advanced.

Another large-ish factor is that package managers have certain disadvantages from a consumer standpoint. App versions are months behind the newest releases, and installing new versions of anything risks breaking something else. Plus for the few applications that do offer direct-install binaries, you risk not being able to uninstall those apps easily, since the package manager either gets confused or ignores them completely. I'm not saying package managers should be scrapped, I'm saying that direct-install binaries such as Zero Install should be should be treated by distros and developers as first-class citizens. Distros should include Zero Install by default and application project pages had should have big fat links to Zero Install binaries of the newest versions. This would also increase usage and beta testing of small-time apps that distros would otherwise not support and compiler-phobic end users would never try out.

...But still, the CLI is by far the biggest reason why Linux has not "gone mainstream".