After using and covering the Linux operating system for more than a decade, I have seen plenty of applications come and go. Many of the applications that go are those that wind up either too broken to work or that lack the features users need. The applications that stay are solid, reliable, up to date, and offer plenty of user-friendly features. And user-friendliness is the key for modern Linux — especially on the desktop.
Unfortunately, no matter how user friendly the desktop gets, some Linux applications and systems are still a challenge to configure and/or use. I thought it might be interesting to bring up these applications to see what experiences you have had with them and to help developers who are interested in knowing which tools could use a nudge toward the user-friendly side of things.
Note: This article is also available as a PDF download.
Of all the systems I have ever installed, LDAP is probably the most challenging. I have successfully installed it, but not without much hair pulling. Not only is the LDAP server itself a significant hurdle to leap, but connecting the client to the LDAP server is also a challenge. Now, I understand the why of the challenge on the server — it’s a complex system. But the client should be as much of a no brainer as is connecting a Windows client to a domain.
I have found that connecting Linux clients to LDAP servers is far more difficult than it should be. And as for servers, yes there are GUI tools that can help you configure your LDAP server (389 Directory Server and phpLDAPadmin come to mind). But these tools are not nearly as user friendly as they could be. What LDAP needs is a tool in line with the Gadmin tools or a system-config-ldap. That would make the configuration of LDAP a much easier prospect, thus making it a no-brainer as a replacement for Active Directory.
The biggest problem with SELinux is that most users simply don’t get it. SELinux is an incredibly power tool that does an outstanding job securing Linux. So powerful is SELinux that it can often keep nonthreatening applications from running. (Adobe Reader is often a victim of this.) But the scope and complexity of SELinux is only amplified when new (or moderately new) users stop by the documentation, only to find out they feel more lost than they did before they tried to RTFM. I get the reason why Linux needs tools like SELinux, but at least try to make SELinux a viable solution for those who do not want to major in CompSci.
Next to LDAP, PacketFence is the most challenging application or service I have ever had to install. This is only made worse by the fact that PacketFence is an amazing tool that should be deployed by anyone with a network that needs a granular set of controls. PacketFence is so powerful, once you start using it you will marvel at the fact that it is free. Who knew that free software could be so powerful, right? But that freedom does come with a price — the price is your sanity after spending days getting PacketFence up and running. Now, I will be fair and mention that getting PF up and running on, say, Red Hat or CentOS is far easier than installing it on Ubuntu. So if you are planning to give PacketFence a try (and you should), make sure you install it on one of the better supported distributions.
Bacula simply eludes me. Granted, I haven’t given it nearly the time and attention it deserves (to have it up and running). But wow — what a complex system. Naturally, one would think such a complex backup would be, well, complicated to set up. It is. And it is, even when using the Bacula Admin Tool — a GUI that makes for “easy” Bacula administration. The reason I haven’t given Bacula more time and effort is that there are tools like LuckyBackup that do one heck of a good job of backing up a Linux client. The key word, of course, is “client.” Bacula, on the other hand, is all about the client/server backup, which, by nature, is a far more complex system. The real problem is that there is no good GUI (at least not that I have found yet) to configure the backups. Even BAT is less than stellar at making the process easier.
5: Active Directory Integration with Samba
This one really shouldn’t even need an explanation. And I understand that Microsoft is at the center of the complexity here (by not adhering to any sort of standard). But the Linux community, being as adept at reverse engineering as it is) can’t just point the finger of blame at Microsoft on this one. Even though folder sharing has come a long way (the latest GNOME and KDE really make folder sharing a breeze), the act of integrating a Linux machine into a Windows domain has painkillers written all over it. With the help of tools like Likewise Open and Centrify Express, the task of configuring a Linux machine to connect to an AD is doable via GUI. But I have experienced both of these tools tanking either sudo and/or user accounts in the process.
6: Integration with Exchange
The Evolution groupware client has an add-on that allows the client to connect to an Exchange server and even enjoy a taste of the push feature. But it’s incredibly unstable and can result in the loss of data. And that is really the only option for someone wanting to connect to an Exchange server on Linux. Claws Mail? Nope. Kmail? No luck. Again, this is another situation where Microsoft is ultimately the culprit (it don’t like others playing with its toys). But the open source community is too smart to let an ever-changing standard and hidden APIs get in their way. Right?
7: Linux Terminal Server
To the freakin’ cloud! If I hear that commercial one more time, I might well toss my cookies all over the TV. The cloud is just another shot at thin clients, and thin clients always bring me back to the Linux Terminal Server Project. LTSP is a good idea if you want “dumb terminals,” but in light of the amazingly simply Live distributions we have today, should a thin client project be as simple as booting up two live CDs, setting an IP address, and getting to work? It should, but it’s not. In fact, the last time I gave LTSP a go, I stopped midway because I ran out of time and patience. It’s not an impossible setup, but it’s not nearly as easy as it should be.
This goes both ways — client and server. And once again, this is Linux having to go up against the seemingly impossible hurdle of proprietary hardware and software. But even without the headache of Cisco or Microsoft, OpenVPN itself isn’t terribly simple to set up. And naturally, few business users are connecting to a Linux VPN solution. The overwhelming majority of VPN users are connecting to either a Cisco or Microsoft VPN solution, and doing that with a Linux client is far from simple. Even when using the GNOME or KDE GUI tools, VPN setup is iffy at best.
WINE should be an ideal solution: Install a layer between Linux and Windows that will allow the running of Windows applications. It should be, but it isn’t. For users who want to run proprietary applications (such as QuickBooks or iTunes or a list of games miles long), the possibility seems so appealing. The reality is often that the application will either not work or will work only with certain features disabled. In an ideal world, WINE would not be necessary, as Linux would have every possible application covered with a FOSS alternative. But this is not an ideal world, and in this non-ideal world, Microsoft Windows-native applications are a necessity for the majority of PC users.
SQL-Ledger is one of those applications I really want to give some love to. Why? Because there is such a black hole when it comes to either client/server or Web-based software that can go toe-to-toe with QuickBooks. And Linux really needs this. QuickBooks dominates small to midsize businesses, and it is plagued with issues. If the Linux community could come up with an easy to use/install/administer replacement for QuickBooks, the landscape would change. At nearly every turn I am told, “Give SQL-Ledger a try!” I have, and the installation itself will keep the average business user from even thinking of trying this solution. SQL-Ledger could easily be the perfect be-all solution for SMBs, but no one will know because of the challenges it presents.
Are the above applications impossible? Not at all. Could they use a boost in user-friendliness? You bet. In fact, if the above list of applications/services/tools would gain a boost in simplicity, the Linux operating system as a whole would greatly benefit.
Do you agree that these tools belong on the list? What other tools have you found to be far too challenging in Linux? Sound off and let everyone know how you feel.