auf.suno
Connector, investor, futurist, geek, software developer, innovator, sportsman, libertarian, business enabler, cosmopolitan, autodidact, funny finch, tech evangelist,
purist, agnostic, Kärnten fan, foodie, artist, globetrotter, social liberal but fiscal conservative, Schöngeist... elegantiorum litterarum amans oder studiosus...

This is the website of Markus Gattol. It is composed, driven and secured/encrypted exclusively by Open Source Software. The speciality of this website
is that it is seamlessly integrating into my daily working environment (Python + MongoDB + Linux + SSH + GIT + ZeroMQ) which therefore means it
becomes a fully fledged and automatized publishing and communication platform. It will be under construction until 2014.

Open Source / Free Software, because freedom is in everyone's language...
Frihed Svoboda Libertà Vrijheid เสรีภาพ Liberté Freiheit Cê̤ṳ-iù Ελευθερία Свобода חרות Bebas Libertada 自由
auf.suno
Website Sections
Home
FAQs
About Me
Tweets by @markusgattol
CLI vs. GUI
Status: Considered finished except for corrections, updates and the like.
Last changed: Saturday 2015-01-10 18:31 UTC
Abstract:

Quite often people new to another operating system than Microsoft Windows are confronted with the terms CLI (Command Line Interface) and GUI (Graphical User Interface). Pretty soon they get a notion about what those two are but at this stage they are still far away from being able to tell what is the "better" one. Well, there is no better -- it depends on the tasks that need be done, how experienced a user is and his personal likings. However, this page shows some comparisons what it means to use a CLI (Command Line Interface) or GUI (Graphical User Interface) and the impact that may come by doing so.
Table of Contents
Comparison
My two cents

Comparison

This might help you to get further notions about the differences in between using either a CLI (Command Line Interface) or GUI (Graphical User Interface) to carry out tasks.

CLI (Command Line Interface) GUI (Graphical User Interface)
Ease of Use Because of the memorization and familiarity needed to operate a command line interface new users find it much more difficult to successfully navigate and operate a command line interface. Although new users may have a difficult at time learning to use the mouse to operate and use a GUI most users pick up this interface much easier when compared to a command line interface.
Control Users have much more control of their file system and operating system in a command line interface. For example, users can easily copy a specific type of file from one location to another with a one-line command. Although a GUI offers plenty of control of a file system and operating system often advanced users or users who need to do specific tasks may need to resort to a command line to complete a particular task.
Multitasking Although many command line environments are capable of multitasking they do not offer the same ease and ability to view multiple things at once on one screen. However, so called terminals within a desktop environment e.g. GNOME (GNU Network Object Model Environment) allow for multitasking — one can use multiple terminal windows. GUI users have windows that enable a user to easily view, control, and manipulate multiple things at once.
Appearance CLIs usually do not change in their appearance which in turn means once a user got familiar with the Interface/Command there is no need get familiarized every now and then the CLI appearance changes again. GUIs for particular programmes tend to change often — mostly with every major release version. Thus a user has to invest time over and over again each time the GUI changes in order to become familiar again.
Speed Because command line users only need to use their keyboards to navigate a command line interface and often only need to execute a few lines to perform a task an advanced command line interface user is mostly able to get something done much faster then an advanced GUI user. A GUI may be easier to use because of the mouse, however using a mouse and/or keyboard to navigate and control your operating system for many things is going to be much slower then someone who is working in a command line environment.
Resources A computer that is only using the command line takes a lot less of the computers resources. Also, with CLIs there is no need to install a graphical layer at all onto a computer system which saves a lot of resources e.g. storage space. A GUI will require a lot more system resources because of each of the elements that need to be loaded such as icons, fonts, etc. In addition video drivers, mouse drivers, and other drivers that need to be loaded will also take additional resources.
Scripting A command line interface enables a user to easily script a sequence of commands to perform a task or execute a program. Although a GUI enables a user to create shortcuts, tasks, or other similar actions to complete a task or run a program it does not even come close in comparison to what is available through a command line.
Remote Access Often when accessing another computer or networking device over a network a user will only be able to manipulate the device and/or its files using a CLI. Although remote graphical access is becoming popular and is possible. Not all computers and especially not all network equipment will have this ability.

My two cents

I do almost anything with the CLI (Command Line Interface) for various reasons. Mostly because for speed and the complexity of operations which are practically impossible to do with GUIs. I can do anything, remote or local, and always got the same interface which in turn eases things compared to n different GUIs for n different tasks.

Next to GNOME (GNU Network Object Model Environment) terminals (left Image below) I use the CLI within GNU Emacs (right Image) a lot. The image below shows three terminal windows on my desktop environment. Two of the windows have been set up to provide two tabs which means in sum I got five CLIs at hand immediately to do multitasking. Switching in between the windows and command input etc. all works with keybindings so I do not even have to touch the nonsense-slows-me-down computer mouse.

A good example of how fast one can be with the CLI is how I created the screenshots above. All I did to create the two images above was typing tsh which produced the full-sized as well as the thumbnail screenshot image. I simply set up an alias in my .bashrc.


As I said, there is no better. Humans have to decide what to use based on their operating system (DebianGNU/Linux here) skills and liking. Even though I mostly use the CLI to get things done, there are some things where I would not miss a nifty GUI. Below is my favorite music, vodcast etc. player called

sa@pc1:~$ dpl bm* | grep ^ii
ii  bmpx           0.40.0~rc3-1   Beep Media Player eXperimental
sa@pc1:~$

I use bmpx to satisfy my desire for audio and video content the way I want it. However, I am also with banshee (below) for reasons of redundancy and because both players (bmpx and banshee) have some features the other one does not have... melting bmpx and banshee into one player would be like Heaven opens up and angels start singing...

Creative Commons License
The content of this site is licensed under Creative Commons Attribution-Share Alike 3.0 License.