LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Blogs > Kenny the one-teen comittee to stamp out Proprietary $uckware
User Name
Password

Notices



I decided to post a little introduction to myself here: Ask me who I was last March, and I would have had WinBloze 7 Beta on my main computer and would have been part of Micro$uck's test project for WinBloze 7 and would have been excited about it. However, that changed as soon as my network adapter changed and the new one worked with Linux. As soon as I tested the new adapter with Mint (I'd say about a year ago, in July 2009) I began to really value Linux for what it is.

However, I knew about Linux long before that. I started with gOS 2, which was my first distro. I had tried it back in about February 2008. I first learned about Linux back in mid-2007, from an article in PCMag that spanned several pages. I had quite a hard time back then, and Ubuntu Hardy was no different than gOS.

So then what took me so long from knowing about Linux to finally becoming an active user? My house was nothing but Wi-Fi. My mother set a secure wireless network up back then, and I couldn't connect to it because my adapter (Linksys WUSB54GSC) wasn't recognized by Linux. I had the patience to continue.

Then, in June 2008, my family got hit by the economic collapse here in the USA: The mortgage on my old house doubled and my family had to leave because of the rate increase. So, we were stuck in a hotel room until my family and I could end up in a new house. That Christmas, I wanted a netbook, and got my wish (the one I'm typing on, an Acer Aspire One AOA110-1545). It came with Linux preinstalled, and I liked it all around.

From then to June 2009, I still had WinBloze on my desktop, as Linux still didn't work with my wireless network adapter. Then, in June 2009 as I said, I got a new wireless network adapter, and in July decided to test it with Linux Mint 7. It worked, even from the Live CD! Now,

Rate this Entry

CLI v. GUI: What works better for what

Posted 06-04-2010 at 11:55 PM by Kenny_Strawn

Ah, the flame war between CLI users and GUI users. It has become the most brutal flame war of all time, and has therefore been of very special interest.

It is my pleasure therefore to educate the users here as to which tasks are easier in which, especially in Linux. There are so many things that can be easier in the GUI, especially for newbies. Then, there can be those things that are easier typing in than clicking several times for. Here are some common tasks that exist where the debate matters.

Searching for files. Winner: CLI

Strange as it sounds, searching for files is faster and easier to do in the CLI than it is in the GUI. Here's the command(s) you need to type to search using the CLI:

Code:
ls -R / | grep "$KEYWORD"
And if you don't want to recursively search the whole drive:

Code:
find $DIR -iname "$KEYWORD"
To search with the GUI takes several times longer and currently requires a third-party tool. GNOME's Activity Journal sure helps, but it only is designed for stuff you've previously accessed. To search the entire drive without indexing and without having accessed it before, you have to use the CLI. This means having to find a command you need or something.

Managing files. Winner: GUI

Yes, there are several file management commands that allow you to see the files that you want to modify or get rid of. But GUI-based file managers do a much better job at batch management. If you have to delete or move a bunch of files that aren't all those in a directory, typing all those filenames using rm can be very painstaking. And editing those files, be it documents, images, music, or movies, is much better with the clipboard. However, if you want to delete, copy, or move ALL the files in a directory, you can just type (in a terminal)

Code:
cd $DIR && rm -rf * (Note: This command is VERY DANGEROUS!!! If you use it in ANY system directories, you can cause irreparable damage to the system and may end up having to reinstall Linux. BE WARNED!!!)
Or, to move or copy them:

Code:
cd $DIR && mv -f *
Code:
cd $DIR && cp -Rf *
I wouldn't recommend these commands, as you CANNOT UNDO them. They are permanent, and in most cases don't even ask you if you're sure! If you want to use them, BE WARNED!!!! You're better off, especially if you're a newbie, to use the GUI for file management.

Playing, recording, and capturing music, videos, and photos. Winner: GUI

Face it: If you are a musician, filmmaker, video producer, graphic artist, or the like, your only recourse is to use the GUI. There are absolutely NO CLI tools for any of these occupations, as the CLI is incapable of managing any kind of color gamma aside from text color. There is no RGBA, no bright colors, no motion of colors or color objects, and no 3D or HD acceleration of any kind. So, such graphics require that you use complex GUI tools and color mapping.

Gaming. Winner: GUI

Here we go again: Yes, there were some low-core games that worked in the CLI back when there was no GUI, but they looked more like extremely pixelated cartoons. To get any kind of realism in gaming, you have to use the GUI. Use the CLI, and you would have to make a crippled game with no 3D acceleration.

Accessibility. Winner: GUI

To be accessible, the CLI just doesn't cut it. Having to type long commands just to do simple tasks doesn't appeal to the computer illiterate, that's for sure. They would need a simple point-and-click way to do things.

Wireless and security. Winner: GUI

If you have ethernet, you may be able to use the CLI without a problem. But if you have wireless, especially encrypted wireless, the CLI won't pick up any networks. I have tried this myself with Gentoo's 'net-config' command. Especially for first-time use, you have to use the device name for your adapter, which may be anything from "wlan0" to "ra0" (the former for integrated wireless; the latter for PCI wireless) and then some. If you want to configure your wireless adapter, the easiest way is to use the GUI, either 'nm-applet' or 'kde-network-manager'.

Office. Winner: GUI

If you want to create office documents, you have to use the GUI hands down. This being because you need the GUI to print, especially if you need to use a networked, and especially wirelessly networked, printer. Believe me: Even though you can use CLI-based text editors, to efficiently type a legible document using more realistic fonts and metadata, including lists, images, and the like, the GUI wins.

Web browsing. Winner: GUI

Even though text-based Web browsers do exist, they can only browse text. What if you want to look at images or videos or do office work on the Web? You'll have to use the GUI.

Social. Winner: GUI

Social networking is for sure GUI matter. Especially if you have to send photos, videos, audio, games, or other media via text message.

Source code. Winner: CLI

To compile source code, the CLI rules. Especially if you need to use makefiles. But if you're writing code, that's a different story. A GUI-based Integrated Development Environment will work there, especially if you compile as you go. The CLI has a narrow victory, only due to the ability to batch compile.

Servers. Winner: CLI

This is the only true landslide victory for the CLI. To have a GUI on a server, aside from a home server, is a disgrace, especially for security's sake. A GUI makes a server more appealing for crackers and hackers. They will be attracted to the GUI and will try to steal information off of it. So, it's not a good idea to have a GUI on a server.

Overall winner: GUI

Overall, the GUI has won in more areas, especially for work that requires it. But, for more basic admin work, you're better off working within the CLI. Do anything more than IT, especially having to do with graphics and audio, and you'll have to use the GUI.
Posted in Uncategorized
Views 6733 Comments 5
« Prev     Main     Next »
Total Comments 5

Comments

  1. Old Comment
    I agree with most of that.

    Just one thing is that you said that programming is better in a GUI because you can use IDEs. Maybe it's just me, but I tried using an IDE a few times and I just hated it. All these strange menus to go through many times instead of just typing a command. And the way it covers up the real compiling process and really makes it dumbed down.

    And another thing the CLI is better for:

    Doing complex, repetitive tasks with modular tools. Easy with a CLI, intrinsically impossible with a GUI.
    Posted 06-06-2010 at 01:17 PM by MTK358 MTK358 is offline
    Updated 06-06-2010 at 01:19 PM by MTK358
  2. Old Comment
    Yeah, MTK: IDEs, especially complex ones like Eclipse, are extremely difficult to use. However, I use Geany and it is much simpler and not bad at all. And yes, it depends on GCC/G++ to compile C/C++ code. I consider it much easier to use than, say, M$ Visual Studio.

    Edit: And I did say the CLI is easy to use, especially to use makefiles or other means to compile many source files in batch.
    Posted 06-06-2010 at 01:31 PM by Kenny_Strawn Kenny_Strawn is offline
    Updated 06-06-2010 at 01:33 PM by Kenny_Strawn
  3. Old Comment
    I have always found it easier and faster to do file management in the CLI. I did public wireless and WPA from the CLI throughout the entire last semester. I prefer socializing through e-mail lists or IRC, which require no GUI. Certain text-based web browsers can also display images through the frame-buffer, such as links. And you don't actually need a GUI to print. I can print from the command-line with lpr, although you need to convert the document to PS first.

    Overall Winner: CLI
    Posted 06-09-2010 at 05:23 PM by CoderMan CoderMan is offline
    Updated 06-09-2010 at 05:25 PM by CoderMan
  4. Old Comment
    I think it depends on the individual, the setup, and the task set at the time.
    I use CLI for wireless, maintenance, package building, file browsing, format conversion, etc.
    Text browsing isn't a common task for most users. I use it for testing connections.
    I'm not into games but most people wouldn't play if they were text or ascii.
    Anything graphic requires a gui of some sort.
    Posted 06-11-2010 at 12:16 AM by Mr-Bisquit Mr-Bisquit is offline
  5. Old Comment
    Quote:
    Originally Posted by Mr-Bisquit View Comment
    I'm not into games but most people wouldn't play if they were text or ascii.
    I don't know why I am so intrigued by the idea of a platform game like SuperTux that plays in a terminal with all the objects drawn from ASCII characters.
    Posted 06-13-2010 at 08:23 PM by MTK358 MTK358 is offline
 

  



All times are GMT -5. The time now is 03:34 AM.

Main Menu
Advertisement

Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration