I’ve been using Linux as my desktop operating system for 20 years now. When I first started using the open source operating system, pretty much everything was a challenge. Back then, I wore that as a badge of honor. I could use Linux! There was something special about saying that in a crowd of fellow geeks and nerds. It brought respect. Not only could I install the operating system, I could get it on line, and do just about anything I needed to do. Of course, back then, much of what had to be done began in the terminal window. Without that particular tool, I don’t think I would have been able to function within Linux.
That was then, this is now, and the Linux desktop has evolved light years ahead of where it once was. In fact, the Linux desktop reached the point (about five or so years ago) where the terminal wasn’t even necessary. I could go weeks without touching the terminal window. Do notice, I said desktop. The server is a very different story. One cannot truly administer a Linux server without knowing the CLI (Command Line Interface). But the desktop? That’s another story altogether.
And I believe it’s a small part of the problem preventing the Linux desktop from gaining any level of market share.
Let me explain.
Don’t you have to write your own drivers?
Over a decade ago, a colleague of mine always used to tease me about Linux usability, saying “Don’t you have to write your own drivers?” Back then, there was a modicum of truth to that question. There were times when getting a piece of hardware functioning in Linux required quite a lot of research and even a bit of bash scripting. Today, however, that is not the case. Hardware recognition is as good on Linux as it is with any platform. So the idea, as a user, of having to write drivers is no longer part of the narrative. But it’s that same idea that haunts Linux. The average user that actually knows about the open source operating system doesn’t bother with it because of two reasons:
- They don’t want to install an operating system.
- They think it’s too challenging.
To the first reason, I get it. You purchase a computer and the last thing you think you should need to do is install an operating system. You most likely paid for a Windows license, why waste that money? And trying to purchase a desktop or laptop without an operating system has become a bit of a challenge these days. That is a valid and understandable reason.
It’s that second reason where I start to balk (and why, I believe, the Linux desktop is still facing an uphill climb).
Let me make this clear: Modern Linux desktops are just as easy to use as any other platform. In fact, I’d go so far as to say that the likes of Elementary OS, Ubuntu, Linux Mint, and so many others, are far easier to use than Windows 10. In fact, there’s no competition there.
And yet, there’s that issue. The command line. I should point out, I’m using the CLI as a sort of metaphor at this point.
You know the old saying “You’re preaching to the choir”? That adage is very applicable here, in a twisty sort of way. You see, Linux developers and enthusiasts cannot seem to separate the Linux desktop from the command line (again, think “metaphor”). To them, “Linux” and “challenge” still go hand in hand. To that end, there’s no impetus to shout to the heavens how easy Linux is to use. Why? Because Linux is powerful. In fact, the Linux operating system is so powerful, there’s little it cannot do.
But the average user doesn’t need to know that. What the average user needs to know is that it works, and can help them get their jobs done, or kill some time. Because of this, I believe we’ve reached a point where we should stop promoting the Linux desktop, at least to the average user, as a powerhouse platform that can do anything. Instead of rolling out that metaphorical command line as a selling point, it’s time to pull back and consider those who dwell outside the choir. This goes for desktop developers, distribution curators or builders, marketing staff, pundits who cover Linux, and so many more.
Linux needs users, not zealots
This is crucial. For the longest time, the Linux community needed zealots–those ready to spread the word and fight the FUD being spewed by the likes of Microsoft. Those times are long gone, and now the Linux desktop no longer needs zealots, but users. It needs a community that doesn’t bother mentioning the fact there’s a command line. Instead it needs to show off all the glorious GUI tools available–tools like Firefox, LibreOffice, GIMP, Thunderbird, tools that actually allow users to do work or entertain themselves, without having to jump through hoops to get them working out of the box. The command line is, in no way, a part of that. In fact, the command line would be the very last thing an end user should need to touch. The CLI should be considered a last-ditch-effort to solve a problem, not a first line of defense. NOTE: That was not a metaphor.
The Linux faithful need to start approaching the marketing of Linux without the literal and metaphorical command line as a part of the program. In the place of those tools that don’t belong in the hands of the average user, help them realize that Linux offers everything they need to get their work done and can do it without challenging or frustrating them on a daily basis. Don’t even mention the terminal window, commands, or open source. Why? The average user doesn’t care and is only turned off by those ideas. Yes, it’s great that Linux is open source (and I’m a big advocate of open source), but the average user isn’t interested in the fact that they can download source code they wouldn’t understand or use anyway.
So the next time you approach an end user about switching to Linux, remind yourself that they are coming from Windows or macOS, aren’t developers, and don’t speak your language. Show them the pretty desktops, talk to them about how Linux can help them work without crashing or losing data, and how Linux will allow them to play on social media, watch videos, play music, and write their reports. That’s what the new users need to hear.
So /dev/null the idea of end users ever grokking the command line.