" i shouldn’t have to memorize commands"
the up arrow:
The commands: ls cp mv…
Meanwhile you get Windows people who memorize things like Get-AllUsersHereNowExtraLongJohn
Get-ListOfFunnyPowershellReferences++
(Seriously…
ExtraLongJohn
is damn funny)Get-command -noun <string[]>
Handy AF
Long long maaaaan
Just wait until they learn about ctrl-R haha
I’ve seen people not realize tab autocompletes.
I learned that tab=autocomplete when I first played minecraft in grade school haha. I just assumed that it was common knowledge but apparently not…
This is me. I’m taking the L on this one and I’ve (at least occassionally) used Unix-like systems professionally for 15 years. I’m all self-taught on Linux and didn’t figure out Tab until I was doing some awful Grub troubleshooting and it spells out that tab autocompletes. So I tried it in terminal and then smirked at the camera like Jim
These people would be mind-blowing if they try fish.
Holy shit
Wait until you learn about fzf - a replacement for ctrl-r that offers fuzzy search with a nice tui
I’m completely familiar with fzf!
I also generally tap in the first few letters of a command then use pgUp (on my system) to autocomplete. Or use the ol’ !<command#>.
But I have somehow never friggin heard about Ctrl+r.
Huh, interesting, I never used fzf outside of ctrl-r!
holy hell
old response dropped
I’m the type to spend 10 minutes going through my previous commands, rather than 5 seconds typing it.
I’ve got
h
aliased tohistory | grep
and it’s been revolutionaryAlternatively, ctrl+r
Sounds like you should try fzf to get a better ctrl+r experience.
See also: atuin - a shell history tool that records your shell history to sqlite.
Seamless sync across shell sessions & machines, E2EE + trivially self-hostable sync server, compatible with all major shells, interactive search, etc.
GNU Terry Pratchett
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
I genuinely use vim inside of termux on a daily basis. I dunno if I’m sick in the head or what, but I kinda like vim on my phone.
Yeah I was gonna say that while it sounds completely unusable, it’s surprisingly not too bad actually. Some of the more complex shortcuts can get pretty tedious, but nothing that a good config can’t solve.
I remember once my friend’s laptop died, and while it was in RMA he was using his phone with an external keyboard and mouse to develop a webapp lol. Just goes to show that any computing device that can run a web browser and VIM covers 90% of your daily software needs haha.
What keyboard do you use? Do you need something like Unexpected Keyboard, or are you still able to be productive in vim with a more “standard” Android keyboard?
Just default Gboard. It’s not pleasant, but it’s good enough for most of what I do.
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!
btop could be pretty controller friendly
I love btop!
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.
Or loud crappy generic music with notepad open for captions.
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
I’m still of the opinion, that your GUI sucks if it needs documentation.
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?
There are definitely people who think it is reasonable to memorize button locations and 10 levels of menus in GUI programs but would rather go into cardiac arrest than use something like
program --option input-file output-file
.thing with gui is you don’t need to memorize button locations and menus. If you do it’s poor layout. Good gui lets you find things you didn’t know you were looking for intuitively, without external resources or manual. CLI requires you to know what exactly you are doing and is impossible to use without external resources. Nothing against terminal but unless you know what you are doing and every command required to complete that action, it’s ass. If gui was so bad and cli was so good, guis would not be used by anyone.
I mean you dont go around copy pasting device ids and running commands for 20 minutes to connect your device through terminal when it is done with 2 clicks in the gui even by someone who has never used a pc before.
While you don’t need to memorize button locations and menus, the frustration is that it takes longer, and memorizing those details slightly mitigates. It’s torture helping someone do something while they hunt for the UI element they need to get to the next level of hierarchy. They will do it, in time, but it just feels like an eternity.
The main issue in GUI versus CLI is that GUI narrows the available options at a time. This is great, for special purpose usage. But if you have complex stuff to do, a CLI can provide more instant access to a huge chunk of capabilities, and provide a framework for connecting capabilities together as well as a starting point for making repeatable content, or for communicating in a forum how to fix something. Just run command “X” instead of a series of screenshots navigating to the bowels of a GUI to do some obscure thing.
Of course UI people have generally recognized the power and usefulness of text based input to drive actions and any vaguely powerful GUI has to have some “CLI-ness” to it.
Sure terminal can be better in a few cases but the fact you are typing this from a guy browser on a gui os speaks for itself.
Of course my terminals outnumber my browser tabs by about 3:1 right now. Commenting on an internet site needs neither scale nor complexity and a WebUI is fine for that.
The alternative to memorization is the analog to “hunt and peck typing” where you just search the whole fucking screen/program.
thing with terminal is you don’t need to memorize commands, syntax and options. If you do it’s poor design. Good code lets you find things you didn’t know you were looking for intuitively, without external resources or manual. Gui requires you to know what exactly you are doing and is impossible to use without external resources. Nothing against gui but unless you know what you are doing and every click required to complete that action, it’s ass. If term was so bad and gui was so good, terminals would not be used by anyone.
I mean you dont go around copy pasting device ids and running buttons for 20 minutes to connect your device through gui when it is done with 2 commands in the term even by someone who has never used a pc before.
Ftfy buddy
Okay then how do I mount my drive through terminal and set it to automount every time and change it’s name to appear as “disk 3” everywhere?
man genfstab
genfstab whateveroptionsyouwant
Now give me all the X and Y coordinates of where i would click on my QHD screen for your example in gui plz
Your guide did literally nothing other than return errors. Seems like even you don’t know how to do this. And you follow wrong instructions that don’t work up with asking for coordinates of buttons for gui, this is scraping the bottom of the barrel. As in you’ve gone through the barrel, through the bottom, dug through the entire earth and are scraping the bottom of another barrel from under it.
I like the terminal on linux a lot, but with arguments like these you need to touch grass at least once a year my friend.
man genfstab gave an error? Neither CLI nor GUI is gonna help with simply not having something installed that the guide assumed.
Yawn, sure sure.
Thats a lot of text without a single x y coordinate buddy. Try harder while touching that grass, won’t ya?
To be fair if you want to learn your options (without properly informing yourself using a manual) tab complete can be useful if implemented.
Also most programs come with their manuals so I’d barely call it external. The manuals are also usually better than what I’ve come to expect from the text to go with buttons in a GUI.
Knowing what commands are required is always going to be necessary but there’s also not that many worth remembering.
As far as I’m concerned “windows key, start typing the name of the application” or “CMD+space, start typing the name of the application” is the right way to handle GUI. Apple nailed it with Spotlight and it’s vastly improved Windows and a variety of Linux DE’s
Uh… Do you think spotlight was first doing search by typing from a hotkey…?
What you’re describing are basic menus and icon search. I honestly don’t get what you’re getting at with this at all, maybe I’m just dumb.
I suppose the point is that the way people interact with GUIs actually resembles how they interact with CLIs. They type from memory instead of hunting through a nested hierarchy to get where they were going. There was a time when Desktop UIs considered text input to be almost a sin against ease of use, an overcorrection for trying to be “better” than CLI. So you were made to try to remember which category was deignated to hold an application that you were looking for, or else click through a search dialog that only found filenames, and did so slowly.
Now a lot of GUIs incorporate more textual considerations. The ‘enter text to launch’ is one example, and a lot of advanced applications now have a “What do you want to do?” text prompt. The only UI for LLMs is CLI, really. One difference is GUI text entry tends to be a bit “fuzzier” compared to a traditional CLI interface which is pretty specific and unforgiving.
It wasn’t the first, no. But it was the first that was commonplace and implemented well enough that others almost immediately adopted it.
It’s the same as the iPad. Tablets existed before the ipad. Nobody bought them until apple created a market for them. It’s their biggest strength as a company.
Ahh I hate that windows does that. It makes it impossible to do anything else with the super key.
Super+D is what I use but anything but just tap that button and flash your screen with a menu you didn’t want is great.
It’s not that they are mad others use CLI, it’s that they’re mad that Linux devs regularly stop creating P&CI features, instead opting for CLI with no P&CI equivalent action.
It’s kind of obvious why - CLI is already very flexible right out of the box, and it takes much less work to add functionality within CLI rather than creating it for the P&CI.
At the same time, I understand the P&CI folk’s frustration, since one of biggest obstacles to getting more people on Linux is the lack of P&CI solutions, and the fact that many actions on Linux are explained solely via CLI.
CLI folks have invested the time to use terminals effectively and view overuse of the P&CI as beneath them, and P&CI folks have no interest in dumping time into learning CLI to do something they could do on Windows with P&CI.
Pardon my ignorance but what does P&CI stand for?
Edit: nvm got it I think it’s Point & Click Interface
Correct, point and click interface
they’re mad that Linux devs regularly stop creating P&CI features, instead opting for CLI with no P&CI equivalent action.
I’ve never seen this?
It’s typically a completely different developer who creates the CLI first, and then one of us adds a P&C after.
So if something is brand new, sure there might be no P&C, yet.
I promise There’s no conspiracy to not have nice things. Haha.
I was specifically trying to not sound conspiratorial. I’m pointing out that it’s a matter of having learned a paradigm vs having to learn a new paradigm.
Devs have already gotten used to CLI and very rarely make full P&CI suites because of it. Even if the original Dev only did CLI for the app and someone came back and made a P&CI for that app, those P&CI interfaces are still fairly barebones. This is both a mix of devs knowing how good CLI can be and because it’s all open source volunteer work.
Layman users of P&CI-focused DEs actively avoid CLI so they don’t have to learn it. This means that using most Linux apps are something to be avoided for most Windows users, making the OS base mostly unusable for them.
To be clear, when I am talking about P&CI-focused DEs, like windows and iOS, I mean that if you cannot perform an action with the P&CI, then that action essentially does not exist for the average user. Contrast that with Linux DEs, where it’s quite common to have to directly edit configs or use the CLI to perform various actions.
As a veteran user, CLI does not bother me. I do understand the frustration of those who want some Linux DEs to become as default as Windows and iOS, because lack of P&CI does damage that effort.
This is not every app in Linux obvi, but the ones that are best at making sure the P&CI is full-flddged, are the apps that develop for windows and iOS as well as Linux - Blender, LibreOffice, Logseq, Godot, etc. The most common offenders are the utility apps, such as those that handle drivers, sound systems, DE functions, etc.
This means that using most Linux apps are something to be avoided for most Windows users, making the OS base mostly unusable for them.
I take your point. And this was very much the case for a long time.
But it’s worth pointing out that Gnome and KDE are both done, now.
I haven’t been forced to reach for command line to change something - anything - on either of my last couple of Linux installs.
Edit: I almost didn’t notice, but it feels worth celebrating and raising awareness.
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.
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.
I think you linked the wrong post
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.
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.You make a fair point
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!
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.
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 used to reinstall Windows once a year. Now with Debian stable I just fix the problem if there is any and that’s it.
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 wonder if registry keys can be set with an ansible script? Granted, that is still not as nice as a declarative config (yay NixOS), but better than having to write down and do by hand again on a new install
yeah,
reg set <key> <value>
i think it is
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%
courier gets you another 15%
I would recommend Cool retro term for that, but you need to run it on a CRT to make it full.
Change font into hack gives another 20%
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.
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
The problem is running GUI code as root as it’s never been vetted for that. What you want, effectively, is to have
EDITOR
variable of your session set tokate
and open system files usingsudoedit
. I’m a terminal guy myself, so this exact thing is enough for me. Having said that - I’m sure someone will chime in with a plugin/addon/extension/etc that adds this to the right click context for what I assume is KDE. Or you can try looking for that om your favourite search engine.You can edit system files with a GUI text editor by opening the containing folder as root in a GUI file manager, then opening the file you want to edit from there.
Nano, the best text editor
I use both, depends a bit on the task at hand. Generally simple tasks GUI and complex ones CLI. Especially if I want anything automated.
I tried to learn superfile thinking it could make terminal more exciting but nah.
Gimme that comfy file explorer gui.
Totally agree.
It depends. But yeah I’d rather use something like Handbrake than raw dog FFmpeg.
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 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.
This is an incredibly sane dissection, wasn’t expecting it under a meme
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!
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?
Whenever someone cries about the command line, I just post the link to Cookie clicker for the mousers out there
chad move tbh
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
Manpages are great though? They’re not the best if you need examples, but as a reference for the behavior of flags? I love’em.
Install tldr if you haven’t already
Eh, I’m fine with man pages. I looked at tldr before, but I’ve been using the command line for many things almost exclusively for like 10+ years now. I usually just need the reference details.
But that’s why I love tldr!
It gives written examples of a handful of the most common use cases with a super brief explanation. It’s perfect for quick reference.
But you do you, I don’t own any tldr stock or anything.
thanks for the reminder! I’ll try it out
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.
I only learned what
pacman -Syu
meant, after literal years of typing it in not knowing anything other than “this updates the packages”, because I got curious and googled it.To me it was just an adeptus mechanicus incantation.
EDIT: And I still have no clue how ‘y’ translates to ‘refresh the database’. Like. Sure. S to synchronise from the server to the computer. And u to mark for update all the updatable packages. But – Why the fuck is ‘y’ the refresh?
The
y
stands for “yoink the database”./s
I think they either just ran out of letters, or
y
was seen as reinforcing the action (as in “yes, download the database too”), withyy
being an even stronger action (“yes, download the database even if there’s nothing to update”).
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.
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.)
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.
mv a/foo b/bar
🤷Definitely not hating if you find the GUI more intuitive. I’m not going to say I use terminal for everything. For instance, I’m using a graphical web browser right now!
But the more you get comfortable with CLI, the easier it becomes to expand your daily usage to include more and more.
More like mv a/somedirectory/andanother/thenonemore/longfilenameislong b/another_directory/directory2/stillmore2goanddontmisspellanything
Rofl true.
I have all sorts of fun tricks to reduce the number of key strokes for an operation like that, but if bombing about the terminal isn’t fun for you then I understand.
Try lynx :D
I’ve never really got good at it for standard http sites.
I have really been enjoying browsing the smol web using offpunk, though.
Perception: “the CLI is scary and hard to use” Reality: “computer, install gimp” “yessir, that’ll be 141MB, is that okay?”
That didn’t work. I got
computer: Command not found
That is an oversimplification and you know it. Why is it so hard for CLI people to be honest?
Installing software on the command line is often a nightmare, requiring multiple commands and throwing error messages that you can only find mention of in one unresolved thread on some obscure forum somewhere.
Plus, there are so many different commands that you have other CLI users saying that they need to pull up reference tools to remember how to do different actions. I have only ever needed to that once or twice ever for GUIs.
Get real.
Why is it so hard for CLI people to be honest?
Interesting if unseemly glimpse into your psyche.
And into yours. Do you think the “reality” they’re presenting is honest?
Even if they’re not lying, they’re definitely not telling the truth.
… and you believe that it’s because they are a “CLI person” that they are unable to be honest. Because that’s a thing that a sane person would say.
Uhhh, maybe if we are talking about back in like 2001?
I literally manage a fleet of linux end user machines and i can’t remember the last time installing software was more than just "pacman -Syu <nameofprogram> (yes they run arch BTW)
Why are anti cli people so dishonest about how hard it is? Now, if you are trying to get involved in like machine learning or something then yes that’s an absolute nightmare of errors and installing python packages and other nonsense but that’s true no matter what platform you’re on and whether you have a GUI or not. Even all the fancy gui installers for stuff like stable diffusion are a constant nightmares of I’m not working because fuck you that’s not unique to cli
I’m talking about installing ordinary programs via the CLI in the 2020s. I have had loads of complicated installs for software (no LLMs) just for personal use in the last 5 years. I’ve heard the same story from other people who’ve switched to Linux.
I think what’s happening is that people who insist that the CLI is easy just don’t tend to run into the problems I’m talking about, whereas for CLI haters it’s the norm.
I genuinely do not understand how you could run into issues with a basic program unless you’re attempting to install from source code or something. Any basiclinic system should have a package manager and you literally just say install this and it just goes.
The only time that I would have the chance to hit the kind of problems you described or ever seen anyone hit those problems is when installing directly from a repository on GitHub, straight from Source code, or attempting to use a downloaded dpkg or random wget line from reddit instead of just using the package manager
sudo zypper install programname
sudo zypper remove programname
or
sudo flatpak install programname
sudo flatpak uninstall programname
Doesn’t get more complicated than that.
And for updates
sudo zypper refresh
sudo zypper update
sudo flatpak update
Much faster than opening a GUI, and it didn’t take long for me to remember the commands.
Winget install [programname]
winget search [programname]
winget upgrade --all --silent
Oh look, its also super easy in Windowsland!
Installing software on the command line is often a nightmare
In my experience, installers are often a nightmare.
For me, GUI vs CLI have about the same failure rate (for their operating system).
But I appreciate that the CLI version gives me a message I can search for instead of a “fuck you buddy” pop up box with an “ok” button.
Edit: There’s one case where I have a much harder time with CLI installs - when there’s only a CLI “installer” available. I don’t blame the CLI for that, I blame the person who shares seven CLI commands instead of writing an installer.
Something went wrong :(
You just need to know the name of the package you need to install.
On Garuda, you can enter the command in a terminal, and if isn’t installed, it will search and give you a list of packages to install from.
Nah I don’t know it, cause that’s not been my experience. But admittedly my experience is also pretty limited so maybe I’ve just yet to run into this myself. I’m just a general use case desktop PC user not doing anything particularly technical.
That’s fair enough, and sorry for jumping to accusing you of dishonesty. To be honest I’m totally shocked that you and so many others in this thread have had such an easy time installing software through the CLI. I have had loads of trouble for the same user case as you, to the extent that I’ve had to completely give up on installing a variety of programs that didn’t have GUI installers available.
Our experiences are totally opposite, so it makes sense that we have opposite stances on the CLI.
How were you installing from the command line? Like, what commands were you using?
Unless you use Fedora, because I have decided that dnf stands for “do not fucking” so you tell your computer do not fucking install Firefox and then it does it anyway because it has Authority issues
I’m more impressed that they can use a gamepad for CLI input.
You may not like it but that’s how peak productivity looks like.
/s
As a Steam Deck user, using a CLI with a gamepad is definitely doable but it is an unpleasant experience.