this post was submitted on 27 Mar 2025
991 points (90.6% liked)

linuxmemes

24192 readers
1502 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] jackalope@lemmy.ml 27 points 6 days ago (1 children)

    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.

    [–] renzev@lemmy.world 4 points 6 days ago (3 children)

    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.

    [–] Ephera@lemmy.ml 5 points 6 days ago (4 children)

    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
    

    SolutionThe 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 use pkcon to do that instead, but that doesn't really help new users...

    [–] rtxn@lemmy.world 7 points 6 days ago* (last edited 6 days ago) (3 children)

    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.

    [–] Ephera@lemmy.ml 5 points 5 days ago

    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.

    [–] jackalope@lemmy.ml 2 points 5 days ago

    Ui designers should not presume people are familar with the ui. That's not design.

    [–] oo1@lemmings.world 1 points 5 days ago

    Yeah built in user screening process. Screwed by endeavourOS though.

    [–] gaael@lemm.ee 3 points 5 days ago (1 children)

    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) the pacman commands were not something I struggled with.
    But yeah coming from Debian where I had the gloriously intuitive apt syntax, I get your point.

    [–] jackalope@lemmy.ml 4 points 5 days ago (1 children)

    Advanced users would still benefit from good design.

    [–] gaael@lemm.ee 2 points 5 days ago

    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.

    [–] VinesNFluff@pawb.social 3 points 5 days ago* (last edited 5 days ago) (1 children)

    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?

    [–] rtxn@lemmy.world 3 points 5 days ago* (last edited 5 days ago)

    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"), with yy being an even stronger action ("yes, download the database even if there's nothing to update").

    [–] pivot_root@lemmy.world 3 points 5 days ago* (last edited 5 days ago)

    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.

    [–] amino@lemmy.blahaj.zone 5 points 6 days ago (1 children)
    [–] Badabinski@kbin.earth 5 points 6 days ago (1 children)

    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.

    [–] Monstrosity@lemm.ee 5 points 6 days ago (2 children)

    Install tldr if you haven't already

    [–] Badabinski@kbin.earth 2 points 6 days ago (1 children)

    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.

    [–] Monstrosity@lemm.ee 4 points 6 days ago* (last edited 6 days ago)

    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.

    [–] amino@lemmy.blahaj.zone 1 points 5 days ago

    thanks for the reminder! I'll try it out

    [–] xigoi@lemmy.sdf.org 4 points 6 days ago

    The good thing about CLIs is that if they suck too much, you can easily create a wrapper around them.