Let the apologists have a field day in the comments.
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
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.
:-)
sysctl, anyone?
*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.
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.
Nix is definitely where I’d bet on good GUI development, if I had to choose. I’ve had my own issues with NixOS in the past, primarily due to me simply not being able to fully grasp some of the language for configs, but I’d definitely assume that GUI editing would be much easier due to the more predictable nature of the config files.
What’s the deal with NixOS? I’ve never tried it
It’s whole deal is “declarative” system configuration. Essentially, it means if your config file is identical to someone else’s, your systems will have identical software/dependencies, and everything should, in theory, run the same, generally speaking.
So for instance, to install a package, instead of running
sudo apt install nameofpackage
, I would just edit my NixOS config file to have the linepkgs.nameofpackage
in it, run a command to “rebuild” my system usingsudo nixos-rebuild switch
, and it would automatically be installed.That’s not the whole of it of course, but that’s just a general overview. It’s really good for if you’re running multiple systems that need the same software, because all you need to do is copy the config file over, run
sudo nixos-rebuild switch
, and the systems now have identical software.Oh yeah, and you can also easily rollback. If you break anything, you can, while starting to boot NixOS, just select the previous configuration, start your system, and any changes you’d made to software/settings will just be undone. It’s great for troubleshooting.
AFAIK NixOS also has the largest number of supported packages out of any distro.
Wow! That sounds like a dream! It gives me i3wm and emacs vibes.
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 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?
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
You get a gui?
dwm gang rise up!
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.
*Laughs in CLI.
Also TOML lol
Yeah, I’ve definitely grown to like TOML, especially after spending hours trying to edit a giant (nested) YAML file…
I didn’t realize the indentation in TOML was purely aesthetic.
This
[servers] [servers.alpha] ip = "10.0.0.1" dc = "eqdc10" [servers.beta] ip = "10.0.0.2" dc = "eqdc10"
equals this
[servers] [servers.alpha] ip = "10.0.0.1" dc = "eqdc10" [servers.beta] ip = "10.0.0.2" dc = "eqdc10"
which equals this
{ "servers": { "alpha": { "ip": "10.0.0.1", "dc": "eqdc10" }, "beta": { "ip": "10.0.0.2", "dc": "eqdc10" } } }
Once the file is big enough wouldn’t it be better to convert it to json before editing, then converting it back?
Let the computer deal with indents and all that stuff.
I love this comment. JSON is by far the format that cares the least about being human-readable or -writable, but you’re seriously proposing writing it rather than YAML. And I kind of don’t even really disagree. But a big problem with that strategy is that you won’t find documentation for how to write the configuration in JSON.
I disagree that json is not human writable. JSON is perfectly writable since it has explicit visible separations between elements.
It might look ugly but it’s perfectly readable and writeable.
Granted, I always read json after parsing it with an auto formatter. Maybe that’s why people say that json is difficult to read? It’s true that unformatted json (minified) is way worse than yaml but no one in their right mind would not format the json, specially when it’s natively supported by most code editors.
BTW, about documentation, post formatting json looks very much like a yaml, all yaml docs can be converted to json instructions if you think a little bit.
What people expect:
✅Fix my box
❎Fuck my shit up
What we would get: System Kernel Interface
🔳 Regex Recursion
🔳 Kernel Language (Internal) [Dropdown: en-us, Dvorak, binary, Klingon, non-binary (Borg analog), Esperanto]
🔳 Ignore LPT on fire
🔳 Memory hole on sysctl
🔳 Mansplain man(8)
Yeah some people seem to have this expectation that there should just magically be a button to unbreak the PC. They talk about their personal pain points when using Linux as if there’s a conspiracy of devs to hide the unbreak buttons for the sake of elitism, but that… just isn’t a thing? If it was that easy to fix an issue, you probably wouldn’t need to fix it because the system would already come unbroken by default. I sympathize with everyone’s Bluetooth configuration woes but mostly it’s a pain in the ass because Bluetooth, in general, is a pain in the ass, not because of elitist devs (who I should mention are doing this in their free time for no pay. There’s almost no money in desktop Linux, unlike in servers).
I expect a Red x
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.
If you put every option in a GUI, there would be so much stuff that nobody could find anything.
That’s why you put it in 3, with no rhyme or reason for which goes wear
Now we got it only in config files where we can’t find anything. Also don’t you put a single wrong character in there, it could break everything.
Well-made GUIs can even prevent disaster by exposing settings in a diggestable way and making sure entries are properly edited. Good UI/UX conveys functionality through form and can be navigated intuitively.
To make settings inaccessible on purpose or even alienate people deemed “too stupid” for them is called Tech Paternalism, and it fucking sucks.
To make settings inaccessible on purpose or even alienate people deemed “too stupid” for them is called Tech Paternalism, and it fucking sucks.
You’re referring to Windows Registry right?
A well-documented config file is like the exact opposite of “tech paternalism”.
I think you just discribed windows I know my head hurts looking at GPOs.
No Windows put everything in a GUI, then added a second GUI that didn’t quite have all the functionality of the first one so kept both around, then despite the second GUI existing for nearly 10 years it still couldn’t do everything the first one could and then they completely redesigned it rather than just introducing all the functionality from the first GUI, but they removed some of the functionality of the second GUI from the first GUI so now both GUIs are incomplete and full of functions that just link to the other GUI
That’s basically Sharepoint. You better bookmark the three different Web pages because they have different options you won’t find on the two other. But also just finding and remembering those three Web pages is a Pita. I or better yet, never have to manage Sharepoint pages. This stuff is worse than printers.
Oh god don’t get me started on SharePoint, I only recently discovered that disabling permission inheritance doesn’t actually disable permission inheritance…
As kludgey as they are, though, I do wish there was a good replacement for GPOs in Linux
There is and it can be mapped to GPOs when connecting to AD https://en.wikipedia.org/wiki/System_Security_Services_Daemon
As cool as that is, I’m only seeing authentication and rights management, which have little to do with what GPOs do
It’s limited of course https://4sysops.com/archives/applying-group-policy-to-linux-using-sssd/
That’s not just limited, that’s an incredibly tiny bit of user rights assignments, which is an incredibly tiny part of group policy and does nothing to configure the system… It’s useful, but not really what I’m talking about
All the settings changes should be config files. GUI is dumb Pooh.
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.
Here’s one:
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.
Pavuctl still is kind of mandatory to have with most DEs (you should be able to set the proper audio profile in it for 5.1?). Amusingly even on Pipewire systems.
Especially weird to see on Gnome. Audio Settings are rather meh, you still can’t even set how the background is displayed since Gnome 3 either (centered, stretched, fit etc. - unless you know about the “optimizations” app) …but look at our new “Wellbeing” feature! 🦶
Hi. Are you referring to the “optimizations” app, gnome-tweaks ?
MY CREATOR USED LINUX TO DEVELOPE ME I FEEL COLD WHEN I EXTRACT MY DATA