Let the apologists have a field day in the comments.
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.
YaST on OpenSUSE is pretty nice.
I always viewed YaST as SMIT(ty) for linux. Haven’t looked at suse in forever, though.
I have no idea what SMIT(ty) is, so I’ll just smile and nod [smiles and nods]
https://en.wikipedia.org/wiki/System_Management_Interface_Tool
It’s a menu driven system management tool for IBM’s AIX unix variant. Oddly enough, even Wikipedia shows the relationship from SMIT to YaST. Instead of just smile and nod, next time make up something about “smitty print” (damn near everything was under the “print submenu”, ostensibly because you were printing out the config to screen), and look like you are a grizzled veteran of corporate unix from the days of yore.
:-)
Not entirely accurate since the majority of Linux system settings are in fact GUI settings, you forget the Linux under the hood is all pure text based meaning it’s just GUI settings and worse GUI settings.
Wait, do you argue that a terminal emulator is just another GUI but with a huge text box? 😅
If we want to be technical even the terminal itself is a GUI just not a very interactive one, technically anything(most things) outside of the grub loader, bios and drives are part of the gui, I will concede that that is not a very useful definition but when dealing with edge cases like terminal emulators you would have to say it is indeed part of the gui at least technically.
It’s called a terminal emulator because it emulates graphically what used to output to a printer at the console of a mainframe. Then you got CRT monitors. The mainframes like the PDP-10 would output to a printer or CRT monitor. This was your terminal. A printer writes the output from the mainframe 1 character at a time, left to right, top to bottom. The CRT monitors were made to do the same. Obviously before outputting to a printer or CRT monitor, the output would show on a set of lights on the console. If you watched them change enough, you would know where you were in your program as it ran (obviously something only doable because the opcodes were not running in parallel through super scalar pipelines in the Ghz). With printers and monitors, you could increase the amount of feedback you get from the running or exiting program and give input to the system via a keyboard.
So, the terminal is not “technically” a GUI. We do use a GUI to emulate a terminal which receives the actual terminal output from the system and then displays it for you. They are not the same thing at all. GUI is a paradigm for what you display on a Monitor for the user to interact with. Modern monitors are fast enough that they can and do work well with the GUI paradigm. You definitely wouldn’t be sending GUI context to a printer.
Technically a terminal is a physical crt or phosphate or whatever old kind of monitor they had back then, the dot matrix printer was a tty or teletype system, the terminal emulator is emulating the the old dumb analog monitor on top of the digital os not necessarily the tty although the terminal was doing the same function as the tty, so a raw terminal would be graphical… I guess we are going so far back the words are losing meaning but the terminal emulator which runs on top of the GUI classifies as part of the GUI as much as notepad or word
“Is the X server part of the GUI” is a lot like the “Is water wet” debate
if you can’t use it without a monitor it’s graphical
So, if I switch the terminal output back to my dot matrix printer instead of my monitor, like back in the day, it’s not graphical right?
*openSUSE enters the chatroom
SUSE/openSUSE are the only ones that have it figured out. It requires a lot of polish, but it’s the only distro that seems to really care about a deeper system configuration through GUI, and that’s really appreciated.
sysctl, anyone?
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. It 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.
Then at least give users the ability to edit said text files with a text editor… but the community fights that as well. 🙄 The only distro I ever saw that enabled users to open a file browser and, through that, a text editor as root to edit system files was Mint. KDE had it for a short while before they patched it out again as far as I know (last time I checked Dolphin outright refused to start with root privileges).
It’s not like there weren’t ways to make it easier with little investment. Some elitists just managed to suppress even those efforts for decades.
Kde allows you to edit files with elevated permissions; use Kate for that. Open any system file in Kate and it will ask you for your password when you’ll try to save it.
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.
“No, honey. We have Linux at home,”
Linux at home:
linix
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.
I don’t mind using the terminal, but how the fuck am I going to remember something like
kwriteconfig6 --file startkderc --group General --key systemdBoot false
? (In fact, there aren’t even man pages for that command). Like the scribbles of a mad man I’ve had to put down commands like that in a sort of personal instructions manual, because ain’t no way I’ll remember these commands by heart.
And you often end up just saving the most used commands as aliases or functions in the .bashrc meaning you don’t retain the syntax for the commands you use. Well, maybe I’m a unique case of fish memory… The thing about humans is that we greatly rely on our vision, and having GUI’s to show what’s possible greatly improve ones understanding of how to manage it going forward.kwriteconfig6
is barely documented because you’re not really supposed to use it. All of the settings that users are expected to change are in the nice settings app that Plasma ships with. Using kwriteconfig (or equivalently a dconf editor on GNOME) is like editing the registry on Windows; you are implicitly opting into more power, out of most guardrails and into potential breakage. The UX being a bit questionable (though honestly it’s really not as bad as you’re saying, it does exactly what it sounds like it will do?) is to a degree intentional, because you’re not supposed to be using this unless you know what you are doing.Tbf, disabling systemD autorun is the only thing I’ve ever user kwriteconfig6 for, because with it enabled bash scripts don’t run correctly.
This is why GUI exists. So you don’t need to memorize idiotic and long commands.
I keep all the little snippets like that in an org-mode file, and write notes about what I was doing and why, and org-babel can even execute the code right there in the document.
and it’s not even running a terminal!!
How ungrateful! Do it yourself? It only takes learning how to program. Thats like… a 45 minutes search. 80 if you want to learn how to program an OS from scratch.
You don’t need to “learn how to program”, whatever the fuck you mean by that, to interface with texting terminal. We’re interfacing via text right now and you seem to do it just fine, you don’t seem to need a selection of colourful boxes to understand what I am saying
You’re asking average people to learn a new language so they can install software (thats not on the stores) or to do some beyond basic configs. Why should they bother learning bash when they could just use windows and learn somethint else with that time?
How many times did i find a post telling me to create a weirdly named txt just to change my touchpad settings? Its not trustworthy for noobs. How is a noob suposed to know if a command on a tutorial is safe or not if many linux distros let you destroy them via rm -fr? Are they supposed to search each and every command before they use them? Im sure lots of people rightfully reject using the terminal (and therefore linux) for this reason.
Everything I know about bash I learned by spending a decade copy-pasting random commands I found online into my terminal.
It’s really that easy. You’ll be sudo apt update-ing with the best of them in no time when you spend a decade copy pasting commands you found on the web to your terminal.
And, in the meantime, you’ll only destroy your OS maybe a few dozen times!
True story - I keep blank audio CDs around because my cars have CD players. The fact that I still burn CDs is another story, but Debian is still small enough to fit on a CD-ROM. So I keep a backup of Debian 12 on a CD-ROM so I don’t have to lose a flash drive to that task. Very convenient. And I’ve broken my system a few times tinkering. I’m not even sure how. But hey, I love to go fast and break things. I probably made an edit to a file long ago and forgot about it and now it borked stuff. It happens.
At this stage, I’ve got it down pretty good. If I break my OS, I can plop in my boot CD, use rescue mode to back my home folder up to a flash drive and wipe the system. I keep lots of other things on extra HDDs so all I ever wipe is my boot SSD. I have an Nvidia GPU so before I log in for the first time, I just get back into rescue mode and set up my root password, user account and password, reclaim my home folder, change ownership to the new account, set up fstab, and install drivers and programs before ever logging in as my user for the first time - all from the console.
As for data loss, I haven’t lost any. I have never needed to wipe my hard drives so as long as my home folder is intact, retrieving that is easy enough. I don’t keep just one copy of irreplaceable files, either. While my phone does back up my stuff to Google Drive, I keep additional copies of my favorite pictures and videos on DVDs. Three copies, on at least two different media, one of them off-site.
Breaking your OS is really not that big of a deal once you know how to retrieve stuff without it. You don’t even need CDs lol The boot CD is just for convenience. You can bork the system on a computer with just one storage device and as long as you have two flash drives, you can get it all back pretty easy.
But I’m only here after years of experience in bash. If I went back ten years with a busted laptop and told my 22 year old self to use lsblk, mount, and cp to copy the home directory to a removable device all in command line, younger me would probably cry lol
This is such a stupid take. Gui obscures the thing that you want to do behind endless buttons and menus and some bullshit that some self-proclaimed “user experience engineer” thought would be “intuitive”. With cli it’s like you’re talking directly to the computer. Want to stop the networking service?
service networking stop
. Couldn’t be simpler!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.
Are you talking about
rfkill
? Strange, for me the ID’s don’t change. But even if they do for you, what’s stopping you from getting the ID just by grepping for the device name? Something likerfkill list | grep YOUR_DEVICE_NAME | cut -d ':' -f 1 | xargs rfkill block
.Calls it stupid take, proceeds to give me most absurd noodle of a commandline for something that could simply be a Enable/Disable button on a device list panel that every idiot with no prior knowledge of Linux, CLI or memorized command could do it. I think proved my point once again.
It would take you less time to put together that one-liner than to find the correct button in an unfamiliar gui. How exactly does that prove your point?
BS, I looked online for hours and waited for replies on reddit and no one gave me this line. So, no, I’d in fact do it via GUI in minutes where it took me hours for some backwards config that doesn’t look anything like this that made me do what I wanted. With extra steps to copy that stupid file into system folder, of course via stupid Terminal because I couldn’t do it through file manager in any way. The level of stupid Linux has to configure trivial things is just astounding.
And what’s weird is how Linux purists always whine about it. Like, I don’t care, keep using your stupid Terminal, just give me damn GUI for this basic shit. I don’t want to waste time and memorize idiotic noodles of commands to do trivial shit. No one is taking away any of the stupidity you love, just give ME the choice. Instead the only choice is use of stupid CLI. Ugh.
Also it’s not “unfamiliar” GUI. It’s called practical deduction. If I need to do this and this I already know I might need to look under this and that category in settings or just type rough related words in search and it would show me the setting. If whoever makes GUI isn’t a complete moron, it would be easy to find. Good luck with any of that with CLI where you need to input exact command from start. Your logic just makes no sense.
I don’t want to waste time and memorize idiotic noodles of commands to do trivial shit.
Also it’s not “unfamiliar” GUI. It’s called practical deduction.
Can you not see how the two arguments you’re making are completely contradictory and self-defeating? Nobody is asking you to memorize “noodles of commands”. What, do you think we all have little books full of shell one-liners for every task imaginable? You just have to know a few basics: The pipe redirects data,
cut
splits lines of text,xargs
builds up arguments raw text, etc. Put them together in whatever way you wish to accomplish the task at hand. It’s – exactly as you say – practical deduction.
I have a similar rant with Docker.
On macOS there’s a Docker app. You can use it to install stuff, see what it’s up to, restart it and whatnot. On Linux you have to remember what commands you have to use in Terminal.
Why?!
There are loads of us out here who would appreciate a more user friendly way to use FOSS, but we’re made to feel like fuckin noobs because we don’t want to spend ages typing in commands when we could just press a couple of fucking buttons.
Anyway, apart from that I’ve been enjoying my adventures in Linux.
Portainer is your friend
You’re probably talking about Docker Desktop. It may not be on Linux (or at least your distro or whatever) because it’s not actually FLOSS. If you want to use Docker with a GUI I’ve had success with Rancher Desktop which is made by SUSE and is FLOSS. It’s still Docker (unlike podman which is not technically Docker), but it has a GUI for some stuff too.
I tried installing Docker Desktop at work and realized the license doesn’t actually allow that without paying. It was weirdly difficult to install Docker by itself on Mac so that led me to finding Rancher Desktop.
Yeah, the Docker desktop license is crazy. Pretty sure it was changed recently too.
KDE has an enormous system settings GUI.
Having said that, I use the console for like 90% of tasks. Basically I use either the GUI browser, an editor (I’m a dev) and the console through yakuake.
I use the console because it’s way WAY more efficient to get shit done. What teo windows admin do in 30 minutes I do in 30 seconds, and that was an actual event where we had to change DNS configurations inna large amount of customer servers.
Command console is not old tech, it’s efficient tech.
Having said that, most normal users shouldn’t have or need to access the console either and for most of the time, this rings true with Linux now. Yeah, there are few exceptions here and there, but then again, windows too requires these senslrss Registry settings, or sometimes even command line actions as well
This is just not true. The average Windows user never has to open the registry, only devs and tinkerers have to. Neither a shell.
For Windows admins do in 30 minutes and you in 30 seconds takes a normal user either 30 minutes ib Linux or, way too often, 30 hours because the random command in the internet didn’t work, did work but had unforeseen consequences (way worse and way too often) or outright broke their system.
Even KDE lacks settings, and even if they ARE there the community is so god damn “terminalistic” that you’ll barely find the correct answer for the GUI, just a bunch of CLI commands that will age like milk and cause future people who look for help to accidentally break something.
NOBODY should be forced to enter a superuser command they can’t understand to achieve a goal they very well do. The community is still fighting against the users’ ability to open a file browser or text editor as superuser WITHOUT going through the command line. It sucks, and normal users constantly get alienated by the lack of these fundamental things on a system that pretends to give them full control.
Full control it does give; after 2 years of painfully learning the command line and its bells and whistles. And this sucks.
I’m sure it’s different in many distros, but in Mint the ability to open a file browser as root is in the right click menu.
What teo windows admin do in 30 minutes I do in 30 seconds
You know that pretty much everything in Windows can be done with powershell, right? Just a few and very specific things need to be done using older command line tools, or extremely rarely using a GUI.
It’s trivial to write a script that changes the DNS configuration on every server for example. It’s even easy to parallelize it.
You pretty much only need something like this.
$Servers = “server01”, “server02”, “server03”
$Servers | ForEach-Object { Invoke-Command -Computername $_ -Scriptblock { Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses (“10.0.0.1”,“10.0.0.2”) }}
I can’t guarantee that it will run, since I wrote it on my phone (hence formatting), but it wouldn’t be far off. You could also do it without pipes using something like ‘foreach $server in $servers’ but that’s harder to type on a phone and I prefer pipes.
I don’t want to use the damn Terminal.
Unfortunately the people who code prefer not to use guis if they can help it.
This, so much.
I genuinely could have said something very similar but in reverse.
I don’t want to use a GUI that does stuff that I don’t understand behind my back. Terminal is simple. You read the man, the output, the return value, etc and you just know what happened.
imhi GUIs are a pita proportionally to how complex what you’re trying to do is.
Set settings once in a config file and check it in, then never fight it again.
GUI is bloat for basically everything. If you want to rice go ahead, but if you do in a UI… lol cool story bro.
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
I’m actually fine with Linux being for people who are into knowing how their computers work and Windows/MacOS for people who aren’t.
Please tell this to my systems administrator at my job. At home it’s all Linux at work trying to use Windows is mind numbing.
I just wish there was an option for normal people to escape “we’ve added more bloatware and spyware in this mandatory update” without having a CS degree.
There is a lot of accessible distros, but the issue is that people have been using an OS for so long that it is hard to switch and relearn a new workflow.
Asking for everything to be done for you is just asking for another bloatware/spyware OS (see how Ubuntu is slowly going that way for example).
Unless you have a tool that you can’t live without, bite the bullet and make the jump. It will suck for a 2-3 weeks, but it is worth it.
You get a gui?
dwm gang rise up!
You ever try to put together a GUI? I absolutely get why they look like crap! Although I have been having fun playing around with egui.
12 years ago maybe, plasma made a lot of improvements since then
Can I edit systemd services and bootloader settings somewhere?
There really aren’t any simple settings for grub that need a GUI and honestly the systemd service CLI for enabling starting and disabling is pretty damn easy
Systemdgenie is good enough for me, but that’s just me.
If you don’t know what you’re doing, you have no reason to edit those settings.
Conversely, if it was presented in a more user friendly way, perhaps more people would know what they were doing.
Wanting a good GUI doesn’t mean you don’t know what you are doing.