The graphical user interface (GUI) is one of the key defining aspects of nearly any modern computer. And most users are used to doing everything from writing documents, managing files, playing music, and browsing the internet using such interfaces. But despite this, they’re not essential to a Linux system.
Many system admins will already be quite comfortable using the command line in place of a GUI to run their servers. But you can also perform all sorts of different functions on your computer with just a terminal.
But can you get by with the command line alone? Well, I decided to put this to the test myself by challenging myself to one week without any GUI apps or Xterm.
Okay, but why?
To be clear, there is usually no reason to go without a GUI unless there is something wrong with your computer. My experiment was born out of curiosity, and because I thought it would be an interesting way to get more comfortable with the command line.
Still, the experience wasn’t all that bad. I use the terminal a lot while working anyway, so the environment was hardly alien to me. And if nothing else, forcing myself to stick with the command line interface introduced me to some software that I otherwise would have never thought to try. In some cases, the terminal programs I used proved vastly superior to their graphical alternatives.
In any case, here’s my experience and the command line applications I used to work, play and keep myself entertained in the Linux terminal.
Tmux (for “window management”)
No graphical interface means no desktop environment or window managers. But you can still run multiple applications with something called a terminal multiplexer.
There are a few different multiplexer options available, but I went with Tmux. And my experience wasn't too bad.
As someone who uses a tilling window manager, using Tmux wasn’t too different from what I was used to. And Tmux is certainly nicer to look at compared to the default terminal interface (no GUI means no fancy emulators).
The main issue I faced were that the default keybindings were incredibly awkward, but thankfully they can be changed. That said, I still prefer having an actual window manager.
Lynx (Internet browser)
I knew command-line browsers existed, but I never realized just how many options are available to the terminal user. Nor did I think I would enjoy the experience of using them as much as I did. My favorite, though, has to be Lynx.
I now use Lynx as my secondary browser, as it’s perfect for quickly sourcing information from the web. I only turn to Firefox to look at sites I genuinely enjoy looking at.
Vim (text editor)
Your options for fully-fledged Word Processors in the terminal are fairly slim. WordGrinder is the only one that I’m aware of, and it is decent. But for me, the best option for writing in the terminal is the text editor Vim.
I’ve talked at length about why Vim is an excellent tool for writers before, whether or not they’re using the terminal. But when it comes to command-line applications, Vim’s keybindings prove extra helpful. And there are plenty of add-ons you can take advantage of to enjoy a truly enjoyable writing experience.
That said, Vim doesn’t offer the export options that WordGrinder or traditional word processors provide. So getting to grips with Pandoc is near-essential for converting your markdown or plain text files into something people will want to read online.
Ranger (file manager)
A file manager isn’t a necessity in the terminal, thanks to the cp, mv, touch, and rm commands. Nonetheless, they are a nice thing to have available, especially if you’re dealing with multiple files.
In the past, I recommended Midnight Commander as my pick for the best terminal file manager. And I would still recommend it now. But during my little experiment, I decided to give Ranger a go. And I enjoyed it enough that it’s now my go-to, simply because I prefer the interface. Honestly, though, both are worth a shot.
Alpine (email client)
Full disclosure: I never got around to setting up a terminal email client. And to this day, it remains on my to-do list. But yes, you can use a command line app to handle your emails. And many swear by them.
Originally, my plan here was to use Mutt. But after some research, I settled on Alpine since it appeared far more approachable. And while I didn’t get the chance to set it up during my experiment, I did have a look around the interface and liked what I saw.
One day, I might get around to using it properly.
Cmus (music player)
Okay, so getting work done isn’t too difficult without a GUI (though certainly a pain in the behind), but what about entertainment? Well, one thing you can certainly still do is listen to music.
This is another area where you’ve got a host of different options available to you. But honestly, just go with CMUS. It supports everything, is easy to use, and lets you create and save playlists. What else could you ask for?
EPY (eBook reader)
There’s something intrinsically satisfying about reading books from the command line, not least because the interface offers, by default, a distraction-free experience.
Of course, an eBook reader or actual book is probably better for your eyes, but there’s still a lot to love about EPY. It’s an app that gets out of your way, is easy to use, and can even draw from URLs, making it a great companion to Project Gutenberg fans, those who read a lot of online literary journals, or any bibliophiles who find themselves in the terminal.
ASCII Star Wars
Don’t fancy reading a book or listening to music? You could always watch the entirety of Star Wars via ASCII art instead. No really, you can. Just install Telenet and use the following command:
Other useful programs
The apps listed above are the main apps I used over my week-long experiment. And as a writer, there wasn’t much else I needed or missed. That said, they’re far from the only useful applications available to you, as you’ll find everything from presentation software to spreadsheet creators via the terminal. And there are plenty of ASCII art wallpapers you could turn to if you get bored of looking at the command line.
So what did I miss? Not as much as you might think. Not having Firefox was certainly a pain at times, and I missed the intuitiveness of Awesome Window Manager. Not having access to GIMP was fairly limiting too. And obviously, anyone hoping to play games or watch videos would be very limited by the command line. But working without a GUI is feasible, however pointless it may or may not be.