Let’s have the CLI cake and eat the GUI too!

I’m really sick and tired of people on the Ubuntu Forums arguing about which is better—command-line or graphical user interface.

Why does one need to be better? Can’t we have both? Alas! Not only can we have both, but we do have both. That’s the direction desktop Linux is heading and has been heading the past few years. No one is abandoning the CLI (command-line interface) or forsaking the GUI (graphical user interface). Linux developers are keeping the CLI functionality and constantly adding more and more GUI frontends to accomplish the same tasks. This is a win-win situation, people. The way things are going, people who prefer CLI can keep using it (yay!), and the people who prefer the GUI can use that instead (yay!). And people like me who sometimes like to use the GUI and sometimes like to use CLI can also be satisfied (yay!). Why is this a problem? What is there to argue about?

The benefits of the GUI should be obvious. Those who are used to Mac and Windows expect a point-and-click environment and are used to thinking and clicking instead of memorizing commands to type. The GUI sacrifices speed and transparency for discoverability and a lower learning curve.

The benefits of CLI exist too! Especially when it comes to support on a text-based forum, CLI is essential. Commands can be copied and pasted. Descriptions of point-and-click actions, even screenshots or video tutorials can be confusing to users if the interfaces do not look exactly the same (“Hey, my menu doesn’t look like that!” “Hey, why don’t I have that option?”) and take a lot of time for both the tutorial maker and the tutorial viewer. More importantly, commands give more useful information if an error occurs. A real error message is more likely to lead to an exact solution. A vague description of “Nothing happens” or “It just crashes” is less likely to lead to an exact solution.

As you can see, both GUI and CLI have their benefits and both should be pursued. And, better yet, both are being pursued, so there’s nothing to argue about. Everybody should be pleased with the way desktop Linux development is going.


  1. I do like this approach better than what Windows is doing. Does Vista even have a CLI? Of course I understand sometimes it is more intuitive for new users to use the gui than to learn commands, but it takes higher brain functions to make connections than it does to memorize. I never really got that “I’m deathly afraid of the command line” though. Maybe, lucky me I didn’t use windows long enough

  2. I agree, both are useful. Some jobs one is better than the other and other jobs the opposite so why argue. We have both so lets be thankful and use the one you prefer.

  3. CLI complements GUI and viceversa; so the only way to understand the reason of this discussion is that GNU/Linux OSs world has always had to deal conflictive dualistic universe… (KDE vs. GNOME, “GNU/Linux” vs. “Linux”, Debian vs. RPM, etc.) so the discussion will always be there and endless… and it’s nonsense.

    The problem with Windows users is, IMO, related to a generation that began using computers with Win95. I may be an exception, because my father insisted in teaching me to use MS-DOS with being few years old…

    And for someone who has learned that CLI doesn’t bite, Vista is useless… and GNU/Linux, joy.

  4. to bobplano: Yes. It is called the ‘command prompt’. But, it sucks. You can’t start GUIs with it (unless you add it to the environment variable), copying and pasting is the only thing it is good for, and you can’t write to files. No pipes as well.

  5. If only everything had both a GUI and CLI… One can only wish…

    @st33med, on the contrary, you can do all that you just said via the CLI. gksu and kdesu can be used to start root GUI sessions, while just entering in the name of the program can start the GUI.

    The CLI is very powerful.

  6. Frak, st33med was referring to my question of whether Vista had a command line or not. Of course the linux one is powerful, but I had only a limited experience in the XP (which isn’t that great at all), and i wasn’t sure if Vista even had one anymore

  7. st33med says:
    > [Re Vista CLI] Yes. It is called the ‘command prompt’. But, it
    > sucks. … you can’t write to files. No pipes as well.

    Don’t talk nonsense. Of course you can write to files, and of course it has pipes. I can’t think of a single command shell ever invented that didn’t have those two features.

    Regarding the main topic, I think everyone here is missing a big point by restricting the discussion of CLIs to “traditional” CLIs. Modern CLIs have pretty much taken over the world. The most obvious example is the Google search box. It’s single-purpose, true, but it’s undeniably a command prompt of sorts, has a surprisingly rich syntax, and is used *waay* more than any traditional command line.

    In a similar vain come Spotlight for Mac, the Vista start menu box, and Deskbar in Ubuntu; as well as programs like Quicksilver, Launchy, and Gnome-Do: not traditional command lines, certainly; more a combination of CLI and GUI: the best of both worlds.

Leave a comment

Your email address will not be published. Required fields are marked *