If we want the year of the Linux desktop to actually happen we need to have good GUI tools for almost everything. The second you say “command line” most people’s eyes glaze over and they say they’ll stick with Windows. Believe it or not guys, most people just want something that functions out of the box and they don’t want to mess with it.
I CAN interact with CLI, but i WANT to interact with good GUI. I don’t want to learn CLI commands when I don’t have to. Especially in the cases where I use it rarely
Are you kidding? There’s nothing I love more than hand typing a 400 character file path.
Tab?
Yeah and that’s totally fair enough, but people who like using a command line and know the tools well rarely if ever have to type out long paths or commands. Tab completion and history suggestion (especially in a modern shell like fish or zsh) is a joy to use, and doesn’t just do file paths but command options and arguments. Man pages are very overwhelming at first, but if you’re practiced at scanning them, then it’s a lot more convenient to get the info right where you are than to navigate to another window. But the learning curve is steep and I get why someone wouldn’t want to bother.
fish
let’s compromise with a TUI
In the same way some GUIs are trash, lord have mercy some CLIs are trash. Things like adding two verbose flags makes it extra verbose. Things like the parameter order mattering. Yeesh. It can be rough. It really varies tool by tool.
two verbose flags makes it extra verbose
tcpdump intensifies
But what tool did you have in mind?
Things like the parameter order mattering.
I imagine this is unavoidable in many cases.
Yeah, I guess that’s true. I suppose given more time to think about it I wouldn’t really complain about that. It’s mostly things like
script in outthat are sort of annoying versus something likescript --in foo --out bar.I believe API (CLI or programmatic) should never have 2 arguments of the same type but different roles next to each other without visual cues.
No
fn("in.txt", "out.txt")and noscript in out
I’ve been at risk for carpal tunnel before, which is why I primarily use a keyboard.
…on a GUI.
Linux is great for a lot of things but so many open-source apps are terrible about giving you a visual interface for something, and then letting you use your keyboard to navigate it. Granted, Windows has steadily enshittified its lead on that front as well.
I like GUIs if they aren’t web browsers pretending to be a desktop applications.
I like well ordered man pages.
You like OpenBSD.
They are good for discoverability, but suck when you have to do the same thing 5 times.
– signed, a guy currently having to use a GUI to update the firmware on 5 headsets, and put our standard settings on them
The best compromise is to have a right click menu option that copies the cli command for the function you are trying to perform.
I shall endeavour to include this feature in the tui program I’m writing, and soon to implement menus in.
Thank you <3
You disgust me
Me too bro. Me too
The main advantage of CLI is that its easier to instruct people on what to do and easier to get answers from people about how to use a CLI, and you can copy paste. If you know how to use the GUI though it can be a powerful tool as well.
Depends on what I’m doing. Some things I prefer cli. Some things GUI is easier or quicker. There’s no wrong way to do anything.
Don’t let random nerds on the internet make you feel any way about how you use Linux. Live your life and be happy. There’s too much bullshit in the world to pay attention to jerks with keyboards.
I do like the “lazy” trend though. Lazygit, Lazydocker, etc.
I have a good example of “both are useful” on my second screen right now, but it’s a difference in output and not input. I was watching system resource utilization a few minutes ago while running something, so I have plasma’s graphical System Monitor on half the screen while I have a big ole terminal window with htop running next to it.
The GUI side uses the speed and bandwitdth of our visual processing to communicate complex historical data about a handful of values very quickly. It does it with graphs that, while accurate and to scale, are a bit analog and imprecise feeling to the eye.
The text-based side uses the speed and bandwidth of the hardware to show me a huge 2D array of values that constantly updates. It does it with monospaced text in a high-readability font that is very clear and precise.
The GUI does more processing on the computer first to communicate quickly about the targeted values, while the text side leaves more of that processing to be done on my end. But that’s not a negative, because I can search through those hundreds of values as quickly as my eyes can dart around the screen. There’s no navigating a GUI that quickly.
In general when it comes to GUI vs CLI, I like GUIs too. I am just old enough that I remember how awesome it was to start using graphical desktops and file managers and computer mice and all that. But I’m an engineer who uses the terminal every single day, and I often just leave it open when I’m at work with a bunch of monitors. To me, any decent computer must have a powerful CLI and text-based configuration and scripting and all that.
For most USERs, the GUI is all that matters. And since the GUI needs to be simple and rock solid, it can be advantageous to just leave the arcane shit in the text files and not try to cram everything into the GUI. If I want to change my screen resolution, system fonts, or change my network connection, I expect to find that in the GUI and I’ll just go there. But when I want to be the dork customizing the colors on my GRUB screen or tweaking the swap/cache behavior of my OS, I’m quite glad to edit text for those.
the speed and bandwitdth of our visual processing
That’s really it. Some things need the bandwidth of visual processing, but others are more efficient at the lower, more specific bandwidth of a CLI. Think of drawing a picture. You could do it with a CLI. Lord knows I’ve figured out how to do it to process image uploads. But unless you’re doing it over and over again it’s way easier to use a GUI to do it.
Then again, if you have to rename an arbitrary number of files to a specific convention you want the ability to automate it, and with that many bits flowing - imagine the bandwidth of a 8.29 million pixels, each with 250,000 colors - it’s really difficult to pick which bits in the stream to flip.










