this post was submitted on 21 Aug 2023
-101 points (23.8% liked)

Linux

48375 readers
1224 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 66 points 1 year ago (4 children)

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.

load more comments (4 replies)
[–] [email protected] 49 points 1 year ago (1 children)

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.

[–] [email protected] 12 points 1 year ago (1 children)

I thinks only applying this to companies (looking at you, Nord VPN) would be ok, but yeah demand something from volunteers is outrageous

[–] [email protected] 3 points 1 year ago

This comment brought to you by Raid Shadow Legends

[–] [email protected] 46 points 1 year ago

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.

[–] [email protected] 34 points 1 year ago

Feel free to open a pr.

[–] [email protected] 23 points 1 year ago (6 children)

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?

load more comments (6 replies)
[–] [email protected] 17 points 1 year ago (2 children)
  • chooses Arch
  • complains there's no GUI

I guess you learned something

load more comments (2 replies)
[–] [email protected] 17 points 1 year ago

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.

[–] [email protected] 16 points 1 year ago (1 children)

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.

[–] [email protected] 5 points 1 year ago (1 children)

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

[–] [email protected] 4 points 1 year ago

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.)

[–] [email protected] 13 points 1 year ago (1 children)

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.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (3 children)

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.

load more comments (3 replies)
[–] [email protected] 10 points 1 year ago

Linux ist mostly used for servers, where you rarely need/have a graphical environment. A big part of development is making sure to keep the kernel safe and prevent endangering critical infrastructure.

That said, I agree if Linux is to be adopted more widely as a desktop system, good graphical UI is crucial. It's just not the focus of most Linux devs.

[–] [email protected] 8 points 1 year ago (1 children)
  • PowerUPP: GUI functional AMD GPU configurator for all voltage configuration, frequency tuning, SoC and memory frequency and voltage tuning

  • CoreCtrl: GUI usually-functional AMD GPU configurator. Fan curves, over and under clocking, power profiles, frequency and voltage tuning

You have to enable 'amd.ppfeaturemask=0xffffffff' in your boot options, but that is clearly stated in the user guide.

For sound, PAVUcontrol or the KDE volume setting GUI have been able to fix 80%-90% of my audio issues. I haven't used a command line for audio in a long time.

I agree that GUIs make it easier for mass-adoption but things not working out of the box and having to search for solution is just as much of a Windows problem as Linux. If someone has non-standard hardware, it is always a bigger problem to switch to another system. Windows still will randomly shut off my Yeti microphone input and switch to my monitor with no microphone as the system microphone on boot sometimes.

The difference is in windows for weird setups you have to run obscure possible virus runme.msi from 2015 where linux you have to put in an obscure command that you aren't sure what it does from a forum post from 2015. The only one that has mostly nailed that down is OSX.

load more comments (1 replies)
[–] [email protected] 8 points 1 year ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 8 points 1 year ago (1 children)

"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.

[–] [email protected] 3 points 1 year ago (2 children)

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.

[–] [email protected] 6 points 1 year ago

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.

load more comments (1 replies)
[–] [email protected] 6 points 1 year ago

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.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (3 children)

So... You are complaining about there not being enough GUIs while using the distro that specifically requires setting up through a terminal... If ya want a GUI for everything (which isn't a bad thing, I understand that) you shouldn't use Arch. Use something like fedora or Ubuntu. I've genuinely opened the terminal in fedora maybe 4 times in the few months that I've been using it. Also, sometimes a GUI just doesn't make sense, especially for programs that are not designed to be used in a GUI... Making a native GUI is hard, both gtk an qt are eldritch horrors beyond imagination to me.

load more comments (3 replies)
[–] [email protected] 6 points 1 year ago (4 children)

What does GTFO mean in this context exactly?

load more comments (4 replies)
[–] [email protected] 5 points 1 year ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (2 children)

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.

load more comments (2 replies)
[–] [email protected] 5 points 1 year ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 5 points 1 year ago

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.

[–] [email protected] 5 points 1 year ago (1 children)

I used to wish for GUIs, but at some point all the textual config clicked and I am now actively avoiding GUI. It's only intuitive for simple toggles and is usually a lot more limited with complex config requirements.

[–] [email protected] 6 points 1 year ago (1 children)

The bonus you get with GUI's is you can be reasonably sure you are doing it right, rather than having to double check syntax or which copy of the 4 different conf files you have used.

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (1 children)

You get the GUI you pay for unfortunately.

[–] [email protected] 6 points 1 year ago (2 children)

I didn't pay nuffin and I got 100% GUI for everything I use. Where did I go wrong??!

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago)

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)

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (1 children)

I was there during the early days. 93/94. Eternal September was in full swing, a year or two before the a.out / ELF Wars turned usenet into a bloody battlefield of technical debate. I was there when 'make menuconfig' was still new to the Kernel build process. Was hell of a lot easier than running 'make config' and answering 500 questions in a row. Back when the only way to install SLS/Slackware was to write 50 floppies and feed them all to your target system.

Even then there was a vocal, arrogant group who just didn't get it. "Devs, if you do this, then Linux will be better". That's it. No offer to help, no offer to implement. Not a single line of code. Just long, irritating screeds to "do better".

And you know, I was there for a bit, too. The sound drivers for my desktop didn't work. What did I do? I figured it out, built out the appropriate drivers and became the maintainer for the soundcard drivers for about a year or so. Not only did I learn a lot about sound drivers in general, I learned the build process, how to submit patches and... And receive shit little comments from end users on how I could "do better".

mhub, Linux "gets better" when "you make it better". What have you done to help? You're not even posting on the Archlinux boards or groups where someone might actually have an idea and can help. You're whining and kicking your little heels on Lemmy/Kbin and providing nothing of value.

This is your wake-up call, dude. If you can't figure it out, then Apple will be happy to sell you a good Un*x workstation. Otherwise, you get to learn along with the rest of us. You are not special. If you can't figure it out, then write your own.

[–] [email protected] 3 points 1 year ago (1 children)

If I had the time I could probably learn the required languager and code my own solution. But that is never the point. You don't need to gate keep an OS that is founded on the ideals of openness. The point of Linux is it can be what ever OS you need. The work done to make desktop enviroments more accessible and function is amazing, and if I'm able to help I will. For example, once I have the solution for my audio issue I'll be posting my fix in a few places. I've done this before for Windows and Linux stuff, and believe in sharing the knowledge. I won't give up until the answer is found, even if the answer is "it won't work". Pushing users away because they don't want to spend days trying to figure out something as basic as audio is not really understnading the point of my post, or helpful to anyone really. Feel free to keep your knowledge to yourself.

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (1 children)
load more comments (1 replies)
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (2 children)

Your issue seems less the command line and that things aren't "working", or the tools you want aren't pre-packaged.

Using Arch Linux was not the best idea if you want something that "just works", as it works on a philosophy where you install the minimum amount required and then add things, such as drivers or packages, as you need them. In other words, it's a distribution where you know what you need for your system. It is also a command-line centric distribution, so it's strange that "GUI" is your bug bear when you picked one that deliberately forces command line.

Regarding overclocking and GPU configuration, you just get CoreCtrl, which even has a GUI.

Now don't get me wrong, I absolutely agree that everything should have a user interface as much as possible, but the whole "Linux means you have to use command line all the time!!" is simply just not true anymore, and I feel this issue comes from people recalling memories from 10 years ago or using distributions where command line is necessary, rather than something like Ubuntu or Linux Mint where it mostly isn't.

load more comments (2 replies)
load more comments
view more: next ›