I've been using linix for like 18 years and I still prefer GUI over CLI hands down.
Make things easy by letting me click on some nicely explained buttons.
I don't care if settings are done by GUI or terminal, I just want clear and concise descriptions for specific settings and not a condescending "go read the man pages you fucking noob". I've been fucking with Linux for over a decade now; a lack of clear documentation is not my problem, and at this point is unacceptable.
This makes sense, within reason. Limiting the visibility of low level system settings and statistics is good for the normal user’s experience. That is not just to keep them from breaking their system, but it also makes the commonly used settings easier to navigate and use.
I don’t say this in a gatekeeping way either. I am a developer and old computer nerd who has a terminal open pretty much all the time. But I also run Mint and I use the GUI for all kinds of stuff. If I may stretch to make a metaphor, the primary user-friendly UI from the driver’s seat of my car doesn’t have indicators or controls for all kinds of things I care about, but they are things I don’t need to do every day in the middle of a drive. I can do something out of the ordinary to get to them when the need arises.
The nice thing about Linux is that in the GUI these things are merely hidden. They aren’t locked down and denied access entirely like you might get with a commercial OS.
The worthwhile discussion/argument IMO is just where best to draw that line. I personally don’t have strong opinions on the computer side because I am comfortable with CLI and text files. My gut feel is that more GUI is good, but my suspicion is that actual “normie” users want simple. To them the OS is just the screen that holds the icons for their apps, like a smart phone. It is not a gargantuan tree of settings they can peruse like I might.
Funny though, I DO have a strong opinion in the case of my car metaphor. I currently drive an old economy car, and it doesn’t have a coolant temperature gauge. There’s just a warning light for when the coolant is already too hot or is still cold and warming up. The lack of the gauge doesn’t affect the performance of the car and it has not ruined my day in over a decade of ownership, but I’m a bit of a car guy and an engineer to boot, so I want more information like you might see in a truck or sports car.
That’s another nice thing about the open nature of Linux. There isn’t one official setup that everybody gets out of the box, which can be confusing, but it can certainly be made to fit many different people’s needs.
Sure.... Want to fix the stupid new menus in windows 11? Oh it is just a new guid key in the registry in a location you wouldn't expect. You know just cut and paste shit into the registry you found on the internet. Windows is just as annoying, if not more so.
In any case: what system GUI's do you want? GUIS make everything so much harder, careful what you wish for.
It's why I'm so furious about Linux in general and how every god damn intent to change almost any setting begins with "open Terminal...". I don't want to use the damn Terminal. It's 2025 now, put the god damn basic ass settings into control panel so I can click it without first spending half an hour to find a long noodle of commands for Terminal that I don't even understand, paste it in and hope for the best.
Like, I had issues with Bluetooth module in my laptop and I wanted it disabled so my BT USB dongle is main. In Windows I'd just go to Device manager and disable that device. Done. On Linux I spent hours diging on how to disable BT module and weed out all the bullshit on how to disable the function itself because I need it, just not from the fauly module. Then I spent asking on Reddit where someone finally posted a working Terminal command that I had to save into config file using Terminal because file manager is to stupid to save it into system area by just asking me if I want it there or not. I now have a folder with config file and instructions on what stupid ass copy command for Terminal I need to use to copy the config file where it needs to be.
Just so much unnecessary bullshit for something that could be done in literal 5 clicks at worst if the damn option was in GUI to disable single device on the system. Also fun fact, Linux has a "wireless devices" tool, command line one and it uses device ID to apply it and the fucking ID changes every time for the device so you can't make a permanent setting. I kid you not. I've never seen anything more idiotic.
Windows users are used to everything being so locked down that it's virtually impossible to mess up your system... lots of this stuff is in config files because exposing it for everyday users would be asking for people to completely brick their workflow.
I think there should be a standard for config files, where it defines all of the options and possible values, so that an app can be made to modify them.
Since suggestions in the comments are just words of apologists, do you have a proposal for a solution, or is this just a rant post?
All I’m getting right now is a vague idea of some Master GUI that resembles the cockpit of a commercial jet that no “average user” is ever going to try and decipher, anyway.
This could be paraphrased as "GUI for the GUI settings, non-GUI for the non-GUI settings." It's not surprising to me that parts of Linux that run on systems that don't have GUIs do not have GUI settings. I understand the frustration, but building those is more work, and more things that can break, go out of date, etc..
What if Linux presented its config files in an app like regedit? Would that be easier? I doubt it. But with complicated data structures, making a first-class app just to edit a specific text file or set of files on disk is a very low ROI for engineering hours.
Yeah, some distros have GUIs for system settings, like openSUSE and Mageia, but advanced users will often even take that as a reason to not use those distros, because they themselves don't need that on their system. And because not many advanced users use these distros, it's hard to recommend them for noobs, because it makes it more difficult to find help resources. Kind of a stupid situation...
reminds me of the one time I tried to configure a proxy on fedora KDE
and then realizing most apps don't even use the inbuilt proxy settings and there are three separate ways to configure it that are only accessable via the terminal and it is pain
NixOS has the potential to do really well here. The Nix language has a rich enough type system to generate GUI forms for every field, and there are several projects being worked on that allow editing NixOS options from a GUI. They're still very janky, but it's definitely possible to get to a point where a layperson could operate them without breaking their system.
Desktop Environments are decoupled from the underlying system. It makes switching DEs very easy but integration sucks.
I needed to flush dns on my Ubuntu machine. I googled it found a command for an older version. But of course the underlying stuff changed since then and that command doesn't exist anymore.
The command to flush dns on Windows has been the same for decades. On Linux half the stuff I learn is going to be obsolete in a couple of years and that knowledge can't be carried over to other Distros because they do it differently.
I also had to manually build and install a driver for a very common realtek wifi chipset that is not even new.
I'd just like one standard for all config files. Yaml, json, whatever...let's just choose something and standardize.
I used to dislike editing text config files but once you have one written you've got a template for the future. So long as the documentation is throughly written it's not too bad to follow.
Audio jacks. I have a 5.1 system, and to use it properly I have to install HDAJackRetask. You can't just specify 5.1 surround sound from the distro's standard audio settings menu.