We've all heard it before: People claiming Linux isn't a viable alternative cause you can't run it without using the command line.
I decided to test that. Now there are several distros aimed at new users that have preinstalled GUI tools so you don't have to touch the Terminal. But I wanted to see if that's also possible on a distro not specifically aimed at fresh converts. The oldest distro with a large userbase, which a lot of people consider to be a "standard" Linux, is Debian, so default Debian with Gnome is what I'll use.
I consider "running an OS" to at least include booting it with full disk encryption, starting applications, connecting to a network, browsing the web, file management, installing updates and new software (both from the repos and third party sources), installing necessary drivers, setting up printing and scanning, and adjusting the looks and behaviour of the user interface.
So generally anything you'd be able to do on Windows without opening Powershell, CMD, Regedit or a text editor.
I guess I'm telling you nothing new when I say that you can install, boot, launch apps and browse the web on Debian without the command line.
It comes with a pre-installed software center, printer and scanner setup works out of the box from Gnome's settings.
Here's where it gets a little trickier: Scrolling on Firefox is rough, cause the preinstalled old version doesn't have Wayland support enabled. So you either have to enable Wayland support or install the Flatpak version of Firefox.
To enable Wayland, you have to write MOZ_ENABLE_WAYLAND=1
into /etc/environment
. But the file manager doesn't let you edit system files without starting it as root from the command line. To add an "edit as admin" entry to the context menu in Nautilus, you need the nautilus-admin
package which isn't available in the software center. It can be installed with Synaptic, a pre-installed GUI frontend for apt. But you still need to edit a system text file, which goes against the spirit of this challenge.
The other option requires enabling Flatpak for the Software Center. You can do that by installing gnome-software-plugin-flatpak
using synaptic, then heading over to https://flathub.org/setup/Debian to download the flathub repo file which can be installed with a double-click and a reboot.
Note: Beginner-friendly distros ship with a newer Firefox version and Flatpak support out of the box.
To install any compatible binary on your system (like the Universal Android Debloater, for example), just copy it to any place you like. Install the menu editor alacarte
and use it to add a menu entry for the file. Now you can launch it from within Gnome by clicking on its icon or using the global search.
Another issue is that during the boot process, you're already presented with the command line running boot messages by you, and the password prompt for the disk decryption is also on the command line. Also, the 5 second Grub countdown is kind of annoying. To make this prettier, we need to install grub-customizer
, launch it, set the grub countdown to 0 and add the word splash
at the end of your kernel parameters in the settings. This activates the "boot-prettifier" plymouth which is pre-installed but not activated by default. Again, pushing the boundaries of this challenge.
Note: Beginner-friendly distros come with pretty plymouth boot enabled by default.
To enable the non-free nvidia Driver, you need to enable non-free software during the GUI installation or in the Software Center settings, then install nvidia-driver
from Synaptic, and reboot.
Note: Beginner-friendly distros come with a one-click NVidia driver install
To install Steam from the Debian repos, you'd need to enable Multi-Arch first, which isn't possible without the command line. Using the Flatpak version is your other option.
Note: Some beginner-friendly distros handle this for you as soon as you install a package that depends on multi-arch
tl/dr: It's possible to run and administer Debian for standard tasks without touching the command line. It's just generally faster to use the terminal if you know what you're doing.
Distros like Ubuntu, Mint, Zorin or Pop!_OS (possibly also Manjaro which I have no experience with) remove the remaining roadblocks. The only time you'll always need the command line is to fix issues you have with help from other users, because it's much, much easier to just post the right terminal commands online than to guide you through whichever GUI you might be using.
Anyone who's ever followed a Windows troubleshooting guide knows what I'm talking about.
i still don't understand why people are scared of command line when a lot of the fixes for windows bullshit require it in addition to registry editing, and also sometimes gpedit which is enterprise only now iirc.
Yup, I don't understand it either. Many "how to fix ..." articles involve quite a lot powershell magic. And I say "magic" because IMO they are often essentially API calls which I find far harder to grasp than config files that follow some logic and help me understand what is interacting how.
Most users of Windows aren't editing the registry, no matter what problems they encounter.
For power users that do use regedit, I'd argue there's still a gap between that and using a shell. The registry can be edited entirely with the Windows graphical utility, after all.
Well yes, largely for the same reason people are driving around on bald tires, paper thin brake pads and three drops of oil in the sump. It's because the education system has failed them in one way or another.
I have noticed two trends over time:
You're increasingly likely to be told to edit the registry to customize a Windows machine. Back in the 98/ME/XP days, you just didn't hear about the registry. You might have known it existed if you were some kid with your dad's hand-me-down Pentium III HP Pavilion, but you NEVER touched it. Sometime around Windows 8 you started to see guides talking about "If you want to put it back to behaving like Win 7 did, just add this registry key."
You are decreasingly likely to be told to open the terminal and run some arcane command to customize a Linux machine. GUI tools in distros designed for newcomers, casual users or gamers (things like Mint, Pop!_OS or Nobara) are increasingly complete and rely on users manually editing config files or running commands for fewer and fewer "typical" tasks.
They said "in addition to registry editing".
Some of them throw up their hands and reinstall at the first sign of a problem. The rest get someone else to do the "hard" part for them, in my experience. They hand it over to the Unofficial Repair Person Paid in Beer and Pizza, who does the command-line stuff, registry editing, etc. Or they get an official repair person. Less than 10% of the Windows-using population does their own fixes.
The Registry Editor is a GUI that doesn't rely on memorising commands. This is home territory for users. A tree to navigate, similar to a file manager is very familiar. Even the first time. Just give me the path. It is also easy to work out how to edit entries, and to revert changes. Sure, you might not like the looks of it. But it lies in the 'normal' world. Not in some strange world. People not into usability sometimes don't get that.
most people I have dealt with can't even get on the internet if the browser icon moves a few spaces over. regular settinngs menus are out of the question for them, let alone an extra program for settings with names that don't reflect their purpose in a laymans eyes. On the other hand I have had pretty decent success telling people to press win+x, release the keys, press a or whatever for cmd/powershell then copy paste a one liner, assuming a cmd/powershell command is available for the issue. or making a registry file they can double click.
Sure there are some people who can't do anything. But there are a large number of full time computer users not in IT who know their GUIs really well. These are candidates to switch to Linux.
If you give someone a text string to paste in, chances are they won't be able to tell if it worked. They might need another command for that. And how can they undo that command? And the next time they need that command they'll have to have stored that command string somewhere! Which is why it is better to show them the option in their application GUI, as the GUI will provide feedback on the status. And makes it obvious how to undo the change, and they know where to go next time. Otherwise they are dependent on you forever. Also, I doubt if there are any text commands for most things I do on a computer.
You don't design a UI around the relatively few occasions when GUI help is too hard for some helper.
I've been using Linux as a desktop and server since 2015, before that I was Windows only from 1995. Regedit scares me.
Yes. You can bork your system via the registry. But only some parts of the registry are dangerous. Changing the mouse scrolling direction as I do, hasn't given me issues so far.