That’s it, I need to hook up a controller to my PC so I can open Htop with a button press
Almost as painful as using vim on your phone without an external keyboard
Just use a MIDI controller or an Arduino button box. You can do it!
What are you, a Tintin villain based on Greek stereotypes?
Personally I just run gotop at startup and keep it on my second monitor. I know it’s a small waste of resources but I enjoy watching the blinkenlights.
If you’re on Xorg, you can also use xwinwrap to make gotop (or any other app) your wallpaper btw. Kinda useless on a tiling WM tho
Make all your windows translucent!
The only thing worse than reading documentation/tutorials about how to do things in GUIs is writing documentation about how to do things in GUIs. It’s just screenshot after screenshot. And following it is like playing a ScummVM game, only less fun and lots more alt+tabbing.
Screenshots? Look at Mr. Speedy Pants over here!
In my experience, half the time it’s a bloody YouTube video. Nothing says “fun” like having to seek back around in a video to find the next step without waiting 20 extra seconds because you already had to seek back and pause the video after it breezed past an overcomplicated and poorly explained step.
Unregistered hypercam 2 + notepad instructions + evanescence is an aesthetic tho
And the audio is text to speech because it was created by some 12-year-old neckbeard (is that a contradiction?) who is too embarrassed to use their voice on the video they made just to get likes and subscribers.
My experience has usually been someone with a very thick accent and an incredibly crappy microphone.
If the GUI is good, then it’s self documenting.
I’ve got a new favorite quote: “I don’t need tutorials, I need verbose tooltips.” -Wonderbot
Are there people who are mad at other people for using the terminal? Is this really a thing that exists?
Not really. But you know, gotta find ways to feel smarter than other people so here we go.
And those Windows evangelists! Don’t we all know 'em with their strong opinions about operating systems? *shakes fist at cloud*
Yeah you just can’t be in a server room anymore without some dude trying to sell you on Office365 and Cortana, sigh.
Do you have a moment to talk about our Lord and savior, the Microsoft App Store, and his enlightened prophet, Candy Crush Saga?
In a pretty high end high tech company, there’s still lots of people who see a terminal and think “ha hah, they are still stuck in old mainframe stuff like you used to see in the movies”.
My team determined long ago that we have to have two user experiences for our team to be taken seriously.
A GUI to mostly convince our own managers that it’s serious stuff. Also to convince clients who have execs make the purchasing decisions without consulting the people that will actually use it.
An API, mostly to appease people who say they want API, occasionally used.
A CLI to wrap that API, which is what 99% of the customers use 95% of the time (this target demographic is niche.
Admittedly, there’s a couple of GUI elements we created that are handy compared to what we can do from CLI, from visualizations to a quicker UI to iterate on some domain specific data. But most of the “get stuff done” is just so much more straightforward to do in CLI.
I don’t think so, but I do criticize not having an option, that is why I stopped using Cisco personally and professionally, some things are fast using the cli, some things just need an Ui, you need both.
A cli is a ui. I know that’s pedantic but this is Linux memes
another name for CLI is the TUI (Terminal User Interface)
See, in my mind, a CLI is a line buffer-based interface, whereas a TUI is an interactive character-based interface.
sed
orbash
is CLI andvi
orrogue
is TUI.I think of tui as “text user interface” and use it as a broad category but mostly for more advanced clis that have a graphical quality to them despite being text based, such as ranger or slack-term. Some tuis even have mouse controls!
You make a fair point
Like I get and appreciate the CLI and for networking, that’s pretty much all I’m using anyway, but I am shocked that enterprise networking doesn’t even bother to do any GUI. Once upon a time Mellanox Onyx bothered to do a GUI and I could see some people light up, finally an enterprise switch that would let them do some stuff from a GUI. Then nVidia bought them and Cumulus and ditched their GUI.
There’s this kind of weird “turn in your geek card” culture about rejecting GUIs, but there’s a good amount of the market that want at least the option, even if they frankly are a bit ashamed to admit it. You definitely have to move beyond GUI if you want your tasks to scale, but not every engagement witih the technology needs to scale.
I have a coworker that likes to pick fun at my usage of CLI tools. He said it’s confusing “why would I use a terminal when the GUI was made after?”. They vehemently hate anytime they have to work with CLI.
I watched them use an FTP program to download and change one value in a .conf file. Like they downloaded the file, opened it in notepad++, changed one thing, saved it, reuploaded / overretten the original. I tried to show them how to just use nano and got told their way was “better since you could ensure the file was replaced”. Its okay, I’ve secretly caught them using it a couple times lol
Fortunately, Linux terminals are gorgeous and easy to use. I never wanted to use Windows’ com because it was so ugly and user-hostile. I know Powershell is a thing now, but it still looks ugly to me.
To me apt is confusing but that’s because I’ve become so used to pacman. The only package manager that comes close to pacman for me is xbps.
Yeah apt tends to shit itself very often. I don’t like how it’s actually two different programs (dpkg and apt) glued together with perl and python. It all feels too fragile. A friend once tried updating a package, and it failed because… he was issuing the apt command from with a python virtual environment. Can’t say for pacman because I’ve never used arch, but xbps is just one set of self-contained binaries, which feels much more robust. Alpine’s APK fits that bill as well, lovely little package manager. Tho I guess apt predates both of those, so it’s not a fair comparison. Someone had to make those mistakes for the first time.
I also really dislike the Debian/Ubuntu culture of fucking around with the sources file to add other people’s repositories on top of the distro-default ones (ubuntu calls this PPA). It’s a good idea in theory, but in practice those third party repos always fuck up in some way and brick your package manager. Just search for “apt Failed to fetch” in your favourite internet search engine, and you will see hundreds of people confused about it. You can do it with almost any package manager, but for some reason it’s mainly the debian/ubuntu people who like shooting themselves in the foot like this.
Yes, that’s a real thing. They use it as an excuse to dog on linux distros & say “Muh linux not great yet”
Maybe I misinterpreted the meme, I thought the yelling guy is also a Linux user.
Speaking from experience… Yes. Absolutely yes.
meanwhile Windows users: let me drop into this random strangers discord who claims he will make my PC faster by dropping this .bat file that will run thousands of commands to “debloat” my install. also let me edit the registry and add random values to keys that I don’t know what they’re used for. this process is basically irreversible because I will inevitably forget which keys I’ve edited over time, wow windows is so simple and easy and intuitive 🤡
That’s not a windows problem, it’s a user problem. The same scenario could play out with a shell script that modifies a hundred dotfiles. Lots of solutions on Linux help forums are “Paste this into your terminal. Don’t forget the sudo!”
Amen. I remember having to frequently reinstall the system to keep it performant. Thanks windows rot.
I actually used to make backups (Export) of each edited key and keep them in folders with context, so I could later look them up or even set them again in case of a reinstall.
Now, they are lying, forgotten, on some NTFS drive that I haven’t opened in years.
I use Linux and I prefer GUIs. I’m the kind of person that would rather open a filemanager as superuser and drag and drop system files than type commands and addresses. I hope you hax0rs won’t forget that we mere mortals exist too and you’ll make GUIs for us 🙏🙏🙏
Tbf, the file explorer is actually one really good argument for GUIs over terminals. Same with editing text. Its either simple enough to use Nano or I need a proper text editor. I don’t mess around with vim or anything like that that.
Its all tools. Some things are easier in a file manager, some things are easier in a GUI.
You’ve angered the Emacs gods 😨
Good. They need to be humbled haha
I think it depends, if I have a simple file structure and know where stuff is, it’s pretty efficient to do operations in the terminal.
If I have a billion files to go through a file manager might be easier.
Nano, the best text editor
Yeah I prefer fancy text editor too. And my biggest heartbreak was learning that I can’t just
sudo kate
(there’s a way to use Kate to edit with higher privileges but I never remember how, edit: apparently it’s opensuse specific problem).Born to Kate, forced to nano
It depends. But yeah I’d rather use something like Handbrake than raw dog FFmpeg.
I tried to learn superfile thinking it could make terminal more exciting but nah.
Gimme that comfy file explorer gui.
Totally agree.
FWIW I do use the file browser too when I’m looking for a file with a useful preview, e.g. images.
When I do have to handle a large amount of files though (e.g. more than a dozen) and so something “to them”, rather than just move them around, then the CLI becomes very powerful.
It’s not because one uses the CLI that one never used a file browser.
Yeah, when I need to inspect lots of images I just open the folder in gwenview.
For peeking at a single picture or two through you can hold down control and click/hover on the filename when using Konsole. Love that feature. You can even listen to
.wav
files this way.Very nice, I don’t seem to have that option available but I can right-click on a filename to open the file manager in the current directory. Good to know!
I once did
rm \*
accidentally lol. I now have a program that just moves files to trash aliased as “rm” just in case. I just don’t feel confident moving files in CLIYeah it happened to all of us. The console is powerful and it means when you mess up, it will have BIG consequences. One learns to test first before globbing https://en.wikipedia.org/wiki/Glob_(programming) too much!
I would say “why not, to each their own” if not the thought about what else the filemanager is going to do with root access (like downloading data from web for file preview). But the general sentiment still stands, it is absurd to think that computer must be used only in one way by all people
i dont use the terminal to be productive, i use it to feel like a hacker
Setting the colorscheme to green on black increases hacker rating by 20%
I would recommend Cool retro term for that, but you need to run it on a CRT to make it full.
courier gets you another 15%
Change font into hack gives another 20%
cmatrix -rf
I mean, the reverse is also true, people have memorized which buttons, menus, etc they need to click/drag with do be productive. Sometimes i m OK with all the clicking, but most times I just want to do the thing now.
Type 3 words or click through 9 context menus. 😅
Yeah exactly ANY interface made by humans speaks a design language, and it’s only “intuitive” insofar as the user understands that language. There’s nothing inherently “intuitive” about GUI, it’s a language that you’ve learned through a long process of trial and error. This is painfully obvious to anyone who’s ever had to help Grandma reset her gmail password out over the phone. Same for CLI. At first you’re copy-pasting commands from tutorials and struggling with man pages, but after a while you get used to the conventions. You learn that
-h
helps you out and--verbose
tells you more and so forth. You could make the case that the GUI design language is more intuitive because it’s based of physical objects like buttons and sliders that many people are familiar with, but honestly ever since we abandoned skeumorphic design that argument rings a little hollow.That’s a very nuanced analysis. I’ve explained it this way especially to people who describe themselves as “bad at computers”. Hey, give yourself a break, you’ve learned a lot about how to cope with windows. But this investment leads to a conservatism— they dont want to learn coping skills o a new system. The devil you know.
I’d just add that GUI is more discoverable. When faced with a terminal, what to do? Whereas with a GUI you have a menubar, some icons etc. The GUI gives a lot more hints.
In the terminal (which I love) it is more powerful once you know how to crack the lid.
Exactly. You need documentation to figure out how to do anything in a CLI, and if you forget it’s back to the documentation, but a GUI exposes all its commands immediately, allowing the user to find things on their own.
Except the iOS UI, which is heavily reliant on gestures with varying numbers of fingers, pressure dependent touch commands that are difficult to pull off consistently (seriously, how the hell do you deliberately do the multi-select drag thing?), and hidden menus that are exposed by dragging in from specific portions of the screen at specific angles with no hint that they’re there.
CLI is effective because every command serves a specific purpose. UIs are the opposite, you have to imagine all possible intentions the user could have at any given point and then indicate possible actions, intuitively block impossible actions, and recover from pretty much any error.
CLI is effective also because of its history (i.e. one can go back, repeat a command as-is or edit it then repeat) but also the composability of its components. If one made a useful command before, it can be combined with another useful command.
Rinse & repeat and it makes for a very powerful tool.
The Unix principle of piping between two or even multiple programs, together with “all data should be in the simplest common format possible” (that is, largely unformatted strings), was a really clever invention to be popularized. As proven by the fact it is still so useful decades later on a myriad of computers unimaginably more powerful than what they had back then.
It’s not perfect by any means (alternative title: why something like Nushell exists), but it’s pretty good all things considered I dare say.
Absolutely. I learned about that decades ago as a teenager and never would I have thought it would still be useful today… yet, in 2025 if you want to do anything powerful, in the cloud, on your phone, even in your XR headset, it is STILL relevant!
PS: I project I’m contributing to on the topic https://nlnet.nl/project/xrsh/ ideas welcomed!
Having started out in programming before the GUI era, typing commands just feels good to me. But tbh Linux commands really are ridiculously cryptic - and needlessly so. In the 1980s and 90s there was a great OS called VMS whose commands and options were all English words (I don’t know if it was localized). It was amazingly intuitive. For example, to print 3 copies of a file in landscape orientation the command would be PRINT /COPIES=3 /ORIENTATION=LANDSCAPE. And you could abbreviate anything any way you wanted as long as it was still unambiguous. So PRI /COP=3 /OR=LAND would work, and if you really hated typing you could probably get away with PR /C=3 /O=L. And it wasn’t even case-sensitive, I’m just using uppercase for illustration.
The point is, there’s no reason to make everybody remember some programmer’s individual decision about how to abbreviate something - “chmod o+rwx” could have been “setmode /other=read,write,execute” or something equally easy for newbies. The original developers of Unix and its descendants just thought the way they thought. Terseness was partly just computer culture of that era. Since computers were small with tight resources, filenames on many systems were limited to 8 characters with 3-char extension. This was still true even for DOS. Variables in older languages were often single characters or a letter + digit. As late as 1991 I remember having to debug an ancient accounting program whose variables were all like A1, A2, B5… with no comments. It was a freaking nightmare.
Anyway, I’m just saying the crypticness is largely cultural and unnecessary. If there is some kind of CLI “skin” that lets you interact with Linux at the command line using normal words, I’d love to know about it.
typing commands just feels good to me
That’s because for the most part, it’s faster. You don’t have to lift one hand off the keyboard. Also using the cursor and clicking on something requires more precision and effort to get right compared to typing a word or 2 and hitting enter.
This is me kinda bragging, but at my typing speeds, something like
ls -la
is under half a second. Typing cd proj (tab to auto complete) (first few letters of project name if it’s fairly unique) (tab to auto complete), hitting enter, and then typing a quickdocker compose up
is an order of magnitude faster than starting the containers in docker GUI.But tbh Linux commands really are ridiculously cryptic - and needlessly so.
Agreed. Okay, to be fair, for parameters, most of the time you have the double-dash options which spell out what they do, and for advanced users there’s the shorthands so everyone should be happy. But the program/command names themselves. Ugh. Why can’t we standardize aliases for copy, move, remove/delete? Keep the old binaries names, but make it so that guides for new users could use actual English aliases so people would learn quicker?
At least part of this is the decentralized/complied nature of a FOSS operating system. You don’t get a command called grep because someone making design decisions about a complete system holistically decides that tool should be called grep. You get it because some random programmer in the world needed a way to find patterns in text so they wrote one and that guy called it grep and someone else saw utility in packaging that tool with an OS. It’s a patchwork, and things like this are a culture of sorts.
interesting you used grep because it’s a command that has a very clear origin.
in ed/vi the g command was used to run commands on some pattern. eg
g/[regex pattern]/[command]
the p command was used to print current line so to print any line that matched the string “grep” you would do:
g/grep/p
.when this was made into a seperate command it was called grep:
g/re/p
. using re to denote regex.
The standard VMS text editor (EDT) assigned editing functions to the number keypad. Using it became so natural to me I eventually didn’t think about pressing keys, it was like using a car gearshift. I’ve never gotten to that point with any GUI editor, even with heavy use of keyboard shortcuts.
Are the “Windows evangelists” in the room with us right now? Every Windows admin I know hates Microsoft with a burning rage. Literally the only people I’ve ever seen promote Windows are being paid to do it.
Counterintuitively, that’s one reason I like dealing with Windows: the community knows what it is and doesn’t pretend otherwise, like some other more “zealous” fan bases.
Literally the only people I’ve ever seen promote Windows are being paid to do it.
Yeah, that’s the demographic I had in mind. Lemmy is full of paid shills lol.
it’s Linux, who’s going to pay them Canonical? IBM? Wait, nvm, I could see IBM having paid shills
Do they have any money?
It’s is not either or. Also good cli require an eye for design just like gui. Lots of cli suck because there is no eye.
Yeah I totally agree. But still, I feel like there are much more terrible GUI programs out there than terrible CLI programs. The only truly awful CLIs I can think of is that tool for managing MegaRAID controllers that has the weird abbreviations everywhere, and shell interfaces to GUI-first bloatware like Dconf that were probably added as an afterthought. I think with CLI there’s only so many things that the developer can fuck up. It’s all just text. Meanwhile with GUI there are endless opportunities for truly horrid design. Think of Teams. Think of the github web interface. Think of the r*ddit redesign. Or go watch that Tantacrul video on Sibelius. CLI could never have such a breadth of terribleness.
i raise you the man command
Arch’s package manager is pretty terrible.
Here’s two commands. See if you can guess what they might do:
pacman -S package_name pacman -Syu
Solution
The first command installs a package.
The second command updates all packages.I believe, there’s some sort of logic to the letters, but man, most users seriously do not care. They just want to install, update and remove packages 99% of the time, so they shouldn’t need to learn that intricate logic for three commands.
I guess, you could usepkcon
to do that instead, but that doesn’t really help new users…Arch presumes that the user has some familiarity with CLI tools and can read documentation. You couldn’t even install it without using the terminal until archinstall became a thing. If it’s an issue, Arch is the wrong OS for you.
Besides:
pacman -S
- synchronises packages between the remote and local repo.pacman -Q
- queries the local repo.pacman -R
- removes packages.pacman -F
- queries the files of a package.
Et cetera.
I figured, I’d ruffle some feathers by saying that. 😅
But yeah, I stand by my point. Just because your target users are capable of dealing with complexity, doesn’t mean you should be making use of that rather than simplifying usability, since your users have plenty other things they could be learning instead.I will caveat that I can see it becoming worth it to learn an intricate logic for a power user, when things fall into place and make sense at a higher level as you learn more about it.
But in my experience, that’s just not the case with package managers. You need a few specific commands to be obvious and then the special cases can be obscure flags.Ui designers should not presume people are familar with the ui. That’s not design.
Yeah built in user screening process. Screwed by endeavourOS though.
You think that’s bad? For as much as I love seeing a well-configured Nix system, it’s beginner-unfriendly learning curve is almost as bad as “compile everything yourself” distros.
As a beginner, do you have a question about Nix? RTFM. You did? Well, wrong Nix. You wanted to learn something about Nix the language, but those docs were about Nix the OS and Nix the package manager.
You just read a guide for using the nix command and wanted to install a program with nix-env? That’s an outdated guide. You should be using flakes and
nix profile
. You tried that, but it said the nix command is experimental so you didn’t do it? No, you were supposed to edit /etc/nix/nix.conf to enable them first.Don’t get me wrong here though, I like Nix. It just desperately needs an actual beginner-friendly beginner guide for flakes and
nix command
commands that doesn’t assume everyone is a software developer. 80% of the Nix documentation tutorials aren’t even relevant to regular users, only package maintainers and NixOS users.AFAIK, arch never pretended to cater to new linux/cli users, I’ve always read it as a recommandation for advanced (or at least comfortable with reading docs and using CLI) users.
My first time using arch required me following the arch wiki for install and when I finally got a working system (I’m as bad at following tutorials as I am at following cooking recipes) thepacman
commands were not something I struggled with.
But yeah coming from Debian where I had the gloriously intuitiveapt
syntax, I get your point.Advanced users would still benefit from good design.
I do agree, I’m just not surprised it wasn’t done this way at the start and I’m not bothered enough by it to want a change.
It’s all a matter of preference anyway (assuming you have both options anyway). CLI is less intuitive and takes longer to learn, but can be wicked fast if you know what you’re doing. GUI is more intuitive and faster to pick up, but digging through the interface is usually slower than what a power user can accomplish in the CLI.
It depends on what your use case is and how you prefer your work flow. The only dumb move is judging how other people like their setup.
Nothing wrong with CLI. It is fast and responsive.
Unless you want mainstream use. Because the majority of people can’t even use a UI effectively. And CLI is much worse.
This is the core of the argument. You can’t expected the average casual user to use CLI at all if you want mainstream adoption. The vast majority of people can barely operate Windows as-is, telling them to use a Linux CLI would be asinine.
There was a time before Windows where a lot of people used MS-DOS and it was all terminal. Maybe computers where less popular back in those days because of the learning curve, but still many people used a PC with just the terminal.
Oh absolutely. We’re in a very different age today though. Like hell I can’t imagine either of my own parents understanding the basics.
Yup. I made a scientific analysis program. Using CLI and your own editors you can do so much. And instead of focusing on making the algorithms, I had to focus on making a GUI for months because people need things to click.
And then even with very responsive and easy GUI, with like just 5 types of “views” and probably like <5 buttons/inputs each, people are like “it seems complicated” within like 1 minutes of demo. They haven’t even tried to use it or tried to learn anything. I even modeled the views to be as similar to another software they use.
I feel like people just don’t like computers.
I’m a programmer and I definetly don’t like computers.
Exactly. Most things need to optimize for the lowest common denominator of understanding, and buttons with words and fields that have explicit purposes and positioning are a much easier starting point than “use
command -help
and figure out the syntax yourself,” even if someone who learns the syntax could then possibly be more efficient at using it.
I do most of my work at the command line, my co-workers do think I’m nuts for doing it, but one of our recent projects required us all to log into a client’s systems, and a significant portion of the tasks must be done via bash prompt. Suddenly, I’m no longer the team weirdo, I’m a subject matter expert.
Wait until they find out about Ansible.
CLI is being able to speak a language to tell your computer what to do; GUI is only being able to point and grunt.
Sometimes you just want to move a file from folder to another.
That’s why file managers, but cp filename folder name is probably quicker if you are already in the terminal
Would be awesome if there was more software to bridge the gap between CLI and GUI workflows.
trash-cli
anddragon-drop
are pretty useful to that extent, but there is still much that could work better. I want files I’vetouch
ed in bash to appear in the “Recent” section in the GTK filepicker, and stuff like that.Does bash have extensions? If not I know other shells do. Definitely something you could do there
You could do it in any shell by replacing
touch
with a function or alias that sends a note to whatever GTK subsystem is responsible for the “recents” tab before making the file. A more comprehensive way would be either using inotify or kernel-level process tracing fuckery, but I’m not smart enough for thatTrue, but I was thinking the shell would be the best place. You can have with watch for file modifications preformed by the user and reach out to nautilus to update its recents. That way you don’t have to watch for all inotify events on receiving user updates, and you get all tools not just touch
You may want to check out Ghost Commander and it’s many cross platform clones. They include a nice mix of graphical and batch command tools.
thanks, I’ll take a look.
Shit. I wish we had that option (dragging files between folders) on Linux. Maybe someday.
(This is a joke, about how it feels like a lot of folks with strong opinions about Linux haven’t tried Linux in a long while.)
Midnight Commander is my favorite CLI tool in Linux for that sort of thing!
I have a NAS and sometimes I move shit around and it’s easier for me when I have “to”/“from” visually side-by-side.