The one commentor to the article, had it right,...

Story: Linux Desktop: Command Line vs. User InterfaceTotal Replies: 21
Author Content
JaseP

Jul 22, 2010
9:00 AM EDT
The one commentor to the article, blackbelt_jones, had it right,... It's not a competition. The CLI and the GUI are complementary, not competing ways of interactiong with a Linux-based system.

For one, I love being able to use a simple you-see-what-you-get editor like gedit for altering config files. But when the crap hits the fan, it's nice to have nano around (yeah,... vi is the old standby, but despite having been introduced to vi over 20 years ago, I still prefer the ease of nano).

Mostly, CLI functions are just more targeted and faster,... but it's harder to do some things in the CLI, just easier with a touch and drag, despite the overhead it requires. Let's face it though, most modern computers can handle the overhead just fine. But if I want something automated,... no better place to do it than a CLI bash script,... even if it's one that is launched with an icon click from the desktop. Voice recognition systems (for instance for deaf people) would be better suited for CLI-type interaction than GUI,... But GUI is easier on the eyes, and easier for the computer illiterate...

You have to have both in a modern system. If it were all CLI, computing would feel line it was in 1985, and have about the same number of users. If it were all about the GUI,... well,... we'd all be using MACs, or worse yet, Windoze... The GUI is responsible for the preliforation of computers, and the resulting increase in speed power and capacities (to meet the demand), but you wouldn't have a GUI without a CLI first...
ComputerBob

Jul 22, 2010
9:30 AM EDT
FTA:
Quoting:A desktop requires much less knowledge than a command line, and is suited to maybe 80% of the most common tasks that an average user needs.
I consider myself to be an above-average user, and I've been using personal computers since 1979, so I know my way around a DOS prompt; but I've been using Linux full-time for the past 4 years (Debian for almost 2 years) and I don't even remember the last time I was required to use its command line to do any common -- or even uncommon -- task.

YMMV, but the GUI (KDE 3.5 at first, but Xfce for the past 5 months) is probably suited to close to 100% of my needs.
jdixon

Jul 22, 2010
10:02 AM EDT
> I don't even remember the last time I was required to use its command line to do any common -- or even uncommon -- task.

The key word there is "required". It's OK to have a gui; but sometimes the cli is faster, easier, or better for a given task. It's good to have both options.
phsolide

Jul 22, 2010
11:58 AM EDT
Everyone forgets that a command line has a grammar. The various Linux shells even have programming constructs like while-do-done, if-then-else-fi, case-esac, etc etc.

There are things you can't express without a grammar. Technically speaking, you can't express palindromes with regular expressions, but you can with a grammar.

Add in programming constructs and you can express even more. If this were not the case, we humans would not have languages with what linguists call "generative grammars". We'd have something more like flashcards, and occasionally rise to the level of a rebus.

A GUI has *none* of this, it usually doesn't even have regular expressions.

Simply put, things exist that you just can't express in a GUI. You must have a command line occasionally.
Sam_W

Jul 22, 2010
8:23 PM EDT
Long-time lurker, first time poster.

With the command line, as others have said it's not that the CLI is required in most cases, it's that the CLI is often BETTER for what you're doing. There is something else nobody has really mentioned yet, though. The CLI is in large part a standard environment, so you can use the same tools and commands across distros with wildly different GUIs.

Even without that there are a lot of different areas (file movement, configuration changes, remote admin) where using the CLI either lets you get things done faster or gives you a greater deal of control over what you're trying to do when compared to using the GUI.

For an example most probably wouldn't think of, take cmus:

cmus is a text-based music player and it blows any other "light-weight" program of the sort out of the water as far as I'm concerned. It opens instantly, you can search for songs the same way as if you were using vi or less (/ to start your search), and you can set up any number of custom key-bindings for it. It takes a little bit of knowledge to use, but you pick it up quickly and it's faster and lighter weight than anything else I've tried, including XMSS.

That encompasses both CLI advantages and its main disadvantage IMO. You can do things faster and with more control on the CLI, but you need to actually spend a bit of time learning it.
tuxchick

Jul 22, 2010
11:54 PM EDT
At least this thread, so far, is sensible :). Seems like in every CLI vs. GUI discussion, the GUI fans freak out and start screaming "Don't you take my GUI away!!" Nobody ever says they want to take their GUIs away. But for some reason they go all defensive.

Most people are visual, and a good GUI gives you good guidance on how to do what you want to do. But good GUIs are rare; most of them are inefficient and make you jump through too many dialogs and tabs, and you're moving the cursor all over the place. At any rate I love having both.
gus3

Jul 23, 2010
12:42 AM EDT
Having done phone tech support with total strangers, and even doing it lately with family and friends, I have the ability to communicate with syntactic and verbal concision.

Any time I am manipulating files, beyond simple edits or downloads, I find the CLI to be my preferred HCI method. (And it's a TLA trifecta!)

I'm considering making a cheat sheet for my mother, who still doesn't quite grasp cut-paste and copy-paste. Having first encountered a GUI in Commodore 64 GEOS, it took her a few years of Windows and Linux to remember that the days of single-tasking are behind her. But just last week, I caught her moving windows around so that she could visually re-type something from one window into another. I nearly exploded in frustration.

http://m.xkcd.com/763/
ComputerBob

Jul 23, 2010
1:14 AM EDT
As far as I can see, no one here has claimed that the CLI isn't sometimes the BEST (quickest, most-efficient, etc.) tool to use in specific circumstances.

But it seems to me that the article's statement that the GUI is "suited" to about 80% of most common uses implies that the GUI is "unsuited" to the other 20% of most common uses -- and I personally haven't found that to be the case at all.

Sure, I'll use the CLI if and when it makes things significantly easier -- but those instances are becoming fewer and further apart than they used to be for me. I increasingly find myself completing tasks in the GUI instead of looking up and deciphering detailed-but-cryptic man pages to try to determine (or remember) the exact syntax and intricacies of CLI commands that I rarely use.

And I've been computing long enough that I no longer care if I get any "cred" for using the CLI. ;)
Steven_Rosenber

Jul 23, 2010
1:26 AM EDT
I tried really hard at one point to manage my mail in the console, and it was a miserable failure.

For software updates, I do use a gui but prefer the output I see in the console. The process just seems to work better that way.

When I need to write a quick little something or hack into a configuration file, I tend to use vi in the console just because I'm comfortable enough with it. If there's a lot of copy/cut/paste, however, I do open a GUI editor (lately Mousepad, sometimes Geany) just to make it easier. If I were more accustomed to moving type around in vi, I'd probably use it more, but I'm not, so I don't.

But I enjoy a little play in vi every once in awhile. I never did enjoy configuring mutt, msmtp and procmail.
hkwint

Jul 23, 2010
10:22 AM EDT
Coincidentally, I have been trying CMUS for a while (fed up with Amarok).

But it's a bit hard to use though, and there are commands / key combinations to remember. Sometimes, I use mpg123 or mplayer from the command line as well, but nowadays I switched to QMMP. It looks a bit more orderly than CMUS in my opinion.

But if tuxchick states this is a sensible thread, I'd better stop discussing now to maintain sensibility. Did I tell I do 80% of my file management from Bash BTW? I have no idea why, probably because it just works.
gus3

Jul 23, 2010
10:59 AM EDT
You mean you use Bash to launch your file management programs? Bash isn't a file manager.

[/pedantic-jerk-mode]
ComputerBob

Jul 23, 2010
12:32 PM EDT
Quoting:[/pedantic-jerk-mode]
I had the same question when I read that comment, so I prefer to think of it as "ask-for-clarification mode." ;)
tmx

Jul 23, 2010
12:54 PM EDT
Well sometimes you have to launch it in root mode. Besides its easier for me to delete certain files that has root permission with "sudo rm -R file.extension". Than to launch file manager, look the folder, sort by type, select, delete, empty trash.

Command line definitely requires you to spell correctly though, that takes effort.
Steven_Rosenber

Jul 23, 2010
2:26 PM EDT
Bash for file management - I think he means "the classics": mv, cp, rmdir, rm, cd
azerthoth

Jul 23, 2010
3:53 PM EDT
@tmx tab completion!!
Steven_Rosenber

Jul 23, 2010
5:30 PM EDT
I did an install the other day - I think it was NetBSD - with sh instead of bash, and I missed auto-completion very much.
gus3

Jul 23, 2010
5:46 PM EDT
$ cd /usr/ports/shells/bash ; make install

(or something like that)
azerthoth

Jul 23, 2010
6:43 PM EDT
@Steven, my use of it is ingrained. I dont even think about it anymore. To the point where when I am in IRC I tend to try and tab complete words that I am too lazy to type out. Thus adding extra keystrokes unitl I realize that tab isnt doing a dratted thing for me.
hkwint

Jul 23, 2010
8:12 PM EDT
Quoting:You mean you use Bash to launch your file management programs?


I admit. Actually, you're right: I use Bash to launch my file management programs 'cp', 'ls', rm' and 'mv'.

BTW I consider rmdir about the most useless command ever, because who uses it when there's rm -r.

Steven: I know the feeling. Back when I was using OpenBSD, I wouldn't want to stop using csh in favour of Bash, I just typed everything once again. Or better, familiarize yourself with history / exclamation marks.

gus3: pkg_add bash
gus3

Jul 23, 2010
8:28 PM EDT
Heh. I knew about the Ports collection before I knew about pkg_add.
jezuch

Jul 24, 2010
5:58 AM EDT
Quoting:BTW I consider rmdir about the most useless command ever, because who uses it when there's rm -r.


It's useful when you want to ensure the directory is really ideed for sure and absolutely empty ;) [Or when you have a bunch of directories and you want to remove only the empty ones, you just do 'rmdir *' and "the God will tell them apart"]
Steven_Rosenber

Jul 24, 2010
12:52 PM EDT
I didn't stick with NetBSD - this was on my Sparcstation 20. I just installed a second 50 MHz processor (the power! the glory!) and thought that NetBSD would allow me to run in multiprocessor mode.

Well, NetBSD 5 doesn't do MP on Sparc 32, and NetBSD 4, which is supposed to have this capability, is a bit crashy. I had better luck with NetBSD 4 with a single processor, but since I have a box full of Sparc parts, I want to keep it dual CPU.

I bit the bullet and did a Solaris 9 installation, which I'll evaluate. Compared to a "modern" Linux or BSD, Solaris - circa 2003 - is barbaric. One thing it does have is working suspend.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!