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 guess you’re not an opensource developer. Let me put it in terms that you understand:
Let’s say you’re a pizza delivery dude. You have to be out every day, delivering people to rude customers, no matter the weather. It’s hot and your balls are sweating off, if cold and your fingers are freezing, there torrential rain and you get soaked for every delivery, but bossman don’t care - you have to do it!
To relax, you have a hobby as a wood worker. It’s your passion! You make small things to make life a little easier or things that look cool to you.
One day, you buy a cupboard that’s been all the rage. Every store out there has it and it’s flying off the shelves. But after a few months there’s something annoying about the way it works. Not a problem for you, the handyman, the woodworker. It takes a few weeks, but you’ve designed, built, and tested a few solutions to arrive at something that works. It’s not beautiful, it’s not trendy, sexy or anything, it just works.Thinking to yourself “hey somebody else might find this useful”, you put the designs online. To your delight, there are a few people using it. Very few "thank you"s, but that’s fine, at least it helped somebody.
Then one day, some dude writes a comment about your solution titled “Build something beautiful or GTFO”.
Tell me, how would that make you, as the hobby wood worker feel?
I get it. I’m not a pro developer but I code quite regularly. I realise all the support you need to give for anything you develop, the time and effort involved. And frontends often take more time build than the thing it presents. My point is, there are basic gaps that need should have been addressed by now. the KDE and gnome devs could focus on those items rather than the next impressive theming function.
That’s a valid opinion. It’s yours. I disagree with your phrasing however. “GUI or GTFO” is not a nice way to present your case.
Also, it’s mostly their free time. They get to choose what they do with it. If they decide writing a window effect would be cool in brain fuck, because why the hell not, it’s completely up to them. They have no obligation to dedicate their free time to anything anybody else wants, so telling them off is at least disrespectful and at most a reason for them to stop.
The main developer of a popular rust framework (actix) was bullied enough that he quit and only when he quit did a bunch of people come out of the woodwork to support him - not before.The main developer of a popular rust framework (actix) was bullied enough that he quit and only when he quit did a bunch of people come out of the woodwork to support him - not before.
That situation was more complex - it started when a security researcher found a flaw in the codebase, raised that concern including a patch to fix it with no negative impact on performance only for the patch to get rejected for being too “boring”. The bullying was a big step too far in that situation, but the maintainer of actix was not fully blameless by dismissing others honest work for no good reason.
It was his project, he can do whatever he likes with it. Rejecting “honest work” happens. I’ve had stuff reject with just a “sorry, no” even though it fixed a bug and “I don’t understand it, therefore no”.
A least he didn’t pull a Linus on him and call him a “fucking idiot”.A least he didn’t pull a Linus on him and call him a “fucking idiot”.
No, he just called the patch boring and not creative enough. Rejecting a security fix because it was boring does not shine a good light on your management of the project. The community had concerns about his approach to the problem and he chose to double down and not fix the issue. Then the community got out of hand.
His users have just as much right to complain about the issue and rejection of the patch as he has to reject the patches. Both sides handled this case poorly and it resulted in a sad outcome for everyone involved.
Hard work is often missed but rarely thanked. My heading was rather flapant. Hopefully my comment replies show I have more appropriation for Devs than the title suggests.
Hey Linux devs - Build a GUI or gtfo
No you can GTFO if that is your attitude towards people volunteering their time to bring you an open OS and all the tools you need for free.
Yes, there is still a lot of room for improvement but attacking devs for not providing a GUI is not a good way to interact with the community. If you really want to see improvements then you need to help make those improvements with constructive discussions not hostile statements. We owe you nothing.
My title was intentionally flipant. But I thin the automatic assumption that command line is always fine for linux desktop needs to evolve. Not to say it hasn’t, but there are definitely some basic gaps.
My title was intentionally flipant.
No, your title was rude and condescending. “Flippant” is a different thing.
Not evolving is a feature. I started using linux in the 90s, and you know what? About 90% of the stuff I learned then is still completely relevant.
I hate GUI apps for most things, because you have to search to figure out how to do anything. With CLI apps you read the man page and you know how to use it.
Flippantly insulating the Linux devs is not the way to improve things. It has evolved and continues to do so. There are far more GUI tools for managing things then there has ever been. The only thing you have mentioned in your post is AMD GPU overclocking - not something I would consider a novice task nor something most people are going to want to do. So the priority to get a GUI to do this is quite low. Hell, it looks like there are no userland tools at all - only raw kernel interfaces. So it is really something we are lacking any tooling at all - let along GUI tools.
Better to advocate for these tools than insult devs for not having yet created them.
deleted by creator
I know, but I’ve run Mint, ubuntu, and Fedora in my exploration this year. Honestly I don’t think there is much difference in terms of how many command line actions between them.
deleted by creator
thanks. I actuially have Pamac installed, and it works really well. I haven’t tried using Yay though and pacman has done the job so far. Is there a good reason to deploy yay as well?
deleted by creator
Try OpenSuse. Tumbleweed is a rolling release that is fairly stable and it has Yaast, which allows you to control everything with a GUI, even if it looks quite dated
what command line options are you needing for audio? i use kubuntu, and the only reason i hit the CLI is to provide a special output so i can implement multiroom audio, with Snapcast.
Otherwise, i think i could install most stuff without it. OO, maybe spotify needed to add an apt repo, however i think there maybe a seperate installer (snap?) which would negate that.
i feel like you were not going for a vanilla instance if the latest kubuntu/ubuntu needed work.
I have a post about it here: https://lemmy.ml/post/3624730
The guy is really demanding something from volunteers devs? Not everyone is thinking “We need to make something easy to use so people can migrate from Windows to Linux”, people just build stuff to use and share it so maybe someone could find it useful.
I thinks only applying this to companies (looking at you, Nord VPN) would be ok, but yeah demand something from volunteers is outrageous
You can always create a GUI yourself, if you think it’s so simple. It would be greatly appreciated and giving back to the community would be nice.
Feel free to open a pr.
Do it yourself.
That is an option.
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.
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.
There’s a difference between complaining and providing constructive feedback. This post falls in the former category. If you are a user of a free product and you don’t like how it works, you are entitled to a full, no questions asked, refund. You’re welcome to make suggestions but devs who work hard to provide something at no cost and on their own time owe nobody anything. I’ve seen this play out year after year in the open source community and it’s led to a lot of very good projects shutting down when the developer gets fed up with the demands and behavior of the community of users.
OpenSUSE OpenSUSE Leap or Tumbleweed already have GUI for everthing. it is YAST2-GtK GUI. package manager, network, user management, servers, kernel settings, boot, filesystems etc its all there
Can you set the Sample and bit rate for audio interfaces?
I personally have not adjusted either, but Yast Sound allows adding new options and values to audio config when you Applu it writes to various files. or you can use the Pulse Audio or Jack GUI to access.
Interesting. A potentially useful approach. Sounds like I need to take a look at OpenSUSE.
Apparently it has something called “advanced options” in the setup for sound cards, so maybe it can.
Genuinely interested if it does.
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.
Believing that GUI is a common language is funny.
CLI is literally a common language as long as devs follow the actual rules. GUI? No. There are no rules for where configuration is. File->Settings? Maybe. Or maybe it’s under Edit. Or maybe it’s behind a gear symbol. You point out you like the variety of desktop environments but ignore that it’s not easy to get something to look great in everything. It’s like back in the day trying to get a website to look nice. It was either basic HTML that looked good in IE and Netscape (I know there were others, but let’s be real) or you had something fancy that only worked in IE. So yeah, folks spend their valuable time on providing functionality instead of looking pretty. Sorry not sorry? Until more money goes towards those projects, you’re going to be missing unnecessary bells and whistles. There’s a reason Mac looks pretty. Money.
I will take new features, performance improvements, and bug fixes over adding a GUI every day of the week.
Devil’s advocate:
ffmpeg
is not common language, it’s an eldritch incantation beyond human comprehension.common as in Switches are binary, so thats easy. Error checked fields are also easy to work with. Drop down lists, radio buttons, all pretty standard stuff. Yes there is some variety but there is little doubt that switching something will do what the label says, where as a command line and conf file require a lot more work, espeically if you want to make frequent changes to those settings.
I understand the people give their time to the Linux project without charge, and it is a little cheeky to make demands, but there are some obvious basic gaps that need addressing. Rather than focusing on fancy themes, maybe some more configuration management stuff would be useful?
Those items you mention have standards but aren’t required. Some people use a flip that goes back and forth where it just changes color. Is it on when it’s color x or color y? Dunno. Finding the settings is also the big problem. VSCode takes an interesting approach to it as a GUI but it’s hardly ideal. GUIs do not have written constraints that CLI does. I’ve seen radio buttons where it says on/off but the description doesn’t actually make it clear of on means it’s active or off means it is. I’ve seen the descriptions change based on it being toggled and the description matching what would happen if you click again.
GUIs are not standardized and again, sometimes it’s simply just getting them to display properly in every environment. It’s not simple.
It’s been fine for decades. Just because people are getting dumber with complex computer systems doesn’t mean we should put in extra effort and ignore more worthwhile work. The only correct answer here is if people making the demands want to go ahead and do it themselves. They’re the ones who want it so badly.
I don’t see this as a serious issue. It’s absolutely not a necessity. If a developer wants to do it, they will. If not, demanding they’re failing to do something is a bit entitled. The tone of this whole post was entitled. Especially considering the distro chosen. CLI is by far superior to GUI. Always has been. Finding information on configuration is always easier and faster on CLI than trying to find it in a GUI unless it’s the most mundane of applications in which case both are extremely easy. Telling somehow how to do something is insanely easier with CLI than taking screenshots or describing where you need to click. GUIs are a handicap for folks who can’t figure out the simplicity of CLI. GUI is a nice to have for some things but rarely a better option overall.
Wrong.
Lots of tools in Linux have GUI. I can configure my WM (cinnamon), browser, terminal emulator, music player, communicators, email client, network and many more using a GUI.
What I can’t configure using GUI are the truly powerful tools: awesome wm, nvim, ranger, kitty. Why? Because you can extend them by writing custom code (mainly in lua). Why would you build GUI for writing lua code in every tool? Doesn’t make sense.
Sometimes there is so much configuration options a GUI would scare most users. Or as you said, a GUI may not be feasible or useful
Sometimes there is so much configuration options a GUI would scare most users.
Or if it didn’t, it would be because the dev limited the options displayed so much that it would cease to be useful for most users. (This is especially true when different users are likely to use different subsets of options rather than having the majority of them using the same subset.)
YaST in a nutshell…
Takes a whole bunch of system command line stuff (and even stuff already in other GUIs) and throws it into a Windows-like control panel type thing.
Now, it’s great that it’s an option.
What’s not great is opening it and seeing dozens of fucking options, not knowing what half of them are if you’re new to Linux. (To be honest, it’s even overwhelming if you are familiar with Linux.)
So the people it’s supposed to appeal to end up with a complicated control panel they don’t understand, and the people who actually know what all the entries are for end up sticking with the terminal and ignoring it altogether.
Although, all things being fair, no one new to Windows would really understand the control panel either, but at least it’s so widely used that any instructions you get about it usually won’t have you going into the registry or cmd.exe or PowerShell or something.
On Linux and using YaST? Here’s the response you’ll usually get: “Okay, so click the exit button and look for something called ‘Konsole’ or ‘Terminal’ in your applications. Open that up and paste this command…”
The pasting of random commands is something wikis should avoid. The best option is saying the command and then explining what everything does but this is something that happens pretty rarely
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.