08 December 2015

gui vs cli

When I started using linux 10 years ago, I desperately needed graphical programs to configure the system and do most of my daily tasks, no matter how simple they were. Even though I had some basic experience typing commands at the terminal I felt clumsy when it came to surviving at the command line.

However, over the years and very little by little, I discovered that most cli programs are faster, more powerful and strikingly way easier to use than their gui counterparts.

I know this is easier said than done, but in order to prove that, I needed to make an exhaustive list of all the programs I use at the gui and their cli counterparts. Let me insist that this list is exclusively a list of software I use on a daily basis. It is far from being exhaustive in terms of covering all the software I install on my computers.

The first two examples that come to mind are synaptic and d4x. At first I always used synaptic to manage software and d4x to download files. After some time I started using aptitude and wget. I never looked back.

Then the music player. I started using cmus and I never installed rhythmbox again.

As torrent client I used several gui programs. Now I exclusively use rtorrent.

Of course the usual and most basic applications you use on a daily basis are your file manager and your text editor. On the gui I use pcmanfm and medit but on the cli I use the mc and nano.

On a daily basis you also need a window manager. I use i3 on the gui and very rarely dvtm on the cli, I tend to use tmux as a window manager instead of a proper window manager.

Perhaps the toughest program to get rid of is the web browser, we are so used to graphical browsers that it is sometimes hard to browse the web in a text only browser. I mostly use chromium on the gui and a wide variety of text browsers like elinks, which has tab support (with vp for images), lynx and lately, I have started using w3m more and more for its ability to display images inline.

I also ditched gitk in favour of tig, because it is more handy.

There is also a number of applications that I do not use on a daily basis, but almost always on the cli, such as scrot for my screenshots.