• Favourites

Command-Line Alternatives in Ubuntu Linux

Computer working environments are pretty similar to the species on this planet. One can see ancient species, that have survived millions of years, living along some fairly-recent ones like humans. The ancient of working environments would be the famed CLI (Command Line Interface) that uses typed text to communicate with the computer, while the modern, today, is the GUI (Graphical User Interface) where there are buttons, windows, mouse pointers and clicks.

There is, surprisingly, a heated debate between each interface’s supporters. CLI pundits are usually vocal and so determined in such debates. They argue that CLI’s are more direct, powerful, safer, cleaner and more reliable than GUI’s. They suggest that using a CLI is simply like the text-chatting that we do all the time. Of course, I would say: yes, but it’s like chatting to a very strict English teacher: zero-tolerance to all mistakes in grammar and spelling. Elsewhere, GUI users (the most of us) don’t even imagine how it is possible that a CLI can be better than all these nice buttons, colourful icons and easy-to-follow informative boxes. CLI can be very intimidating for new users.

All operating systems started with a command line environment, but all have ended up with nice and intuitive graphical interfaces. They differ, however, in how they’ve treated their old foe. Windows, on one hand, has reduced the CLI to be the last resort in a rescue mission, in addition to supporting what some users may need it for. On the other hand, Linux has preserved the full functionality of the CLI, or, more precisely, maintained the CLI as the primary working environment. In Linux world, GUI is no more than an application – a “front end” for non-experienced users to do what Linux gurus normally do from the command prompt.

However, enthusiastic Linux developers around the globe have been adding more and more functionality to the Linux GUI. System shells like Gnome, KDE or Xfce have been improving by the day and have reached a high level of maturity. Applications have already made a very smooth transition into the GUI territory, and, with some exceptions, system configuration tools have also made tangible progress in this regard.

All that said, it is only fair to say that the command line is still the standard in Linux, and most users will run into it sooner or later, especially when things go wrong. Many still see this as the main obstacle against widespread use of Linux systems; and many Linux distributions try to incorporate more graphical elements to make things easier for inexperienced users. However, there are thousands of community-developed GUI tools and applications that cannot be officially included in a Linux distribution (because it would be a massive effort). They usually sit in add-on repositories on the web, like the “universe” repository in Ubuntu. The only problem is recognising the good, the bad and the useless amid such a huge number of packages. This, by the way, highlights a major problem in the Linux GUI sphere: inconsistency. It not exclusive to Linux, though. No-one can say that all Windows software are good; but thanks to the long and large use of Microsoft’s products and the maturity in Windows GUI, users have enough knowledge to overcome such a problem.

In my personal opinion, Linux GUI capabilities are also undermined by thousands of guides, how-to’s and troubleshooting pages that are available on the web. Most of them are written by advanced Linux users who favour the CLI and therefore excessively use it in their explanations (besides, it’s easier to include a text than a screen shot). In doing so, they unintentionally obscure Linux GUI’s capacity, and give a false impression that Linux usage depends on good command line knowledge.

In the remainder of this article, I’ll try to list some useful GUI tools in Ubuntu Linux, side-by-side with their CLI roots. Unfortunately, I won’t be able to explain how to use them, but I suppose that such information can be found somewhere else.

Application Management (Install/Remove/Update software):

  • GUI: Synaptic Package Manager, Gdebi (Package Installer), Adept, Update Manager.
  • CLI: dpkg is the base package. Apt and aptitude are CLI front-ends.
  • GUI: software-properties-gtk (Software Sources)
  • CLI: apt-cdrom, apt-key and other front-ends to edit /etc/apt/sources.list and GPG keys.
  • GUI: gtkorphan (Remove Orphaned Packages)
  • CLI: deborphan

Gnome Configuration:

  • GUI: Ubuntu-tweak, gtweakui, Nautilus Actions, gconf-editor (Configuration Editor)
  • CLI: GConf is the base package; gconftool is the CLI front-end.

Networking:

Download Tools:

  • GUI: d4x (Download for X), wxDownload Fast, MultiGet, FileZilla, Deluge and Transmission
  • CLI: wget and ftp are base backages; lftp, bittorrent are CLI clients.

Network Setup:

  • GUI: Network Manager, Network Tools, Network Manager Applet.
  • CLI: several base packages and several CLI configuration tools.

Dial-up clients:

  • GUI: Gnome-PPP, kppp.
  • CLI: pppconfig is the base configuration package, wvdial is a CLI dialer.

Firewalls:

  • GUI: Firestarter, Firhol, Gnome-lokkit
  • CLI: iptables is the base package; ufw (embedded in Ubuntu 8.04) and lokkit are CLI front-ends.

Remote Access clients:

  • GUI: Vinage (Remote Desktop Viewer), VNCviewer, tsclient (Terminal Server Client)
  • CLI: Several back-end protocols: VNC, RDP, SSH and Telnet; many CLI clients: putty-tools, rdesktop, openSSH client and many more.

Text Editors:

  • GUI: Gedit (Text Editor), Mousepad and many more.
  • CLI: nano and vim among others.

Archiving Tools:

  • GUI: file-roller (Archive Manager)
  • CLI: tar, bzip2, zip, rar, p7zip

Disk Partitioning Tools:

  • GUI: Gparted (Partition Editor)
  • CLI: Parted

Desktop Effects:

  • GUI: Compiz Settings Manager, Simple CCSM, fusion-icon (Compiz-Fusion Icon).
  • CLI: compiz, xserver-xorg are base packages, configurations are stored in editable text files and may write to GCong as back-end.

Hardware Information:

  • GUI: Hardinfo (System Profiler and Benchmark), Sysinfo
  • CLI: lshw, cpuid, facter

Video Tools:

  • GUI: Avidemux, kino, pitivi, LiVES and many DVD rippers/creators.
  • CLI: GStreamer and Ffmpeg are important base packages, CLI front-ends include mjpegtools, mencoder, transcode, x264 and several more.

Audio format conversion:

  • GUI: SoundConverter, oggconvert, aacplusenc among others.
  • CLI: lame, sox, faac, flac and vorbis-tools.

Anti-Virus:

  • GUI: ClamTK
  • CLI: ClamAV

Font Configuration:

  • GUI: fontmatrix, FontyPyhton
  • CLI: defoma, fontconfig

System Administration:

  • GUI: Startup Manager
  • CLI: usplash
  • GUI: bum (Boot-Up Manager)
  • CLI: sysv-rc-conf
  • GUI: DisplayConfig-gtk (Screen and Grpahic Preferences), Gnome Control-Center
  • CLI: xserver-xorg is the base package, with editable xorg.conf settings file.
  • GUI: System Monitor
  • CLI: HTop
  • GUI: QGRUBEditor
  • CLI: GRUB boot loader
  • GUI: gmountsio (mount CD/DVD iso images)
  • CLI: The back-end is mount -o loop -t iso9660
  • GUI: gksu (To grant administrative privileges for GTK+ applications)
  • CLI: su, sudo

I’m aware that my list is insufficient, but there could be a couple of things that might interest you. If you are a Linux newbie and you feel intimidated by all those ultra-sensitive commands that you find whenever you search the web for help, try to look for the GUI alternative. Most likely there will be one. Finally, I personally think that even though CLI will always be a *nix trademark, simple users will find satisfying and sufficient alternatives that make Linux user experience smooth and gentle.

About these ads

6 Responses

  1. This is exactly what I was looking for, excellent article and list. And no advertising, what a pleasure
    Thanks

  2. This is very useful list, thanks!

    P.S. I translated part of this article to polish and put it here:

    http://grzglo.jogger.pl/2008/07/24/gui-vs-cli-graficzne-zamiennik-i-nakladki-w-ubuntu/

  3. So, what’s the difference between a GUI and a CLI? The GUI is like a pop-up book for children, the CLI is the tool to make the pop-up book.

    You’ll need the best craft-tool to make a masterpiece. The difference between the craft-tool and the masterpiece is undoubtedly enourmous.

    The simplest (and best) craft-tool -> the masterpiece.

    The graphics are here to kill the craft! I’m in the programming business and I’m faced to the issue of graphic programming tools (which by the way seem to be the wet dream of managers of different sort and rank) and from the craftsman’s perspective it’s a killer application (in that it kills all kinds of productivity).

    Maybe we don’t fully understand the needs of all linux users, but linux is in its tradition our craft-tool. Please help us keep this wonderful tool. Linux is not a religion – it’s the only tool left for programming craftsmen.

  4. Around 1990 I worked with someone who used a Mac. I was told the GUI was far superior to the command-line I used in DOS at the time.

    My response was to point out that babies, before they learn to speak, indicate what they want by pointing. As they get older and learn a language they find that pointing is not subtle enough and they SAY what they want with words.

    The command-line in Linux now is far more powerful than DOS ever was.

    All the same, it’s not for everyone…

  5. I am one of the elusive breed of GNU/Linux supporters, and i have to say that most people, when presented with a terminal session and the will to do something, well, they normally break EVERYTHING they touch. I live in the terminal, and no one who boots up my computer can figure anything out for themselves, I have to coach them through it. Also, GUI tools use CLI tools underneath themselves, so in the end, the GUI is nothing but a conduit for stupid people. CLI wins the age old argument every time on those grounds.

  6. Thanks four at information…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: