Linked by Scott Rippee on Thu 15th Jan 2004 20:27 UTC
Features, Office As I have recently discovered, with the right applications, ditching the GUI and using the console exclusively can be a pleasure. By knowing which console applications will suit your needs the best you can achieve efficiency in a console environment that rivals that of a GUI. With well designed ncurses interfaces many console applications are extremely usable and working in a console environment can not only free up precious resources it can also provide several other benefits that will be discussed later in this article.
Order by: Score:
Stop the insanity!
by Ricardo on Thu 15th Jan 2004 20:45 UTC

A modern OS needs a GUI!

vshnu
by Manik on Thu 15th Jan 2004 20:48 UTC

IMHO, the best file manager ever.

RE : Stop the insanity!
by syoung on Thu 15th Jan 2004 20:51 UTC

"A modern OS needs a GUI!"

So a modern OS also has to be less efficient at times ? Using key strokes to get work done is faster than pointing and clicking.

Those are GUI
by Tux Racer on Thu 15th Jan 2004 20:53 UTC

Just because the graphics of the graphical user interface are really simplistic and are rendered by ncurses or something similar rather than QT or GTK+ doesn't mean it isn't a graphical user interface.

I get a lot done in console windows - Sounds like his DE is broken
by Anonymous on Thu 15th Jan 2004 20:53 UTC

When using my favorite window manager, Fluxbox, I get a lot done in console windows: moving files around, programming, editing documents, etc ...

Sounds to me like he is using a broken GUI/window manager.

He even gave up on xterm 8-)

Re: Stop the insanity!
by Ced on Thu 15th Jan 2004 20:54 UTC

A modern OS needs a GUI!

Not necessarily. For instance, a server does not need a GUI at all. Blind people don't need a GUI either. CLI is fast, much faster to use than most of GUI apps. It might not look intuitive for newbies, but it really proves itself to be efficient for advanced users.

IMHO, GUI should stay an optional part of any OS, modern or not.

Ricardo?
by Jan de boer on Thu 15th Jan 2004 20:54 UTC

Ricardo pelase define a GUI! A GUI is a graphical user interface and in my hummble opinion a console can have that too. But on top of that we use linux/bsd at work without the GUI you mean, eg: console only! Does this mean we don't use a modern OS? A OS should be judged on capabilities and not if it has a nice graphic shell.

The right tools for the right job, if thats either console or GUI it should not matter

v Screenshots!
by Ford Prefect on Thu 15th Jan 2004 20:57 UTC
...
by Err on Thu 15th Jan 2004 20:57 UTC

""So a modern OS also has to be less efficient at times ? Using key strokes to get work done is faster than pointing and clicking. ""

Try drawing Mickey Mouse with the keyboard. :>

I don't need...
by Mark Potochnik on Thu 15th Jan 2004 21:03 UTC

Gosh, I really don't need a computer, but it's very handy...

Same with the gui, for most of us it's an incerdibly powerfull tool, just like any other program on the computer... I really like KDE, it doesn't bog down the computer, it helps me to do what I want to do.

And, yes I do run Linux, and really need the command line very little. It can be done...
MarkP

Gimp
by Mike on Thu 15th Jan 2004 21:10 UTC

I'll need a CLI equivalent to the Gimp before i stop using gnome.

v Vim?
by TheMatt on Thu 15th Jan 2004 21:14 UTC
No mouse, please...
by vegeta on Thu 15th Jan 2004 21:16 UTC

Personally, I get more work done without the mouse.

But do I need a GUI to play my mp3's? Do I need a GUI for text editing? NO.

I want a one-touch, no mouse interface. Mplayer is a good example of that. Q -> Quit, right -> forward, spacebar -> play/pause, f -> toggle fullscreen, etc. Makes sense. Very powerful and after the initial learning curve, it's enjoyable to use. The time delay between the thought "I want to pause" to actually pausing is _a lot_ shorter when you touch a key as opposed to looking for the mouse and the menu/toolbar.

When I install my system (FreeBSD), I do install X. However, I only install the minimum in GUI/X related ports. And the more keyboard shortcuts there are, the more I enjoy GUI applications.

Sure, Firebird, GIMP, etc... these are GUI applications meants to be GUI. But this is better explaining in "The Art of UNIX Programming"...

Command!
by Abelardo on Thu 15th Jan 2004 21:16 UTC

There is definitly a cool factor when using the command line.

Excelent Article
by Jay Developer on Thu 15th Jan 2004 21:22 UTC

The title of this comment says it all.

Excelent indeed, it was my opinion all the time.

CLI ....
by Darius on Thu 15th Jan 2004 21:23 UTC

I don't really see how they could pull off doing a CLI web browser. In Firebird, I can kill pretty much any add via a right mouse click, and I've got the bookmark toolbar going on, where I can store hundreds of bookmarks and edit any of them with a right click. Maybe this could be pulled off in a CLI, but it sure would seem awkward. Also, how would rich text/HTML rendering work in email programs, and is drag 'n drop even possible?

Also, something I've always wondered but never asked, Emacs vs. vi/vim .. which is better ? If I understand correctly, these two apps are the Gods of all text editors.

RE: CLI ....
by Gabriel Ebner on Thu 15th Jan 2004 21:28 UTC

> Also, something I've always wondered but never asked, Emacs vs. vi/vim .. which is better ?
Well, I personally prefer vim; I just can't remember emacs commands.

BTW, excellent article.

I user both
by boris on Thu 15th Jan 2004 21:29 UTC

There are plenty of things, that are much faster with the console. My skripts, that automate tasks and that are adopted to my needs are much faster executed with ./skript. A GUI can almost compete with me, when those skripts are on the desktop as an icon. Those applications, that don't fit an my screen anymore, will have to be executed by klicking this and that and there and anywhere - given that you know, where you will find the icon.

I user both, a slim GUI (XFCE4 on RH9) and the xterm. I use to work with the console on my GUI. Browser, image viewer and other tools need a GUI.

text cheating
by pjm on Thu 15th Jan 2004 21:31 UTC

As has been said here before, many of the apps discussed here are really graphical interface apps, even if they use ASCIII characters to create menus, offer choices, etc. What is really being discussed here is a bitmapped screen versus a text screen.

I kind of straddle the line with this. In the DOS/Win world, I found myself continuing to use Wordperfect for DOS long after its obsolescence because it was faster on my 386 and 486 machines. I still find myself using the CLI interface in NT (and UNIX for that matter) for commands like searching and deleting files, etc. On the other hand, using a text based web browser just seems like a pointless novelty.

Just my $.02

RE: Console Applications That Shine
by Vim fan on Thu 15th Jan 2004 21:34 UTC

"Using the console exclusively also gives you the advantage of using less system resources, which can be important on a slower machine and it enables you confuse and/or impress your Windows using friends when they catch a glimpse of your monitor."

Wrong, console applications for Windows are widely available. I use native console Vim http://vim.sourceforge.net/download.php#pc , wget http://xoomer.virgilio.it/hherold/ , netcat http://www.atstake.com/research/tools/network_utilities/ , and curl http://curl.haxx.se/download.html#Win32 . I also use many of the emulated Unix programs available through Cygwin, like mutt . Linux users want to think that Windows is entirely GUI, but just like Mac OS X, a shell is always waiting for the advanced users.

Mouse
by Luke McCarthy on Thu 15th Jan 2004 21:42 UTC

Try drawing Mickey Mouse with the keyboard

Try drawing him with a mouse...

RE: CLI
by Vim fan on Thu 15th Jan 2004 21:44 UTC

"I don't really see how they could pull off doing a CLI web browser. In Firebird, I can kill pretty much any add via a right mouse click, and I've got the bookmark toolbar going on, where I can store hundreds of bookmarks and edit any of them with a right click. Maybe this could be pulled off in a CLI, but it sure would seem awkward."

w3m, a console web browser, has a context menu similar to a GUI right click.

forgot to mention...
by anonymous on Thu 15th Jan 2004 21:45 UTC

...vim, mutt, slrn, ncftp, pal, abook, snownews, gammu, epic... hmm, or maybe gcc, make, egrep, sed, awk... oh, wait, I'll see ls, cd, rm, mkdir, touch too ;-)

Links
by Owen Anderson on Thu 15th Jan 2004 21:45 UTC

Actually, a commandline web browser can be incredibly useful. When you're administering a headless server over SSH and need to download a file whose URL you don't remember or that comes from a CGI, it's really really useful to be able to fire up Links and just download rather than go through the hassle of downloading it on your local computer and then secure copying to the server. Can't tell you how many time's I've used that.

The cli and why it is slowly fading away.
by Anonymous on Thu 15th Jan 2004 21:56 UTC

The GUI on linux is overtaking its orginal CLI roots. That is because of several reasons. First most people don't like the CLI, this includes technical users, not just joe users, so there is more focus on the GUI. KDE, Gnome, XFCE and others have all made the command line almost obsolete.

But they also provide, for those who MUST use a command line for what ever reason, a more powerful one then the plain console. Konsole, the one that comes with KDE is the one I use. But I hardly use it anymore, I have found GUI program that meet my needs, and do it faster and more effecient than the command line ones.

One of the many reasons people say people still use the CLI is for servers. I personally disagree. Last week I was experimenting with Mandrake Cooker and I wanted to set up a test web server. I soon found out that Mandrake could set up Apache with click and point. Not only that, but it came with a Wysiwyg webpage creator called OpenOffice Web. All I had to do was save the files In the /var/www/html folder and they were working! No command line at all, and yet fully functional and secure, and no editing HTML ever

These "cli" apps that were mentioned looked like dos programs. I thought dos was dead already, and now you want to ressurect it? Lets see, a console based ICQ client, a file search tool, a network monitor, a web browser, a file manager and a music player. All these applications you have shown have mature, easy to use GUI versions, which support drag and drop, complex operations, no need to remember complex command names and sequences, no need to type, just point and click. The Keyboard should ONLY be used for inputting text, not controlling programs

Unless you have an old machine (386) that can only handle text mode then there is no point. 80x25 text mode is not even used by default in Linux anymore, it is graphical display, that emulates the CLI. That is why you can view movies from it.

The realitys are that command lines are going out of fashion, and so are their apps. For example Emacs has recently lost its place as the 2nd most popular text editor to KATE, the KDE advanced text editor. It has been vastly improved in KDE 3.2 betas, and may even challenge the domoninance of VI/M.

I have listened to the arguments of the cli advocates, but in the end, GUIs are winning. If CLI was so powerful and easy to use, then KDE, Gnome and the rest woudn't exist and we would ALL be on 80x25 consoles. This is the year 2004, four years into the comandlineless millemium, lets keep it that way! I don't want to learn complex commands, and I want to be able use my mouse arrow to do all the work for me.

Re: Web browser ....
by Darius on Thu 15th Jan 2004 21:58 UTC

What about tabbed browising in the CLI .. is that possible ?

elinks
by Luke McCarthy on Thu 15th Jan 2004 22:01 UTC

Elinks is a pretty good text web browser which I use all the time. It renders frames and tables really well (switch on box drawing), quite usable in 1024x768 framebuffer mode.

RE: Not Necessarily...
by Nemo on Thu 15th Jan 2004 22:07 UTC

"For instance, a server does not need a GUI at all."

What about an XServe?

Efficient only of the user
by Idoxash on Thu 15th Jan 2004 22:08 UTC

"So a modern OS also has to be less efficient at times ? Using key strokes to get work done is faster than pointing and clicking."

I keep hearing from some ppl how GUI are slow and un efficient. I realize efficient means how much work you get dun within a time and realize console giving to the right user can get SOME types of work dun faster I really dun see why a lot of console users makes a huge deal out of it. Let's face it 99% or so users that uses a computer uses it because it has a gui. I can use a console but I will never use it in the place of a gui. My gui is not slow, infact it's dang fast, I get what I want dun in a very short amount of time. All of this on an avg computer you could say. What really get's me thoe is some of my friends who goes out every 2 or so years and byes the most powerful x86 class computer there is, load it with windows or linux, turn off all the fancy gfx, play mostly text base mud games, listen to some music, use 50% of there time on a console, and in the end they complain about it not be as fast as they like. I really don't get that but I see this same issue in a lot of ppl I meet on-line.

re: stop the insanity
by Brad on Thu 15th Jan 2004 22:09 UTC

ced,

". Blind people don't need a GUI either."

excuse me? yes they do, or rather it helps a lot, by having a gui that gives them feed back it helds a good bit. You can have a GUI act more like a 3D texture. And they can work with that.

Just because your blind doesn't mean you don't multi task. Frankly I would say a CLI would be very difficult for a blind person and i don't know how much is there for tools for them.

Anonymous
by James on Thu 15th Jan 2004 22:09 UTC

Um, you're dreaming if you think Kate is more popular than Emacs. Vim rules, of course, but Emacs is *very* widely used on dozens of platforms. Kate? Troll on.

Re: The cli and why it is slowly fading away.
by ralph on Thu 15th Jan 2004 22:09 UTC

Obviously you are not into shell scripting.

my favorite non-GUI-tool
by valek on Thu 15th Jan 2004 22:11 UTC

I really like ettercap!
http://ettercap.sourceforge.net/

I run it on Linux but had big trouble to compile it on Panther. Always the same PKG_CONFIG error and no chance to solve it (even with fink and so on ....).
:-(

Err (re: mouse using a keyboard)
by Anonymous on Thu 15th Jan 2004 22:22 UTC

Try writing an essay with a mouse.

:^)

Good Article
by blixel on Thu 15th Jan 2004 22:23 UTC

I thought it was a pretty good article but a little short on listing useful programs. It did bring to my attention a couple of new CLI programs I wasn't aware of, but I'd be interested in a follow up article with a lot more programs. There was no mention of an e-mail client (such as pine), an irc client (such as BitchX), an ftp client (such as ncftp), and on and on.

I prefer to use X but I still appreciate the usability of *good* CLI programs.

GUI is a waste of resources for some tasks
by James Madison on Thu 15th Jan 2004 22:28 UTC

My workstation is a Mac running Panther. A really great GUI.

My firewall is a mini-itx computer with no GUI. I use ssh and vi to edit files, and other commands to check space, watch traffic, and so on. A GUI would be a waste on that machine, because it needs all of its resources to route and log packets in and out of my network.

I also have a hushPC mini-itx as my main Linux system. It has a lot of Xwindows programs on it, but I am running no X server on the machine itself. From the Mac, I use ssh which automatically redirects the display from the hushPC to the X server on the Mac. Since I have a very small network at 100Mbits, I can even play DVD movies on the Linux PC and watch them on my Mac screen with no frame loss.

Both my firewall and Linux PC have relatively small amounts of RAM for today's modern GUI installations, but I can do a whole lot with both of them because they don't waste resources drawing windows I will never see.

On my Mac I have Virtual PC running with a LInux installation, which I use to build and test linux kernel configurations. Again, no GUI is needed to build, install, and boot the Linux kernel, so by using cli only I reduce the resources that Virtual PC might eat up on my Mac if I was running KDE. I even once set up a Virtual PC "virtual vpn" with two openbsd (no gui) installations as IPsec routers, and one Linux installation (no gui), talking to my Mac over IPsec. It was a bit slow, but it would have been much worse if I thought I needed to run GUIs on the 3 Virtual PC instances.

RE: CLI...
by MobyTurbo on Thu 15th Jan 2004 22:52 UTC

Mutt can display HTML email fine by piping it through "lynx -stdin", which like any good Unix program can act as a filter.

Japanese on Console
by Anonymous CS Coward on Thu 15th Jan 2004 22:54 UTC

mpg321 and ogg123, because I don't want a ncurses GUI just to listen mp3.

micq, because I don't want a ncurses GUI just to talk in ICQ.

And for some ncurses GUIs, mutt, because it is so much better than pine. And w3m is cooler than links, too.

For those into shell scripting, learning m4 (to autogenerate configuration files) and expect (to automate interation with CLI tools) will make wonders.

nethack, so that you can lose time in CLI too.

The only thing I believe is missing from console is a good, multilingual, Unicode internationalized console. I'd switch from Linux to some other Unix if they did it. In any Gnome app I can switch from Latin-1 input to Japanese input at runtime...

@brad
by Err on Thu 15th Jan 2004 22:57 UTC

""excuse me? yes they do, or rather it helps a lot, by having a gui that gives them feed back it helds a good bit. You can have a GUI act more like a 3D texture. And they can work with that. ""

That's a fairly stunning idea. If you turn the interface into something 3d (Like you said), then combine that with a force feedback mouse and some text->speech it could be very liberating. Don't know much about blindness, but I'd guess that blind folks have a better ability for mental maps than seeing folks.

Seems like an obvious idea, wonder if anyone has already done it. Probably not, doubt there are enough blind users to get a decent profit out of it. Pity.

Tradegies of the Graphic User Interface...
by root on Thu 15th Jan 2004 23:04 UTC

In a utopia environment, there wouldn't be any artificial barrier between the graphic user interfaces, the command line interfaces and other interfaces.

The problem with graphic user interfaces is that they are significantly inefficient, albeit convenient; abused with needless and redundant icons and fanfare; they consume a disturbing amount of system resources for doing relatively nothing (the exception here is video games);and more often than not, little thought is put into their design.

Unfortunately, humans are visual. Science tells us that our vision is deceitful. Users judge graphic user interfaces not by efficiency and functionality, but by pretty icons, animation, window effects, colors, glitter and trivial superficialities. (Mac OS X, anyone?)

So how do I achieve efficiency and functionality? Well, you are efficient when you are doing more with less. Unfortunately, graphic user interface designers do exactly the opposite. They throw at you are multitude of distractions that you don't need, clutter your interfaces with a whole bunch of icons and colors and leave you in a state of utter chaos and needless complexity. Oh, did I mention all those take up resources too?

How about functionality? When you launch an application, what task do you do with it? Take a look at your graphic user interfaces. Are the tasks placed conveniently and appropriately were you can use them? Are their a bunch of icons, tool bars, menus, etc on your interface that you don't use and will never use? Can you replace all that with tools that let you get your job done? How often do you have click through menus searching for a way to execute a particular task?

You are functional when you do work effectively and efficiently instead of doing work by trial and error. A functional worker is the person who uses the “Ctrl – S” command to save his or her work, instead a searching through a spaghetti or meaningless icons, tool bars and menus. A functional worker issues commands to the application and not the other way round.

Modern graphic user interface designers do not encourage the efficient and functional user. Modern GUI designers want half your screen to be littered with icons, menus and windows. They want you to upgrade your system every year, because version2-X of your favorite application now renders icons and anti aliased texts in 3D. How cool!

That's why the command line interface might always be more efficient and functional. In a CLI environment the user issues command and not the other way round. There needs to be a change in the manner we design and develop our applications.

Using an application should be an extension of your thought process. Interfaces should be designed intelligently and differently for specific tasks, and perhaps even, for specific users. Interfaces should allow users express their intentions, succinctly and accurately and of course with proper feedbacks animated or otherwise. Any sort of distraction, needless features, complexity and unnecessary innovations should be avoided.

I've always been interested in research methods that make graphic user interfaces less of a system resource nuisance. I think these should be major factors in judging the next generation of interfaces. But we need to begin by encouraging knowledge users. Unfortunately, the industry seems to be doing exactly the opposite.

aalib
by aalib on Thu 15th Jan 2004 23:07 UTC

theres nothing like using aalib for all your image viewing needs. if cli gives a cool factor, then aalib doubles it. its like the matrix, only not as lame.

GUIs
by Will on Thu 15th Jan 2004 23:10 UTC

GUIs are wonderful. Firstly, they provide a boatload of real estate compared to console displays. They provide a medium of communicating at a higher bandwidth to the user (e.g. icons that fall in the "a picture is worth a thousand words" category, charts, etc).

Where GUIs fail is not so much in their display, rather in how the user interacts with the data upon it.

For casual interfacing of untrained users (kiosks, web stores, etc), point and clicking your way through occasional transactions works very well.

But start making those transactions in a higher volume, and more repetitive, and the user is going to be much more productive and efficient using a keyboard centric interface rather than a mouse centric one.

As we've discovered running repetitive tasks on a keyboard is very easy. Muscle memory etc make the keyboard almost unconsciously navigable.

Mouse based interfaces, of course, require, for lack of a better word, "aiming" of the mouse to perform your task. That's a much more difficult task to do in a repetitative fashion. Manipulating the mouse if a much more conscious task that brings the interface to the fore front of the brain compared to a keyboard. Once the interface is on the persons mind, their task is not.

Simple example, while typing this sentence, I'm focusing on word selection, punctuation, spelling, structure etc. What I'm not focused on is typing, manipulating my fingers to find the keys. As soon as I grab the mouse, however, I'm now in "interface" mode.

Grab mouse, find cursor, aim it at "Submit Comment" and click. Simply put, everytime you overshoot something with your mouse, you're "wasting time".

Certainly some interfaces are simply not practical without a mouse. Hard to do Photoshop without one.

But for many back office applications, the mouse is pretty much completely unnecessary, and that's where folks really suffer.

Of course, most modern applications simply are not keyboard navigable, and that's what give GUI's a bad name.

People running Emacs/vi and xterms have little complaint about GUIs, particularly if they have a keyboard based window navigation system (e.g. alt-tab), even though they're "surrounded" by one.

To each is own
by dukeinlondon on Thu 15th Jan 2004 23:12 UTC

I am a GUI person with command line culture and there are things that I always do command line and things I prefer to do gui way.

Broken definition
by drsmithy on Thu 15th Jan 2004 23:28 UTC

The use of the term GUI in this article will refer to an X server with the possible addition of a window manager and/or desktop environment. Although I have seen applications with ncurses interface referred to as having a GUI, I will refer to their interface in this article as the console or User Interface (UI).

I realise what you're trying to do here, but really, your definition is fundamentally wrong from the get-go. A curses based console app, or even something that presents a simple menu of choices, *is* a GUI. The value of GUIs isn't in the pretty pictures and whizzy effects, it's in the "prompting" and operational feedback the user gets that doesn't exist in CLIs. With a CLI, you need to know what you're doing and how to do it before you start. With a GUI, the interface itself helps you to figure it out, if you don't know. A GUI helps the user explore, learn and infer, a CLI doesn't.

Certainly, for many things, once the user knows what to do a CLI (or something conceptually identical like keyboard shortcuts) allow the user to operate more efficiently, but they don't provide the same level of operational feedback as GUIs and, until we can get some pretty advanced natural-language technology, aren't as intuitive.

commandline forever...
by Daniel van Eeden on Thu 15th Jan 2004 23:32 UTC

Even more advanced things are posible with the console:
Creating PDF's with LaTeX/DocBook and fbgs
Editing StarOffice documents. (use unzip!)
Use pine or mutt to read your (gpg signed) mail.

The console can be very productive:
use Makefile's.
tab completion
"rm {X,x}term"
"ls {N,n}ightwish*.{mpg,mpeg} | nl | tac"

The console can be fun:
Watch TV with fbtv or aatv

It reminds me of old sun hardware: the difference between the sparcserver and the sparcstation, is that the server doesn't have a framebuffer.

goodies...
by mmu_man on Thu 15th Jan 2004 23:37 UTC

To all who moan that a GUI is always better, I'll say you don't know what efficient mean.
When you have something to do on 500 image (= batch processing), or rename 300 files with a specific pattern, you'll see how limitating a GUI can be.
The best way being the "middle way", as in boudism, using which is the best for each operation.
That's why I often hit ALT-T (TerminalHere addon) to open a Terminal from a Tracker window and type "t ." in Terminal (alias t=/system/Tracker in ~/.profile) to open a Tracker window at the working directory from the Terminal in BeOS.

Now, please everyone get the difference between CLI and TUI.
CLI means "command line interface", that is, you type a line, and you get an action, that's all.
TUI means Text mode User Interface (I saw CUI also), which includes all those ncurses-based progs.
each of them having their use.

Even BeOS which is a very GUI oriented OS, TUI can be very nice:
http://clapcrest.free.fr/revol/beos/shot_xemacs_beos_002.png ;)

> I'll need a CLI equivalent to the Gimp before i stop using gnome.
ImageMagick's convert program is very powerful...

Slackware has something called netwatch which is quite useful as network monitor.

I'd like to suggest also TWIN, which is a Text mode Window Manager:
http://freshmeat.net/projects/twin/

Re: Web browser ....
by emdot on Thu 15th Jan 2004 23:53 UTC

What about tabbed browising in the CLI .. is that possible ?

Elinks is your answer ;)
http://elinks.or.cz

Re: Root and mmu_man
by WorknMan on Thu 15th Jan 2004 23:58 UTC

You are functional when you do work effectively and efficiently instead of doing work by trial and error. A functional worker is the person who uses the “Ctrl – S” command to save his or her work, instead a searching through a spaghetti or meaningless icons, tool bars and menus.

Normally in a GUI program, if you want to save a document, you can either click on the little disk icon (usually right in front of your face), or click File->Save. Or, of course, you can press CTRL-S. The beauty of this approach is that in any decent, coherent GUI systems, the menus, toolbars, and keystrokes are largely the same. So, once you've learned them in one program, you pretty much have learned it in all programs. Now, contrast this with the CLI, where usually every program kind of does it's own thing. I have 40+ apps installed ... I'd go nuts if I had to remember (or constantly look up) commands, command-line switches, or keystrokes for every program I used.

Are their a bunch of icons, tool bars, menus, etc on your interface that you don't use and will never use? Can you replace all that with tools that let you get your job done?

Well, yeah. Any GUI app worth its wait will let you customize the interface to look exactly how you want.

I'll say you don't know what efficient mean. When you have something to do on 500 image (= batch processing)

Jasc's Image Robot

[i]or rename 300 files with a specific pattern</>

There's probably about 30 apps that do this - check download.com.

Now, don't get me wrong - I am not going to shy away from CLI when doing things like ping or traceroute, but I really don't use it that often.

RE: CLI ....
by calc on Fri 16th Jan 2004 00:11 UTC

> Also, how would rich text/HTML rendering work in email programs, and is drag 'n drop even possible?

The proper way to render rich text/HTML email is via the "d" key... DELETE it immediately.

a story about two router vendors. First - Cisco. Second - Wellfleet which became Bay Networks, which got bought by Nortel. I've used both.

At some point cisco routers only had CLI to manage them. Rather clumsy, I would say. WellFleet on the other hand had nice ncurses-based management interface, it was a breeze to navigate, enable/disable different features, just a pleasure.

At some point Wellfleet (Bay Networks) decided to ditch that management interface and incorporate the full blown GUI-based one. That was a complete disaster. The interface was slow, buggy, no longer worked with VT-100 compatible, you had to have either MS/WIN or Unix/X, of course it didn't work if you had to access the router via dial-in connection (they didn't support PPP if I remember correctly). that was exactly the time of 'Internet explosion' and because of complete impracticality of managing the router via GUI (especially when network is down, or you are debugging the problem), they lost to Cisco - even if their hardware was way better. Lost and never recovered. I've worked with the old wellfleet, newer baynetwork routers, and also cisco, so everything I'm talking about is a first hand experience. every shop I've worked ended up replacing wellfleet/baynetwork routers with cisco.

v wtf
by stu on Fri 16th Jan 2004 00:45 UTC
RE: aalib
by Anonymous on Fri 16th Jan 2004 00:54 UTC

"theres nothing like using aalib for all your image viewing needs. if cli gives a cool factor, then aalib doubles it. its like the matrix, only not as lame."

Cool! I've been looking for a program to do this in Linux.

RE: aalib
by Ford Prefect on Fri 16th Jan 2004 01:02 UTC

you can also play doom / quake / sdlgames on console (nice on framebuffer, let's say 1280x1024, there are lots of characters on the screen, aren't?) with aalib (sdl aalib output) or watch movies with aalib (mplayer aalib output) and so on.

if you like both text and the matrix, install cmatrix.

if you would like to see a nice demonstration of aalib, try out bb.

Command one liners....
by cheezwog on Fri 16th Jan 2004 01:03 UTC

Firstly, looking at those screenshots, I would say that it's worth using fbdev and getting more than 80x25 chars on the screen. It makes using the console much nicer.

Secondly, for me the gui/console division comes from the method used for the display. If you are just using ascii chars, it's console. If there are bitmaps, it's a gui. ncurses therefore is a console app, even though you can have windows and pull down menus in it.

Thirdly, and somewhat off topic... For some reason I like browsing the web with lynx. If I read the bbc news site with a graphical browser, I skim the text for information that catches my eye, look at the pictures and then click- move on.
If I use lynx, then I read the news without all the distractions, and understand and retain more of it afterwards. It's strange, but sometimes filtering out all unnesessary information (one bombed out street in iraq looks pretty much like any other) makes me concentrate more on the facts.

Recommended software
by emagius on Fri 16th Jan 2004 01:12 UTC

Ignoring the CLI vs. GUI discussion for a second, I'm surprised by a few of the author's software choices and his offhand remark about GNU screen.

GNU screen is/should be the most essential piece of software on your machine if you're working with xterms (or aterms/rxvts, given that xterm is bloated and outdated) or with virtual consoles. It's not just a means of using multiple terminals in one virtual terminal -- it offers utilities like cut&pasting of output, audio and visual alerts on job completion, resizing and tiling applications, powerful scripting, message lines, and much more. If you get an instant message and you're working in a full-screen vi session or if your compile job finishes while you're browsing the web, screen will know. Even better, you can attach and detach sessions so your programs will keep going even after you've logged out of the machine. If you forget to log out at work, that's not a problem. When you get home, just run "screen -R" and your session will be transferred over to home, with all windows perfectly intact. You can even run sessions collaboratively with others. Now that's what a remote desktop ought to be.

I'm also curious as to why the author recommends CenterICQ -- with its tremendous bloat (both in terms of source/compiled size and footprint) and propensity for freezing -- over naim ( http://naim.n.ml.org/ ). Naim is also a lot easier to set up and use as well, being free of weird command sequences. Everything is done through well-documented IRC-like commands (tab completion is supported, of course) and the tab key to switch sessions.

While Links-2 may be the most featureful of console webbrowsers (though I think Links-Hacked still holds that title), it's a terrible CPU and memory hog. It routinely eats 50+ MB of RAM, the vast majority of it resident. Rendering routinely brings my PII-class machine to its knees.

Likewise, SVGAlib blows. It has horrible support, requires root privs, and usually looks pretty bad. GUI-style applications running in it feel weird and its unsafe to switch consoles while SVGAlib is running. A far better solution is simply to run X with a lightweight window manager that allows full-screen applications (a la IceWM).Start up a full-screen rxvt, start up GNU screen, and you're set. Not only do you get better refresh rates, better fonts, and a larger (character by character) work area, you suffer none of that eyestrain-causing virtual console switching. Plus, you can run Gimp or whatnot when you need to without difficulty.

I have three workspaces set up in IceWM -- the first hosts my fullscreen rxvt (with screen giving me five shells (more are just a CTRL-A,n away) running a few general purpose bash command prompts, naim, and madplay (which seems to give me the best tradeoff between sound quality, stability, and resource usage)), the second has a full-screen/full-screen Opera (for Opera is still the best browser I've seen -- it's much lighter and faster than Konq, Firebird, Links, and even Dillo (CPU-wise, at least) while being much more featureful and standards-compliant than them as well), and the last is where I can launch Gimp, Xpdf, xzgv, mplayer or whatever other graphical application I might require.

It's the best of both worlds, and my CPU and memory usage is lower than when I was console only (blame mutt and Links).

@Brad
by A nun, he moos on Fri 16th Jan 2004 01:29 UTC

Frankly I would say a CLI would be very difficult for a blind person and i don't know how much is there for tools for them.

Braille terminals. That's what most blind person use, although the "GUI" equivalent (with force-feedback mouse) are becoming more common.

Anonymous (IP: ---.cable.ubr05.azte.blueyonder.co.uk)

Hey, if some people like to use the CLI, just let them! Different (key)strokes for different folks...there are still some actions that are faster with the CLI than the GUI, like restarting services, copying and moving lots of files around, and installing software from URPMI repositories. Of course, there are GUI tools for these, and I sometimes use one, sometimes the other.

I also have a mini-command line in my kicker panel to launche programs. It's often faster to click it and write the name of the program than to go through the menus, especially since it features a drop-down menus of the most recent commands.

As I said, if it's not for you don't use it, but don't call for its eradication. People still use it (accessing servers and connecting through SSH are also common uses).

@Err
by A nun, he moos on Fri 16th Jan 2004 01:34 UTC

Seems like an obvious idea, wonder if anyone has already done it.

Oh, yes, there have been force-feedback UIs for a few years now.

Here's a link for a company that offers these kind of products:

http://www.virtouch.com/

screen, almost an after-thought?
by iGZo on Fri 16th Jan 2004 01:50 UTC

I was very surprised to see the way "screen" was mentioned, almost like it was an after-thought. Screen is by far (imho) one of the most powerful console tools around. More time should have been spent talking of it's features. I have had *excellent* results using screen, it has performed well on every platform I have used it on. Not everyone can physically sit at the box they work/play on, that is where screen comes in.

When it comes to BitchX and CenterICQ, well, I would have to say if your looking for the best IRC client, look too BitchX, it's packed with far more irc-goodness. For the other chat networks, the obvious choice is CenterICQ.

Midnight Commander makes file/directory management a snap. It too is feature rich. One added feature that I like (and regularly use) is the FTP client, very transparent and reliable.

I am not really into music much, but as far as MP3 tools, I am very happy with a Perl project/app called "CDDOIT". It has proven to be a wonderful console based MP3 <-> Audio CD conversion frontend.

Mplayer, where do I start. Well, it's is a fantastic audio/video player. It has played (very well) every video I have wanted to watch via computer. I also like that it performs well on non-x86 platforms, I use it exclusively under Solaris/SPARC.

I spend about half of my computing time within a screen/shell session, and I love it. I do like GUIs, and Fluxbox is my standard-issue wm.

There is another article that talks about this subject more at:
http://freshmeat.net/articles/view/581/

-iGZo

Multiplex em with screen
by apeiro on Fri 16th Jan 2004 02:05 UTC

I use a lot of console apps for my day-to-day stuff too. centericq, mutt, irssi, etc. I find it handy to keep them all in a screen session, then I can be anywhere on the net and still be connected to my vital apps.

The trick is in screen's detach/resume capability. It can detach itself from the controlling terminal and continue running in memory. Then you can log out, log back in from somewhere else, and resume your screen session (screen -dr) from your new location, apps intact.

http://www.gnu.org/software/screen/screen.html

RE: WorknMan
by Abraxas on Fri 16th Jan 2004 02:25 UTC

Normally in a GUI program, if you want to save a document, you can either click on the little disk icon (usually right in front of your face), or click File->Save. Or, of course, you can press CTRL-S. The beauty of this approach is that in any decent, coherent GUI systems, the menus, toolbars, and keystrokes are largely the same. So, once you've learned them in one program, you pretty much have learned it in all programs. Now, contrast this with the CLI, where usually every program kind of does it's own thing. I have 40+ apps installed ... I'd go nuts if I had to remember (or constantly look up) commands, command-line switches, or keystrokes for every program I used.

You can't be serious. GUI's are horrible for consistency. Try using different web browsers. The preferences menu is sometimes called 'options' and is often under different headings in different browsers. Toolbars are also vastly different in different programs, particulary graphics programs. Contrast this with console apps, which share many of the same switches and keystrokes between programs. Granted not all are the same but, for example, a -v switch for verbose output is much more consistent among console apps than any icon or menu in a GUI app.

Hard to get everything done just with CLI nowadays
by dillee1 on Fri 16th Jan 2004 02:40 UTC

I run linux on a few headless machines. Naturally I prefer using CLI on those situations. Remote X is not enjoyable to run, especailly on slow, long haul links.

However nowadays even many linux programs trends to be GUI oriented. CLI counterpart trends to either sucks or non-existent at all.

Say you can try look for a linux bittorrent client. 9/10 of them are X based. The scares CLI clients mostly sux(Unstable, and/or writtened in interpert language and slow).

I don't really see the trend to make tools GUI centric in Linux is a good thing.

RE: Hard to get everything done just with CLI nowadays
by emagius on Fri 16th Jan 2004 02:51 UTC

Psst. I'll let you in on a secret. You know those GUI Bittorrent clients you mentioned? They're all just front-ends for the CLI-oriented python bittorrent core. Quick, choose a better example!

Key Console apps that have to be mentioned....
by mlk on Fri 16th Jan 2004 03:20 UTC

http://www.pitman.co.za/projects/charva/ - Charva, Convert any Swing app to a console app.
http://webpages.mr.net/bobz/ttyquake/ ttyQuake. It has to be posted ;)

and while GUI less, the NetPBM [ http://netpbm.sourceforge.net ] is a very common set of apps used by me. ;)

OS X user, loves his Terminal.app...
by NeoWolf on Fri 16th Jan 2004 04:22 UTC

Pretty good article. CenterICQ is actually my primary IM client. Once it's LiveJournal support improves it'll probably take over in that department as well. I tend to like using command line apps for certain things. If they're well designed they just seem more efficient and "together" to me. Aside from CenterICQ I also depend on irssi for irc and wget for my downloads. And although some may laugh, pico for my text editing.

RE: WorknMan (IP: ---.dsl.austtx.swbell.net)
by BR on Fri 16th Jan 2004 04:32 UTC

" Now, contrast this with the CLI, where usually every program kind of does it's own thing. "

You do realize that's not an inherent property of a CLI? Just as consistency isn't an inherent property in GUIs. Consistency is something that arises in the design phase and carried through.

good topic
by WotZeeFook on Fri 16th Jan 2004 05:12 UTC

I used nothing but the console for 2 months. I know a few improvements and tasks not included here. see http://digitaljunkies.net/apps/nix.html

Most useful commands
by Thomas Sutton on Fri 16th Jan 2004 07:24 UTC

Everything covered by the POSIX standards. And everything in the build chain ([gi]?make, awk, sed, patch, gcc, ld, as, nasm, gasm, flex, bison, et al.). And at least one shell.

w3m, links, lynx, etc will never beat nc|html-filter.sh|less. At least from a resource utilisation point anyway. :-)

CLIs Vs GUIs
by nicholas Blachford on Fri 16th Jan 2004 10:46 UTC

You have a screw and a nail, a hammer and a screwdriver. I don't need to tell you what fits with what do I.

The same goes for the CLI and GUI. There are some tasks which will always be faster on a CLI, there are others which will always be faster on a GUI. The examples given above are pretty good, a GUI is the logical interface for drawing, shell scripting makes more sense in a CLI.

The difference is with a CLI you need to know what you are doing before you start, there is a much steeper learning curve simply becasue you have to know the commands.

With a well designed GUI you can jump into the system and use it without knowledge. Try doing that with a CLI you don't know.

I like the approach BeOS and OS X use (and the Amiga > 10 years earlier), they are GUI based systems but a CLI is present and is another tool to be used.

Computers may be complex but can be and should be easy to use, people who say otherwise (and there are many) do not kow how to design in useability.

I think CLIs could probably be improved quite considerably, Unix CLIs in particular require considerable learning for a user to become proficient and I think a lot of that is unnecessary.

IBM has had better CLIs for years if not decades on systems which predate Unix. The commands are based on a simple set of rules which when learned allow you to access thousands of commands, you don't have to know the commands becasue if you know the rules you can quickly figure out the command you need.

Keyboard vs mouse
by Anonymous on Fri 16th Jan 2004 12:26 UTC

There is nothing wrong with GUI except the overuse of the mouse. Think about it, most mouse actions are seleting a menu item or klicking on buttons. That can be done much faster with the keyboard. Remember you have 10 fingers and 102 keys (buttons). Those buttons are here, right in front of you and always available. And the best: you can haptically feel the buttons ;-)
Sure, there are apps where you need a mouse to be productive (photoshop). But even then shortkeys are very usefull, especially for poweruser.

MPlayer on the console
by Anonymous on Fri 16th Jan 2004 12:54 UTC

Don't use svgalib for console MPlayer, there are much better alternatives: if your graphics card supports it, use -vo cvidix, which uses hardware scaling, otherwise there's vesa output support, which should work on any remotely modern card. Both of these are available without requiring an external lib.

I use two text-based mail clients here under OS/2 (Pine and Yarn), and it's quite easy to launch different programs as needed to view various rich text (or graphical, or whatever) documents based on the MIME type(s) present in the e-mail.

If someone sends me an HTML message, I flip it to Links for viewing. Graphics files generally go to zgv under Linux or an appropriate DOS viewer (e.g., QuickView) under OS/2, sound files to Z! under OS/2, etc.

It's nice to see that others have discovered that text-mode programs can be useful, and many of them have usability features like pull-down menus which makes them relatively easy to learn as well.

This posting is being made via Links 0.99, BTW. The OSNews web site renders VERY well in this browser...

RE: Console.
by Theophrastus Hohenheim on Fri 16th Jan 2004 14:07 UTC

Actually, there is kind of a middle ground solution... Ratpoison. I use ratpoison w/ GNU screen as my UI. GNU screen has all my CLI/terminal applications running. It looks exactly the same as console and acts exactly the same -- with a very very small footprint. It is keyboard driven. The only GUI application I use is a web browser (Mozilla-Firebird) simply because I like reading books in html format in it better than console browsing -- although postrcript is my favorite and I hate pdf -- but I digress. IMHO opinion ratpoison is the best middleground unless you have a very old computer witht not alot of RAM. Check out this article from freshmeat to see what I mean :

The Anti-Desktop

http://freshmeat.net/articles/view/581/


Clearly this is the most superior option to any reasonable person.



re: keyboard vs Mouse
by Theophrastus Hohenheim on Fri 16th Jan 2004 14:23 UTC

"There is nothing wrong with GUI except the overuse of the mouse. " -- By Anonymous (IP: 146.140.220.---)


Exactly ! That is why ratpoison (kill TEH RAT ! i.e Mouse) which is a keyboard driven X multiplexer is superior to the pure console solution this guy is sugesting for hacker/programmer workstations. I agree X is unecessary for servers but if the machine at hand is not a set and forget and check on every once in a while server -- but a workstation: Ratpoison is the the answer.

Discretion: I am not a ratpoison developer or friends with any of them ... no reason to gratuitously plug it for personal gain. I am just a sastisfied user of it on my BSD systems .. mostely OpenBSD at this time.

re: Vim Fan
by mabhatter on Fri 16th Jan 2004 14:26 UTC

But in windows you don't gain anything by using console only...you can't "turn off" the gui system...it's always on because it loads with the kernel. You will save some resources, but not enough to let you get away with a full generation-older [or more] hardware. Which is what you gain using *nix with only CLI.

The Humane Interface
by Ralph Paul on Fri 16th Jan 2004 15:15 UTC

Before anybody starts talking about modern OS and interface, they should be forced to check out
"The Humane Interface" by Jef Raskin (Canon Cat and Mac creator !!)

Website is : http:www.jefraskin.com


Have fun.

RE: root
by psycosis on Fri 16th Jan 2004 16:34 UTC

> The problem with graphic user interfaces is that they are significantly inefficient, albeit convenient;

That remains to be seen.

> abused with needless and redundant icons and fanfare;

Bad design is bad design, CLI or GUI.

> they consume a disturbing amount of system resources for doing relatively nothing (the exception here is video games);and more often than not, little thought is put into their design.

True, but modern machines in most cases have the resources to spare.

> Unfortunately, humans are visual. Science tells us that our vision is deceitful. Users judge graphic user interfaces not by efficiency and functionality, but by pretty icons, animation, window effects, colors, glitter and trivial superficialities. (Mac OS X, anyone?)

True.

> So how do I achieve efficiency and functionality? Well, you are efficient when you are doing more with less. Unfortunately, graphic user interface designers do exactly the opposite. They throw at you are multitude of distractions that you don't need, clutter your interfaces with a whole bunch of icons and colors and leave you in a state of utter chaos and needless complexity. Oh, did I mention all those take up resources too?

You havent said anything about efficiency. Yes there are buttons and icons. How is that inefficient? If you know what you are doing, you can easily get to what you need. Colors and icons wont distract you.

> How about functionality? When you launch an application, what task do you do with it? Take a look at your graphic user interfaces. Are the tasks placed conveniently and appropriately were you can use them?

Usually, yes they are. If not, it is bad design. What about a CLI. Are tasks placed conveniently and appropriately. If you know the program then yes, but if you dont know, then no, since oyu gotta figure it out and the CLI provides little help. With a GUI, if you know what you are doing, performing the task is just as easy.

> Are their a bunch of icons, tool bars, menus, etc on your interface that you don't use and will never use? Can you replace all that with tools that let you get your job done? How often do you have click through menus searching for a way to execute a particular task?

If you are searching the menus, then you do not know completely how to usae the program. So searching the menus will eventually solve your problem. Now, how about a CLI, if you don't know how to use the program, you need to search the help or look it up on the internet. Not extremly functional.

> You are functional when you do work effectively and efficiently instead of doing work by trial and error. A functional worker is the person who uses the “Ctrl – S” command to save his or her work, instead a searching through a spaghetti or meaningless icons, tool bars and menus. A functional worker issues commands to the application and not the other way round.

Umm... Ctrl-S saves for GUI too.

> Modern graphic user interface designers do not encourage the efficient and functional user. Modern GUI designers want half your screen to be littered with icons, menus and windows. They want you to upgrade your system every year, because version2-X of your favorite application now renders icons and anti aliased texts in 3D. How cool!

Now you are just making stuff up.

> That's why the command line interface might always be more efficient and functional. In a CLI environment the user issues command and not the other way round. There needs to be a change in the manner we design and develop our applications.

User issues commands in GUI too. The difference is if you do not know the command, then the GUI gives you other options.

> Using an application should be an extension of your thought process. Interfaces should be designed intelligently and differently for specific tasks, and perhaps even, for specific users. Interfaces should allow users express their intentions, succinctly and accurately and of course with proper feedbacks animated or otherwise. Any sort of distraction, needless features, complexity and unnecessary innovations should be avoided.

Same can be said about CLIs.

The CLI is a powerful tool because of unix pipes and input/output redirection. Using the CLI for captive user interfaces like browsers or text editors is not very practical. It's like using pure C for anything that doesn't require speed.

My 2 cents
by dpi on Fri 16th Jan 2004 16:59 UTC

Uh hmm. Screen, SSH and MPlayer already got named.

Bitlbee: IRC to IM (ICQ, AIM, MSN, Yahoo, Jabber) gateway -> http://www.bitlbee.org
Irssi: IRC client -> http://www.irssi.org
Libcaca: Reimplementation of AAlib, with colors -> http://sam.zoy.org/projects/libcaca
Mutt: CLI, highly configurable MUA -> http://www.mutt.org
MLdonkey: P2P (Soulseek, Ed2K, KaZaA, more) client with frontend plugings -> http://mldonkey.org

ZGV, FBI: framebuffer picture watcher -> ZGV, FBI -> http://www.svgalib.org/rus/zgv http://bytesex.org/fbi.html

RE: Theophrastus Hohenheim
by mattK on Fri 16th Jan 2004 17:02 UTC

Thank you! I was trying to remember the name of that application. It looks like a real efficient way to get work done.

RE: psycosis (IP: ---.student.cs.uwaterloo.ca)
by BR on Fri 16th Jan 2004 17:30 UTC

"True, but modern machines in most cases have the resources to spare."

You know? I hear this justification a lot. It's never "should I as a programmer use this or that because it belongs to the user for their use?", but more the (implied) "This is my machine. I can do what I wish with it." If the user has a 5 Ghz processor and a Terabyte HD, does that make it OK for my program to consume 90% of both because I can? After all the user isn't planning to do anything with it. Just because we're not in the depression era of computing doesn't mean we should pile our computing plate up with the users resources and pigout.

Still GUI
by ashman on Fri 16th Jan 2004 17:32 UTC

Hm, well, ncurses (+ gpm) is still a gui, right? Just philosophical ...

RE: IP: ---.75.99.196.Dial1.Cincinnati1.Level3.net
by Anonymous on Fri 16th Jan 2004 18:45 UTC


"True, but modern machines in most cases have the resources to spare."

You know? I hear this justification a lot. It's never "should I as a programmer use this or that because it belongs to the user for their use?", but more the (implied) "This is my machine. I can do what I wish with it." If the user has a 5 Ghz processor and a Terabyte HD, does that make it OK for my program to consume 90% of both because I can? After all the user isn't planning to do anything with it. Just because we're not in the depression era of computing doesn't mean we should pile our computing plate up with the users resources and pigout.


For most users, usability is far more important than RAM, CPU or disk footprint. Who cares if an application uses 2 or 20 MB if it's put to good use.

What worries me are the (often teen age?) unix fans that buy the newest, fastest equipment and at the same time are obsessed about resource usage. A bit like audiophiles' obsession with sound quality.

@ Anonymous
by dpi on Fri 16th Jan 2004 19:13 UTC

"For most users, usability is far more important than RAM, CPU or disk footprint. Who cares if an application uses 2 or 20 MB if it's put to good use."

I disagree. Old, cheap machines (P1, P2, etc) with little RAM are perfect for people who are on low budget. In such case, it _does_ matter if the program is bloated or not. Ie. Mozilla vs. Mozilla Firebird _does_ matter.

"What worries me are the (often teen age?) unix fans that buy the newest, fastest equipment and at the same time are obsessed about resource usage."

It worries me when (often rich humans?) think they really do need that latest x86 powerhorse. For, exactly what? Buy an expensive one for someone who really needs it and trade it for an old one. You're not losing anything with such move. The casual user doesn't want to do more than basics, so there's no use for that new x86 powerhouse. New != good; New != needed. Not by definition.

"A bit like audiophiles' obsession with sound quality."

Same counts for sound too. Philips MFB's aren't made anymore but they were of extremely high quality. Same with the x86 powerhouses: what is popular, does not need to be good, better or mandatory than something which isn't made anymore or isn't popular.

What this article did imo, was giving OSnews.com readers just that other perspective of using your computer. Like, "look it can be done different". The reader decides it's preference, and the reader is (mostly?) King/Queen of his/her computer. So if YOU do not care about bloat then stick with your bloated stuff. Thanks,

Low-res GUI apps...
by beosmaniac on Fri 16th Jan 2004 20:55 UTC

Sorry guys, this article is NOT about CLI apps, but CONSOLE apps, or what I call "low-res GUI apps" or "old-style things wich doesn't fit in a modern desktop environment".

Midnight Commander
by Jasenko on Sat 17th Jan 2004 00:19 UTC

Another vote for mc!
I just wish I could install it on my Mac without compiling all of the gtk and gnome libraries.
It's by far the best and fastest file manager ever.

RE: @ Anonymous
by Theophrastus Hohenheim on Sat 17th Jan 2004 05:24 UTC

"For most users, usability is far more important than RAM, CPU or disk footprint. Who cares if an application uses 2 or 20 MB if it's put to good use.
What worries me are the (often teen age?) unix fans that buy the newest, fastest equipment and at the same time are obsessed about resource usage. A bit like audiophiles' obsession with sound quality."
By dpi (IP: ---.ipv4.freeshell.bofx.net) - Posted on 2004-01-16 19:13:50



No offense you are kind of talking out of your ass here. GUI's and ease of use are not for computer professional hackers/programmers but a metaphor for people who don't know WTF they are doing. They shouldn't be using UNIX in the first place. That is what MacOSX and Microsoft windows is for. You need to read "The art of Unix programming" by Eric Raymond IMHO. It's free on the net. You erroneously asymptotically link this preference for efficient computing with the so called invective appellation "Unix teen fanboys". Why do two fo the top coders for BSD (NetBSD and OpenBSD) Luke Mewburne and Theo De Raadt prefer minimal non fancy WM's over bloated GUI desktops ? hmmm. Also, if you go to Harvard and see a mathematician on unix they are likely to be doing computations in like a disgusting looking FVWM plain environment--- At least the smart ones. I would venture to guess it is the same way for NASA's NetBSD workstations but I can't say so for sure.

Here is Luke Mewburne's screenshot

http://unix.se/gallery/folk/aah?full=1

It's almost as minimal as my Ratpoison setup his elite ascetism is very close indeed to my point at hand.

As a unix engineer I think the choice is clear.

MattK : Not to be a pedantic jerk but if you are referring to ratpoison I wouldn't call it an "application" -- it would more correctly be called a window manager. And even more correctly at that in all actuallity a "screen multiplexer" . BTW you are welcome. Enjoy !






Typos
by Theophrastus Hohenheim on Sat 17th Jan 2004 05:35 UTC

Sorry for the sloppy grammar and typos as I typed all these responses as fast as I could in order to conserve time and did not review them for mistakes. However, the important main axiom bromides still got through regardless. ;) .

k-thanks

pattern regexp fixes
by Theophrastus Hohenheim on Sat 17th Jan 2004 06:09 UTC

s/is/are/ #fix first instance only not the latter as non "g"
#dictates for these regexps only pertinent in this
#instance howver the latter "is" stays static

s/fro/for/
s/ascetism/asceticism/

RE: Anonymous
by Theophrastus Hohenheim on Sat 17th Jan 2004 08:10 UTC

Actually I was lucky enough to find a picture of NASA's Glen Research center computers using NetBSD.

http://ctd.lerc.nasa.gov/5610/images/racks.gif


If you blow up the picture you can clearly see they are using FVWM while a couple are using just plain terminal. If rocket scientists and Computer hackers don't need big bloated inferior Desktop metaphor to do work why should we care about you ? Why should unix be designed for the banal philistines ? hmm.

If you think your big bloated desktop is more advanced technology than hacking new protocols and creating new RFC's for Satellite Networks & Architectures in outerspace than you are a moron. It's an aesthetic illusion.

Console i18n
by Anonymous on Sat 17th Jan 2004 15:24 UTC

If you use the framebuffer, you can display Japanese characters, or others which don't fit in a byte, or use you may use kon (which is a security risk.) Then just set LANG and perhaps LC_CTYPE, if they're not already and you want the interface to be primarily in the other language, and you should have a nicely i18n'd console.
(Caveat: I've not done this, but I've seen it done.)

@ Theophrastus Hohenheim
by dpi on Sat 17th Jan 2004 18:20 UTC

Hi,

i agree with you, though i also saw a screenshot of Windows running at NASA. But can you please do proper quoting? (I did wrote that). TIA,

Thank you curses!
by kermit on Sat 17th Jan 2004 19:00 UTC

Without which most of this would not be possible.

ION window manager
by ION user on Sat 17th Jan 2004 23:29 UTC

For those who like minimal window managers, y'all should take a look at ION.

http://modeemi.cs.tut.fi/~tuomov/ion/

I agree with the others who pointed out that screen is an amazingly powerful terminal application. The attach/detach ability of screen allows me to start my work from at work and reattach to finish my work from some other location. Or to quickly attach to a lab machine in an xterm and start some new shells and processes. Screen also allows someone else to attach and see what is going on -- a must in a shared lab environment.

mutt is another useful console application.

Re: Keyboard vs mouse
by drsmithy on Sun 18th Jan 2004 09:01 UTC

There is nothing wrong with GUI except the overuse of the mouse. Think about it, most mouse actions are seleting a menu item or klicking on buttons. That can be done much faster with the keyboard.

A lot of people think this, but actual measurements show it to be false. On average, menu access is quicker with a mouse.

Re: mabhatter (IP: ---.ipt.aol.com)
by drsmithy on Sun 18th Jan 2004 09:07 UTC

You will save some resources, but not enough to let you get away with a full generation-older [or more] hardware. Which is what you gain using *nix with only CLI.

Windows runs quite usably on any Pentium Pro and newer hardware (with sufficient memory). That's at least *three* and possibly four (depending on how you want to count) generations old.

If you're not using the GUI, it won't be using any appreciable system resources. Yes, it will chew up some swap space and maybe 1% of the spare CPU power, but that's so negligible as to be practically nonexistant.

RE: Throw the GUI out the door.
by ZX81 on Mon 19th Jan 2004 16:29 UTC

Some of us old users actually grew up on and used text-only interface and are quite comfortable with them. But if you have constraints, such as poor network access, 9.6k modem?, and an old pc such as a 486/33/8 mb of ram.. Console access is excellent. With a slow dial-up, Links, Lynx and W3M kicks but compared to Firebird, or even DILLO.. Pine, Mutt kicks but compared to KMAIL... Setup and Configuration is much easier if you do not setup GUI..... A 100 mb harddrive is fine for CONSOLE only.. I don't dislike GUI, I use KDE daily. But my firewall, router, webserver, ftp server and dns machine is a 100mb pentium that also does my email retrieval and quick browsing, HAS NO GUI....ONE of the other features of Linux is it's easy networking AT CONSOLE LEVEL.. Telnet and ftp is marvelous (behind my firewall).. My firewall-router 100 mb pentium sits in the garage, has no keyboard, mouse or monitor... Of course this can all be done with GUIs, but require more RAM, ,more SPEED, more HARDWARE, and in many cases MORE SOFTWARE... In my world, I only need a 486/33 with an install of SLACKWARE...
OTHER console apps.. that can be part of your console medly... SPLITVT--- ,, CHKWWW,,,, SYSMY,,,,,CPLAY,,,DOSEMU... ARE all useful and small CLI apps..

nice article
by bohlke on Tue 20th Jan 2004 19:53 UTC

very cool article, indeed; I learned (by fire and iron) to run CLI only, because my old machine was too old, even Fluxbox looklike a turtle machine;

the only distro could show me a CLI-only machine is possible, was Gentoo :-)

thanks alot Gentoo ;-)

ps.: next step: BSD machine (without X, ofcourse ;-)

Define efficient
by k12linux on Tue 20th Jan 2004 21:09 UTC

How long does it take in a GUI to "browse" to a folder containing 10,000 files then move all the files ending with .mp3 and .mpg (but not .mp2) to a different directory?

How long does it take in a CLI?

The answer, of course depends somewhat on who is doing it. But I'm willing to bet that if you take a GUI "Pro" and a CLI "Pro" the guy at the command line would beat the GUI guy hands down.

Now how about if each had to move two dozen specific files which didn't have any common traits (ie consistent file extensions, etc.) The GUI user would probably win.

My main complaint about GUI
by k12linux on Tue 20th Jan 2004 21:30 UTC

I use GUI a LOT. It is very rare that I'll be sitting at a PC without Gnome, KDE, Fluxbox, or maybe Windows. But that doesn't invalidate CLI use.

My main complaint about GUIs is that whoever designs them has to plan for EVERY conceivable way you may want to use them. If they don't then instead of helping you they may actually be getting in the way. With true CLI utilities, you can mix and match as needed to accomplish a task.

If you belive that GUI is the be-all/end-all of interface design, try this exercise in Windows or Linux. Find all the files which names end with .ini on your entire hard drive. Now sort by filename. Now remove the duplicates. Now tell me how many (excluding duplicates) there are. How long did it take? Could you even do it using the GUI tools available?

Now do the same thing using GNU utilities in a CLI.
find / -name '*.ini' -printf "%fn" | sort -u | wc -l

While it may look (and perhaps is) god awful ugly and confusing, it does get the job done. A compitent UNIX/Linux admin should have no problem figuring out the command. And once you are used to the syntax it's a snap.