Sat. May 18th, 2024

Do you want to switch to Linux, but the fear of the command line is holding you back? What if I told you that you don’t have to use the terminal at all?

I took on the “no terminal” challenge and explored whether it’s possible to use Linux without a terminal.

Is Using the Terminal a Must on Linux?

Whether you need to use the terminal solely depends on your activities. If you use your desktop for document processing, checking emails, browsing the internet, or consuming multimedia, you may never even need the terminal. Most casual users can get away without touching the terminal.

That being said, there are certain powerful activities dependent on the command line. Then there are activities that don’t require the terminal but using it makes them easy. So even if the terminal is not necessary, learning how to use it is worthwhile and would serve you great purposes in the long run.

For this experiment, I’ll be using Linux Mint, one of the most GUI-friendly Linux distros. It’s also considered a great distro for beginners, as most distros geared towards newcomers have great GUI experience.

Installing New Software

The homepage of the Software Manager on Linux Mint displaying different kinds of software

Dealing with software is likely the biggest use of the command line. By issuing simple commands, you can install, update, and delete any software from your system. But it’s not the only way to deal with software. Popular Linux distros like Ubuntu, Linux Mint, Fedora, and Pop!_OS come with a dedicated software center (similar to the Microsoft Store). On Linux Mint, it’s known as Software Manager.

Suppose I want to install VLC media player. I will search for it using the search bar and simply press the “Install” button to install it. Sometimes, you might be prompted to install some dependencies. But that’s about it. Your software should be installed in no time. If I want to uninstall it, I can do so from the same place in Software Manager or the start menu.

An instance of Installing VLC on Linux Mint using Software Manager

But what if you need to update some software? There’s an update manager too. You can open it from time to time and see what packages have updates available. Then you can press the “Install Updates” button to update selected software or all of them.

An example of the Update Manager user interface on Linux Mint for updating installed software

Managing old and new software on Linux is pretty simple thanks to existing software centers. But even if you can’t find one preinstalled on your Linux distro, you can easily install software using Flatpaks or AppImages. So then, why do people use the terminal? That’s because it gives you a better experience in certain situations.

You can manage multiple software using a single command. For example, if you want to install a dozen software at once, you’ll need to find them one by one and install them from a software store. But with the command line, you can issue a single command and install all of them at once.

Here’s an example command:

sudo apt install vlc steam-installer skypeforlinux telegram-desktop...

Changing System Settings

The System settings in Linux Mint displaying different types of options and settings you can change

Getting deep into the heart of Linux and playing with the settings is something pro-Linux users prefer the command line for. But it’s amazing how much you can do with a GUI settings menu on Linux nowadays. Linux Mint has a comprehensive settings menu containing most of the things you’ll ever need. You can tweak network settings, display options, hardware, firewall, and even other administration settings.

However, with the command line, you get more power and control. Many system settings are stored in configuration files located throughout the Linux file system. Accessing and editing these files directly in the terminal grants you granular control and configuration options beyond what’s available in the GUI settings.

Command-line tools like systemctl allow you to manage system services. For advanced network settings, you can use the ip and nmcli commands to configure network interfaces, IP addresses, and routing. You can modify system-wide environment variables using the export and env commands. This allows you to have control over system behavior and application settings.

Then again, casual users won’t be doing any of these tasks. And power users who do these don’t do them every day. So even without the terminal, you can change basic and some intermediate system settings.

Managing Your Files and Folders

An instance of the Linux File Manager Nemo on Linux Mint Cinnamon

Commands like mkdir, cd, rm, ls, cp, mv, and chmod are mostly used for managing your files and directories. However, just like Windows, Linux distros also have GUI file managers that can perform almost any task that these commands can.

For example, the Linux Mint Cinnamon edition has Nemo as the default file manager. Most of the activities you’d perform on files and folders, such as copying, listing, deleting, renaming, and moving, are done in the same manner as on Windows. By right-clicking on any folder or file, you’ll get access to a context menu where you can find all such options.

An example of the context menu opened of a file on Linux Mint

But then, why would you use the terminal for simple things like copying or deleting files to begin with? As it turns out, you can do more than that using the terminal. Think of batch activities. You can rename multiple files and folders according to certain patterns or criteria. You can also move or copy files based on specific criteria such as file extension, modification date, or size.

You can use commands such as grep, sed, and awk to search for specific text patterns within files and make changes based on the search results. If you want to go further, you can use regular expressions for more powerful filtering. Wildcards enable you to perform mass operations on multiple files across multiple directories.

Text Editing

An instance of a configuration file opened in the nano text editor on Linux Mint

Have you ever heard a joke about exiting from Vim on Linux? Vim is a popular terminal-based text editor that comes preinstalled on all Linux distros. It’s notoriously known for its steep learning curve. Now, the idea of learning “how to use a text editor” may sound surprising to you. But once you learn it, you can save dozens of hours thanks to its useful shortcuts and powerful capabilities.

But not everyone needs a powerful text editor. Sometimes you need to write something down quickly. So a basic editor will suffice. For those, luckily, there’s also nano available on the command line. But you don’t need the command line for editing text.

If you’re looking for an alternative to Microsoft Word, then LibreOffice Writer comes pre-installed with most Linux distros. For more basic text editing, other graphical tools are available. On Linux Mint, you have the xed text editor. On Ubuntu, you have gedit.

An instance of a text document opened in the xed text editor on Linux Mint

Programming and Development

Linux makes programming much more fun because it handles some of the tedious setups for you. You open a code editor and start writing code. Hence, many people, including me, prefer Linux over Windows for programming.

Linux distros have almost all of the popular programming IDEs and code editors including VS Code, Sublime Text, IntelliJ IDEA, and PyCharm. So you don’t need to worry about writing code or not having your favorite editor. However, there are many instances where knowing the command line would make your workflow more efficient.

An example of compiling a C program using the Linux terminal

There are many terminal-based development tools such as make, gcc, cmake, and autotools that developers use regularly. Compiling code from various programming languages often relies on tools like gcc and javac. These tools offer better control over the compilation process than a simple Build button on an IDE.

As a developer, you’ll have to use many tools that don’t have any graphical interface. You’ll need to install many dependencies. You may have to connect to remote servers via SSH. You’ll likely have to automate many repetitive and complex tasks to save time and energy. All of these, if not most, are done using the terminal. For any professional developer, the command line can feel necessary rather than a choice.

Another noteworthy part of a programmer’s work is the version control system. While there are GUI clients for tools like Git, learning basic Git commands can come in handy in a professional scenario. Using Git from the command line also makes your development process smoother because you don’t need to go back and forth between multiple tools.

Customizing Your Linux Desktop

An instance of the Qt5 customizer tool opened in Linux Mint

Linux is known for its customization abilities. You can find a good number of both GUI tools and command line tools for customizing Linux to your heart’s content.

In fact, GUI tools have some advantages to this. Firstly, they’re easily available in the built-in settings menu. Most desktop environments offer built-in settings and tools for changing themes, wallpapers, icons, and desktop layouts. You won’t need much technical knowledge. Secondly, you can see each change instantly while you’re doing them.

There are a bunch of GUI tools available out there, including GNOME Tweaks, Dconf Editor, and KDE System Settings. You can play between different options to get your preferred look and feel. Sure, the command line unlocks a new world of customization opportunities. But if it’s customization work I’m doing, then GUI tools seem to do pretty well considering there’s no learning curve.

Other Advanced Tasks

When it comes to advanced tasks, the command line mostly reigns supreme. Some of these include system administration, network configuration, system monitoring, troubleshooting, disk management and partitioning, user and group management, and system security maintenance, among other things.

You may find a few GUI tools, either built-in or from third parties. However, most of these activities require basic to intermediate knowledge of the Linux system, commands, and Bash scripting. So if you’re planning to use Linux for any of these works, the terminal would be your daily companion.

No Command Line, No Problem!

For the most part, you can use Linux distros without ever touching the terminal, depending on your use case. Using the terminal might be convenient for some tasks, but nowadays, with a bit of searching, you can find GUI tools for many things. For power users, though, using the terminal is the way to get the most out of your Linux experience.

If you’re thinking of sticking with Linux, learning the command line might be a wise decision in the long run. Learning the command line isn’t as difficult as you might think. And you don’t have to learn everything at once. Start with some basic Linux commands. Get more familiar with how the command line works and then you can continue learning other important Linux commands.

Source link

By John P.

Leave a Reply

Your email address will not be published. Required fields are marked *