January 5, 2004

Is the command line necessary for most Linux users?

Author: Robin 'Roblimo' Miller

Every time I write an article about normal people using Linux with little or no training, a few weisenhimers inevitably accuse me of being an overly optimistic advocate by not warning readers that it takes a least some knowledge of Bash to run and maintain a Linux installation. The problem with this accusation is that it might have been true in 1998, but it is not true in 2004. It is now possible to run Linux without knowing any commands beyond point-and-click, cut-and-paste, and drag-and-drop. Indeed, those are the only ones I use for everyday computing myself.I made a conscious decision to use as much point-and-click and as little command line arcana as I could back in 2000. My reasoning was simple: If I wanted to have command line computing, I might as well go back to an 8088 running DOS instead of having all kinds of fancy modern computer gear around me. I became totally unreasonable on this subject. If a Linux distribution forced me to type abbreviations like /mnt/moretyping/moretyping/ to play a music CD instead of clicking on a desktop icon, I would find a distribution that gave me the icon.

At the time, Mandrake was the pointiest and clickiest Linux distribution around, so I started using it instead of Red Hat, which was the first Linux flavor I tried. (I stuck with Mandrake through 2002, when SUSE started exceeding Mandrake in user-friendliness; I'm currently experimenting with several Debian-based distros, notably Mepis.)

Back in 1998 and 1999 I often felt like I was the world's only non-geek Linux user. Eric S. Raymond flamed me hard and long on a Gnome email list for my refusal to use vi or emacs instead of searching for a GUI-based text/HTML editor. And if I wanted one that badly, he said, I shouldn't try to get others to write it, but should write it myself or I wasn't fit to use Linux. I'm just as hard-headed as Eric, so I came right back at him. The reality was -- and still is -- that most people who use computers as tools instead of toys want their computers' operation to be as simple as possible, but this concept had not yet penetrated "the Linux community."

Those of us who refuse to become at least jackleg programmers just to write and print a letter aren't necessarily stupid. We just have other things on our minds -- like our jobs -- but getting this point through to some of the self-styled "Linux community leaders" was not easy. You'd think they would have gotten the message when they watched Ralph Nader -- as strong a free software advocate as you'll find anywhere, and a man no one can possibly call stupid -- use Windows to show slides during a speech about why free software ideals would revolutionize computing, not because Ralph wanted to use Windows, but because he didn't have time to learn how to make and display a simple presentation with the Linux tools available at the time.

I always considered the "scratch your own itch" hacker ethos an essentially masturbatory thing. It would be like me writing articles *I* want to read instead of articles I think *you* want to read. Much of the free software programming tide has swung away from that attitude in the past few years, and we're seeing more software developed that satisfies the programmers' friends' and families' needs at least as much as their own. One of the prime examples of this is Bluefish, a lovely GUI-based text/HTML editor I have used since early in its development cycle. It is the editing tool I longed for back in the 20th century. Today I have it -- along with a stable, feature-rich Mozilla Web browser, OpenOffice.org, and other excellent, user-level programs that make Linux as smooth a work tool (for my humble needs) as any desktop operating system in the world.

A lot of this advance in Linux "community" thinking has come about because the stereotype teenage open source hacker working on obscure command line projects his parents could never figure out has gone away, replaced by an image of adult open source developers who want their coworkers and families to use Linux so they'll stop pestering them with Windows support questions.

The funny thing is, yesterday's inward-turned free software hackers and today's outward-looking free software developers are often the same people, just a little older, with their acne cleared up. And members of the next generation coming up have always used GUIs on their desktops -- they are too young to remember DOS or CP/M -- so we can expect to see increasingly sophisticated open source desktop environments, even as the underlying structures keep improving.

A stable Linux desktop will run for years

This point is apparently lost on the people who still believe even the humblest Linux end user needs command line training, but I tell you from personal experience that if you set up a desktop Linux system correctly in the first place, it should not need any command line-level maintenance. Most people don't run around experimenting with webcams or other expensive periperhals. They buy a computer, monitor, printer, and perhaps a scanner and digital camera, and use them until they wear out. "Normal" people don't open up their computers and install the latest Nforcia 5-D GameMeister UltraVideo HDTV card as soon as it hits the market; they use what originally came in their computers and don't think about upgrading at all beyond (perhaps) adding some RAM. If they want fancy games they buy a PS2 or an Xbox, and if they want better stereo sound, they buy a better stereo. They buy standalone TiVos instead of trying to make their computers into digital video recorders or, more recently, simply sign up for the TiVo-like services now being pushed by cable and satellite TV providers.

Most "real world" desktop (and laptop) computers function as combination office machines and Internet terminals. It is easy to install a desktop Linux system that will do these jobs. Heck, you can now buy computers preloaded with Linux, and buy printers and digital cameras certified to work with them, all from the same vendor. And once you have one of these systems, there is no need -- ever -- to do anything beyond point and click until the thing breaks down and either gets sent off to a repair shop or gets replaced by a newer model.

Warning: Automotive analogy ahead!

Many years ago I decided I wanted a cool custom van. I bought a used (windowless) Ford Econoline, put in hatches and opening windows, added chrome wheels, installed a monster stereo, put in a floor and -- I hate to admit, but it was the early 70s -- yellow shag carpeting. I installed paneling and built some simple (varnished wood) bunks and other interior furniture, then talked a girlfriend into sewing some cushions and curtains. I added overload rear springs and heavy-duty shocks to give my van a slight "rake," and put on a chrome roof rack, added a CB radio and a high-stick antenna, painted the thing bright blue and had my body shop buddy Juan do some exotic pinstriping, and when it was all done I had the perfect machine for cruising Van Nuys Boulevard.

Now you can buy "custom" vans, brand new, from car dealers. Young men no longer commonly dress out their cars' engines and park with their hoods open so passers-by -- hopefully cute females -- can "oooh" and "aaah" over their chromed-up powerplants. You can still find a few extreme performance mods out there, but true Hot Rod Culture has largely been replaced by blanded-down, TV-advertised "performance" cars (Warning: professional driver on closed course) that are not nearly as cool as something you create with your own hands.

Rap has gone from the hallmark of an underground culture to part of mass market America. And so it is going with Linux, which is -- sorry, hard-core hackers -- becoming an operating system choice, not a club. You can now drive along Van Nuys Boulevard in a store-bought "custom" car or on a chopped and custom-painted Harley you (shudder) bought that way, carrying a store-bought Linux laptop hooked to the Internet through your cellular phone, and no one will sneer at you.

Well, hardly anyone. A few old-school types might, but we are on our way out and we know it. Such is life. (sigh)

Slick paint doesn't mean 'dumbed down'

A car with a cool paint job can still be a fine machine under the hood, and a Linux distribution with an attractive GUI interface can still have all the powerful GNU and other command line tools anyone could want. Anyone who wants to tweak and tune SUSE or Mandrake or Fedora or Xandros or Mepis or even Lindows can do so to his heart's content, just as I like to do my own oil changes, tuneups and other minor Jeep maintenance and improvement tasks, even if most drivers hardly know how to find the hood release these days.

I don't sneer at people who own cars and don't know how to fix them (at least not much, and never in public), and I don't think command-line Linux people should openly sneer at those who prefer icons to terminal windows.

Those who don't modify or repair their own computers or cars don't suffer much by not maximizing their machines' performance. They probably don't notice the difference, and even if they did they'd shrug it off as unimportant. Maybe *I* think it's studly to get an extra two miles per gallon and 15 - 25 horsepower more than stock out of my Jeep Cherokee, but is it really worth spending over $300 on a Jet Module, plus $150 or so worth on premium ignition parts and a hi-flo air filter, not to mention 20 cents per gallon extra for premium gas every time I go to the gas station?

Then, of course, we can start doing internal engine modifications and overclocking our computers. And the quest for more speed and better handling can go on and on, until we spend all our time and most of our money modifying our cars and computers while other -- I really should say "saner" -- people go to parties, play sports, watch movies, go dancing, and travel.

World Linux domination!

The old line was "Linux world domination." Perhaps this will come to pass one day, but what's more likely is that the world will come to accept and dominate Linux, not the other way around.

The Linux of 2010 will be a totally smooth operating system. It will have a GUI so much more evoloved than anything today that you'll want to cry when you remember what you put up with back in '03 and '04.

Other operating systems will also advance. Microsoft, finally faced with real competition, is not going to sit there passively or rely solely on lawyers and lobbyists to keep sales up. Apple will keep on thinking different. BeOS might get resurrected. A consumer-level BSD Unix might be developed. And something entirely new might come along; there are several incipient operating systems out there that show major potential.

I'm sure there will always be a fully-malleable command line interface beneath the evolved version of Linux, but it will be purely for programmers. Ordinary people will never need to use it or even be aware that it exists. If they have system problems that can most easily be corrected through command line manipulation, they will probably allow their Linux provider to log into their machine(s) and repair the problems -- and chances are the Linux providers will use automated remote diagnosis and repair tools by then, not human programmers, except in the most drastic cases -- which will probably turn out to be hardware problems that require physical action to fix, anyway.

What I'm predicting here is exactly what members of the old "Linux should only be for geeks like us" club have always feared: Linux that Sam Sixpack and Polly Pina Colada can use it as thoughtlessly as they use Windows today. It is part of the "World dominates Linux" process, and it is going to happen whether you like it or not.

The funny thing is, most of the best Linux and free software developers I know are not against Linux becoming massively successful. Indeed, some of the more forward-looking ones see this move as a business opportunity. They know that someone is going to need to develop (and profit from) the services that will inevitably surround consumer-level Linux but don't yet exist, and the most forward-looking developers of all are already working so hard to develop those services that they don't have time to worry about whether or not it's good to see user-level Linux moving farther away from its command line roots and deeper into the GUI camp a little more each day.


  • Linux
Click Here!