Not everything actually requires a GUI, obviously. But anything that requires configuration, especially for controlling a hardware device, should have a fully functional GUI. I know Linux is all about being in control, and users should not be afraid to use the command line, but if you have to learn another bespoke command syntax and the location and structure of the related configuration files just to get something basic to work then the developer has frankly half arsed it. Developers need to provide GUI's so that their software can be used by as many people as possible. GUI's use a common language that everyone understands (is something on or off, what numeric values are allowed, what do the options mean).
Every 12 to 18 months I make an effort to switch to Linux. Right now I'm using Archlinux, and it has been a successful trip so far, except my audio is screwed, I can't use my capture card at all, I had issues with my dual displays at the start, and the is no easy way to configure my AMD graphics card for over clocking or well anything basic at all.
I'm not looking for a windows clone, I love that I can choose different desktop environments and theme many of them to death. I even like the fact there are so many distros. Choice is a big part of linux, but there is clearly a desire to get more people moving away from Windows and until that path is 95% seamless most people just won't. Right now I think Linux is 75% to 85% seamless depending on the use case and distro but adding more GUI front ends would, imho, push that well into the 90% zone.
GUI is not a dirty word, it is what makes using a new OS possible for more people.
EDIT: Good conversation all. This is genuinely not intended to be a troll post, I just feel it is good to share experiences especially on the frustations that arise from move between OSes.
The disregard for simplicity and/or outright hostility towards ease of use and centralizing settings I see in the comments here is the primary reason Linux will never replace that other OS as the home computer OS. This culture of elitism, and yes it is elitism, is harmful to that cause. I see this attitude almost every time someone expresses frustration towards Linux for an issue that other OSs have overcome (or significantly lessened) literally decades ago.
There is, arguably, a sense of entitlement for wanting free software developers to ‘do the thing’, but that’s not a Linux problem. Free software exists on all platforms, and those developers still manage to follow the OS’s design philosophy.
The standard user should never, ever, ever have to use a CLI for anything ever, nor should they need to have a Linux Guy on speed dial to be able to solve a basic general issue. You might argue that an issue on those other OSs might need someone to open a CLI or dig into a settings file to fix, but those times are so few and far between that the average user may never have to do it in their lifetime. Meanwhile it seems like every solution to a Linux issue begins first thing with opening terminal.
User friendly flavors of Linux have made great strides towards making things much closer to those other OS design philosophies, and that’s great, but they’re not quite there yet. I’m also not saying every flavor of Linux needs to follow this pattern, as not every problem calls for a hammer. The problem is that Linux is still very much a Wild West OS where anything goes, hidden behind a roughly painted GUI facade.
Linux will never replace that other OS as the home computer OS
Does it need to?
I'm fine with Linux, it works for me and I couldn't care less if it doesn't become mainstream, especially if opening to a wider audience means altering the status quo that makes the OS great for people like me.
I don't want a GUI if that entails sacrificing the CLI, you can look at the Flatpak CLI if you want an example: they went all-in with the graphical stores and the command line is neglected.
There are a non-insignificant number of people who want it to be, and frankly it would be good to have the competition in the market space if only to keep the other players honest.
Almost any discussion about another popular OS has a few token “switch to Linux” comments. I see people often using the phrase “The Year of Linux” after that other OS does something unfavorable in hopes to see a massive migration.
So there’s a desire for it to become popular. Maybe it will never replace that other OS, but that doesn’t mean it can’t compete for the desktop OS space.
But most of the comments on this post really aren't elitist. Most desktop tools are made by volunteers (with the exception of SUSE, Canonical, Red Hat, etc. who mostly deal with running on servers) and those volunteers only have so much time to work on projects. If they don't have time/knowledge to build GUIs when the terminal is "good enough" for their use cases, why should they?
If someone else needs the GUI, they can develop a frontend separately (which also gives people the choice of being able to cut down on software they don't need if they only use the terminal interface)
Personally, my take on this is that Linux isn't mainstream for a reason. Windows/macOS still exist and (privacy concerns aside) function well. It would be amazing if Linux could become more beginner friendly, but let's not try to act like desktop Linux developers who are already giving up their time owe it to us to do even more.
All I’m saying is that people shouldn’t be immediate turned away from Linux whenever they bring up a failing of the platform by the people who live and breathe CLI.
It would be good for Linux flavors intended for desktop OS use to have some kind of style guide. Developers who are donating their valuable time don’t have to follow it, but it would at least give them all a sort of unified target so they don’t have to constantly reinvent the settings wheel.
Yeah, they keep changing their minds on how they want that unified settings window to look and never fully retiring the old way. It’s like that XKCD comic about so many standards.
Trust me, I’ve complained about that exact thing a ton too.
GUI doesn't make things simpler except for people who can't grasp the absolutely insane simplicity of CLI. It's the underpinning of everything and makes everything work so much better. Automation and customization is made easier through CLI.
GUIs hardly centralize anything. There's no standard place to put settings in a GUI. And have you seen GUIs created by many dev-first folks? Devs should rarely be in charge of frontend stuff. Front end development is for front end developers. It's a different class of individuals.
Linux won't catch on as long as new users are lazy. Every generation, that becomes more and more. I thought gen z would be better with PCs but they're only familiar with iOS and Android it seems. No wonder a CLI is scary. They have no actual experience with how to use a computer.