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.
I like your take, but if your title had been “GUIs are integral for linux adoption and devs should prioritize it more often” it might have gone over better.
Ffmpeg is one tool that I love and want to recommend to other users to do simple and efficient video file conversions/cropping/trimming. But the lack of a GUI doesnt make it easy. Luckily I have found GUI wrappers on windows and linux, but without those I would absolutely not recommend it. Youtube dl is another example of this. Im glad there are other open source projects providing GUI wrappers for these scenarios.
What does GTFO mean in this context exactly?
“you gtfo - this is my house”
It is a flipant remark to suggest that devs should build a GUI or not bother develope at all.
As someone who just switched to Linux for the first time, please no. I hope they keep developing. I’m so sick of Microsoft’s shit
You’d rather not have the tools at all than use them through a CLI?
- chooses Arch
- complains there’s no GUI
I guess you learned something
Yeah Arch is not worse than the other distros. That is just a reputation it has. Other past than the initial install and into KDE I don’t feel like it is any more command line driving than Mint or Fedora.
Then why are you using it? It’s such a braindead take, and you’re still committing to it.
Having read the rest of your comments in this thread, the two takeaways are
- Arch isn’t for you
- Linux in general isn’t for you
“Be the change you want to see in the world.”
But anything that requires configuration…should have a fully functional GUI.
Does this apply to ones with only 4 or 5 options to configure, where’s the cutoff? Configuration files set the default flags and arguments, and a lot of command line tools that are configurable are small and simple enough that making a GUI just to configure it is not worth the hassle, the increased complexity and codebase size. The idea is that if the software is one or a few executable binar(ies) with enough flexibility, then contributors who’s proficient with GUI toolkits can write the GUI wrapper (as a separate package), otherwise it’s actually just a waste of time for the main dev(s). If that sounds reasonable, then you could write it yourself, pay someone to do it, or wait for someone to volunteer their time.
To address the problem itself. Maybe you should explain what problems you have with editing the configuration files yourself? I know the cons are: (1) having to know or be able to read toml, yaml, json, ini, or some kind of config syntax (but I think they are designed to be generally quite easy to understand), (2) it takes a bit longer to find and open if you’re not used to it, (3) everything is a file so it’s linear, making it harder to see where things are, so longer configs are a PITA. Good tools I think benefit from a GUI or TUI is TLP, archive managers, calculators, volume controllers, font manager or viewer (kinda obvious), why would you want a GUI to configure, e.g., bat, pacman, i3, dunst, all the xorg stuff like xresources, xmodmap??
In return, the pros are: (1) if there are no external docs, the docs can stay inside the default or sample configuration in the form of comments, whereas for GUI you can’t possible include this information for every single toggle, (2) it’s harder to version control because of increased abstraction, (3) it’s not possible to translate every configuration field to a GUI if it’s beyond just a toggle, you would still have to type things in.
I think having an extra GUI wrapper is a matter of complex balance, and made into reality by contributors and volunteers (or eventually, the devs themselves). To say everything should have a FULLY functional GUI if you have to configure it is a bit of an exaggeration and overreach.
I agree there are times a GUI is just not needed, like for one off configurations that are straight forward and never touched again. I’m not a professional developer but I do write some code, and often the bit that does the work is a few lines and the inferface is a many more lines, just error correction / prevention adds more lines of code.
I have spent the last few days tackling an audio issue that is looking more like it will need me to start building my own kernel. I always do my own investigations and it is that process, the many years of taking the “lets try linux” trip, to realise the basics are what make the OS accessible. Things are so much better now than even 2 years ago, but Linux (all distros) is still missing some basics. Rather than relying on 3rd parties to make GUI’s the original developers should take the responsibility to provide a solid user interface.
Rather than relying on 3rd parties to make GUI’s the original developers should take the responsibility to provide a solid user interface.
The original developers are volunteers that made a tool they needed and shared it with the others of their own volition. They may or they may not make the effort to add anything extra on top of it. Demanding it from them is just unreasonable. If you don’t like their gift to the community, you can provide your own, with blackjack and GUIs.
Frontend and backend are different kinds of development. It’s like me expecting you to write a whole lot of unrelated code just because you want something else. Just because you don’t understand software architecture doesnt mean you can make wild claims with no basis in reality.
Simple one off configs are the easy ones to create GUIs for. The complex ones are a nightmare. That’s when you get very bad UX. Creating a good UX is a lot different for GUI and there are entire companies dedicated to only writing those and here you are claiming small time developers are under an obligation to give you what you want.
GUI seems easier to you because you learned it first. That does not mean it’s better.
I agree that having better GUI is a generally good thing and that most of us would benefit from it. However it’s false to state or believe that Linux in its totality is bereft of this. Distros like openSUSE, MX Linux and Garuda Linux have put in considerable effort into offering tools that enable one to config a lot of stuff through a GUI. However, it doesn’t make a lot of sense to complain about the lack of GUIs if you (or whosoever for that matter) don’t use one of these distros. Arch has minimalism as one of its design goals, so you either have to find the binaries/apps/packages (or whatsoever) that allow you to config through a GUI or you’re out of luck.
I was worried Arch would have me at the command line more than Mint or Fedora, but it hasn’t felt like that. I’m using KDE plasma so I’ve got all the same tools (or can install them if needed). The GUI elements missing in Arch are missing in Mint and Ubuntu, Fedora, PopOS, all of them. I happen to be struggling through an audio issue right now. Can you find an OS that lets you change the Audio sample and bit rates without messing with config files ? This is basic function, and the PulseAudio and Pipewire have been around long enough for a GUI to have been created, but no, it doesn’t exist.
The GUI elements missing in Arch are missing in Mint and Ubuntu, Fedora, PopOS, all of them.
I would agree that they’re roughly in the same ballpark as long as you had picked KDE Plasma on Arch. Though I would argue that Mint and PopOS have a noticeable lead, though I don’t think that point deserves more discussion. However, none of them come close to something like openSUSE’s YaST or MX’ Tools. That’s why I deliberately mentioned them. Perhaps worth a watch for those wondering how Windows compares to different Linux distros GUI-wise.
I happen to be struggling through an audio issue right now. Can you find an OS that lets you change the Audio sample and bit rates without messing with config files ? This is basic function, and the PulseAudio and Pipewire have been around long enough for a GUI to have been created, but no, it doesn’t exist.
I’m unfortunately unaware of any solution for that. Wish you good luck!
Here is an alternative Piped link(s): https://piped.video/watch?v=RSaUj_Okbnw
https://piped.video/watch?v=wZNgr9SWiAw
https://piped.video/watch?v=5-DD4AvtuyU
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Designing a GUI, especially a good one, can be a lot of work, so lot’s of people just don’t feel like doing so. Especially if the GUI app is literally just generating a config file, the benefit is negligible.
A lot of GUI stuff is reall “just” a frontend for things that others developed, made by guys and gals who are good with GUIs and decide that something they like deserves one. And I appreciate this as much as I don’t take it for granted.
The funny thing is, there is a GUI tool for overclocking AMD GPUs lol
yeah I’ll admit the AMD thing I had not finsihed digging into be I posted. I’ll not edit my post and wear my shame on that one.
If you want a gui, pick pop os, linux mint, etc. If you really like the arch package managers, install something like the KDE or GNOME flavors of endeavour or garuda. Stop deliberately choosing a terminal heavy distro.
At the end of the day, you can install practically anything on any distribution, and if anything, it’s significantly easier on Arch too. This however is not a GUI issue, but a knowledge issue. We’ve already seen that you can brick your entire installation somehow, by installing a Steam client.
This post feels a lot like a foreigner coming to someone’s country, and then screaming about how everything is wrong. You can either spend some time learning how everything works, or you can just… not use it
I disagree. This year I’ve run through Fedoro, mint and ubuntu, (Skipped PopOS but tried it last year). Other than the installer, I don’t feel like I’ve needed to use the command line any more in Arch than I have in the other distros. It is the desktop environment that makes most of the difference anyway, and anything not present out of the box can be installed easily. Pamac is very good, and not hard to install, so there is an app store like feature if you want it.
Linux is not a company fighting for profits and market share, with software developers paid to work according to the company’s strategy.
You want something in Linux that nobody cares to develop? Decelop it yourself or gtfo.
A few hours ago I was helping a GUI-oriented colleague to get network working in a SUSE test installation. He had configured it in yast (a GUI admin interface), but he couldn’t get to the internets.
I logged in, got me a command line:
ip a s (it had an inteface with an IP, and it was up).
ip r s (it had a default route to the world)
ping 8.8.8.8 (it worked)
host google.com (didn’t work, it’s always dns)
vi /etc/resolv.conf (added search and nameservers, there were none).
problem fixed (also suggested him to check his /etc/host, as domainame wasn’t set either).
Why on earth do I want a gui to make simple things complicated - and silently fail while trying to do it? (yast couldn’t find wpa-supplicant, although this is a VM with no wifi).
IMO, administering Linux through GUI tools is dangerous, because you probably don’t know, or don’t want to know, exactly what the tool is doing. It makes Linux as “inexplicable” as Windows.
So your friend configured it wrong in the gui (or didn’t know what to configure)
No, the SUSE demo license had expired before he configured it for the first time, so there was no repo access.
He did everything right in yast, but according to the yast log, it was trying and failing to get wpa-supplicant, although this is a VM with no wifi whatsoever. Yast “finished” the configuration with no errors, but failed to place the required entries in resolv.conf and hosts.
It’s just one example of a useless gui trying to make simple things complicated.
Also should mention if it is VM you may have to go into YastNetwork and add network device if it doesn’t see it
It had all networking up and running. It just didn’t have resolv.conf entries, so no dns.
Strange, I always enter mine in the GUI and it works…just a glitch?
I have used yast to configure the network before (not on this host), and it works.
I quickly looked at the yast log, and there were errors looking for wpa-supplicant. I -think- it’s because my colleague installed this VM months ago, did not configure it, then went on vacation. Now the SUSE “no license” grace period expired, and the host has no access to the repositories.
If that’s the cause, there are two issues: 1. why does it want to install wpa-supplicant if there’s no wifi (maybe it’s a wicked dependency), and 2. why does it fail silently, concluding the config operation as if it ran ok
Good questions :)
Nah, there is also a GUI menu to adjust hosts. i have run it on various machines for 7 years with no issues. Not saying you won’t get quirks but SUSE is solid. SUSE and Redhat are the only two certified disteos for used with our MCAD software, so they pass the rest of being reliable
Yast had the search and nameservers information in, and it even loaded them back when reopening yast (which surprised me, I expected it to read/store from resolv.conf itself). I work with SAP HANA, SUSE is also the supported OS for it (I’ve a SUSE sysadmin certification).
I commented about yast being a gui that failed (silently) doing something simple that shouldn’t need a gui; I didn’t say SUSE isn’t reliable.
It’s only simple for people comfortable in CLI and knowing where to look, onboarding less savvy users should have GUI in mu opinion.
I love the command line nature of Linux. It’s waaay easier to automate tasks than with a GUI.
I recently found out I could scan images from the command line. A few minutes of hacking later and I had some scripts that greatly sped up the process of scanning books over using the GUI.
And I can see your point of view, but the thing is that “Linux devs” do this for fun. And writing GUIs isn’t the most fun kind of programming for a lot of people.
If you need it done, you can pay someone to do it, or program it yourself. Otherwise the only other option is to wait upon the kindness of strangers.
As from the beginning, OSS devs will work on whatever they want to. Free work is not market-driven.
Not everything needs a GUI, but configs should definitely always be available as a consistent json file in a known location. I actually vastly prefer configuring settings in a text file where I can ctrl-f than most GUI’s.
You get the GUI you pay for unfortunately.
I didn’t pay nuffin and I got 100% GUI for everything I use. Where did I go wrong??!
Someone else must have paid for you :)
The “Devs, do this thing for me” attitude rubs me the wrong way. Everything in the OS world comes either from a labour of love, or someone paid someone else to make it happen. We have no right to demand anything, only politely request it.
(To be clear, not having a go at you, more directed at the OP)
Hey, I’d pay a reasonable price for an OS that had everything I need and no spyware bullshit.
I’m fine with config files, as long as they are where you expect them (~/.config/tool or ~/.tool). What I dislike is yet another funny config syntax because the dev couldn’t settle on an established standard. Command line syntax is ok, if you give me sensible completions.
I’m with you. I’m a seasoned newbie, and I’m ok with config as long as I can find something to help me get through it where I’m. It completely lost and the guide isn’t 30 pages of gibberish that only makes sense to someone helping build and maintain the source/branch.
I do love the familiarity of a gui as it lets me be “lazy”.
That said I started on Ubuntu, didn’t really like gnome, tried kububtu, was meh on it. Then got to dislike cannological. I’m currently using mint, and have tried several distros as a vm. Fedora and Debian are 2 I’m trying to understand better.
That said arch and gentoo both seem like distros beyond my skill set, and I think I’d struggle with them as I don’t feel like the communities align with my needs. I feel like I should get better at stripping out what I don’t need in my distro before I start bare and build up finding only what I need.
The cool part of Linux is it’s kinda hard to go wrong with the choice as a platform. Picking the distro has been a harder choice to find what community aligns to my needs. So virtualbox, ‘kinda’ to the rescue.
as long as they are where you expect them
This has to be my number one gripe about Linux. How every package just spews binaries and libraries and config files all over the place. “Where the fuck is the actual executable and its configs? Is it in /usr/bin? /usr/sbin?/usr/local/sbin? Who the fuck knows.”
God help you when you uninstall and clean things up if you use compiled packages instead of ones from your repository.
If the package comes from the repo, you can uninstall it by the same name you used to install it. If it came from a .deb file (in case of debian), you can find out how the package calls itself and use that name to uninstall. Usually the package name is quite identical to the file name. And
dpkg -L
shows you which files came from the package and where they were installed.edit: mixed you up with OP, but, meh, unaltered reply:
Where the fuck is the actual executable and its configs?
which ...
with … being the name of the executable. Whyever it matters to you in which exact path an executale is …God help you when you uninstall and clean things up if you use compiled packages instead of ones from your repository.
make uninstall
orxargs rm < install_manifest.txt
will usually do the trick. If neither is an option, observe the output ofmake -n install
and undo the installation manually.Judging from your post and comments, you’d be much better off with a distro other than arch and using packages from a distros repository plus maybe flatpak or snap.
This has to be my number one gripe about Linux. How every package just spews binaries and libraries and config files all over the place.
99.9% of the times those places are pretty well defined and easy to look up. You seem to lack some basic knowledge about linux/unix conventions and make false assumptions about how things should be and then come to judgemental conclusions when they aren’t.
Finding the actual location of the executable is what the
which
command is for.
https://gitlab.com/corectrl/corectrl
CoreCtrl is a Free and Open Source GNU/Linux application that allows you to control with ease your computer hardware using application profiles. It aims to be flexible, comfortable and accessible to regular users.
This is next on my list of things to check out. I need to fix my audio issues first.
Entitlement: the post!
Do it yourself.
That is an option.