Wednesday, February 26, 2014

5 Reasons Linux Isn't Ready for the Desktop.

I'd like to start by saying I like Linux. Mint is my main operating system for work. When everything is working well, it is a pleasure to use. As a rule, all mainstream, user-focused Linux distros (a distro is a version of Linux, short for distribution) are built to be able to handle all the basic tasks a casual user throws at it. However, if you don't like the default programs or came to Linux for it's customizability, you might encounter problems such as:

1. Hardware compatibility

Ubuntu and Ubuntu-based distros are pretty good at being compatible with all hardware, especially older hardware. Unfortunately, that means newer hardware is usually not supported until some charitable soul programs drivers for it. Prepare to spend hours on Google trying to figure out why your wifi isn't working.

In the Windows world, manufacturers usually make drivers for their hardware, because they know most of their clients use Windows (and Mac) and they would lose a significant amount of sales if their devices didn't work. 

You're pretty much out of luck for Linux. Manufacturers rarely bother making Linux drivers. When they do, you have to pray they made it for your specific distro (or that yours is compatible with another), which brings me to my next point...

2. Good luck installing anything not in the software center.

Before iOS popularized the app store, Ubuntu and other distros already used something called the Software Center (or Manager, depending on distro). In it you can browse a software repository maintained by the people who made your distro, and individual repositories maintained by the developers of your favorite programs (usually to keep their own program updated), which you have to add manually. 

But what if you find a program you need (like, say, a hardware driver) that is not in a repository? Then you better hope the developer was a kind enough soul to package it into a .deb or a .rpm (equivalent of a .exe or .msi). Most don't and you'll be presented with a nice tar.gz. Hope that it's already compiled and all you have to do is extract it to the correct folder.

3. There's no equivalent of Program Files.

While in Linux you can theoretically install a program wherever you want, for a first timer, especially coming from other systems, this isn't apparent. It doesn't help that when you want to find out where a program is installed, several parts of it are spread across a few folders. It has it's logic, but no one is going to explain it to you. It's not intuitive.

4. Support

Things break all. the. time. While in Windows you might have your solution in program helps, in a Linux environment you better have a few hours to Google things. You're in luck if you're using a popular distro with active forums. Even then...

5. Lack of graphical interfaces

In the Linux world the command line is the master chief of the OS. There is nothing you can't do with it. For this reason, you'll be hard-pressed to find any help that doesn't involve inputting some commands you (as a beginner) don't understand. Some operations you can only (by default) do with the command line (like kill processes). 

These are just some of the reasons, admittedly the ones I've found most problematic in my experience with Linux, why Linux just isn't ready for the casual user. I admit, I haven't tried all the distros out there, not even close, but I've watched it closely, waiting until it was ready for prime-time. 

One of these days I'm going to give you a few reasons why Linux is great for everyone.