• Wispy2891@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 days ago

      install tldr and then you have easier commands

      > tldr dd
      
        dd
      
        Convert and copy a file.
        See also: `caligula`.
        More information: https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html.
      
        - Make a bootable USB drive from an isohybrid file (such as archlinux-xxx.iso) and show the progress:
          sudo dd if=path/to/file.iso of=/dev/usb_drive status=progress
      
        - Clone a drive to another drive with 4 MiB block size and flush writes before the command terminates:
          sudo dd bs=4M conv=fsync if=/dev/source_drive of=/dev/dest_drive
      
        - Generate a file with a specific number of random bytes by using kernel random driver:
          dd bs=100 count=1 if=/dev/urandom of=path/to/random_file
      
        - Benchmark the write performance of a disk:
          dd bs=1M count=1024 if=/dev/zero of=path/to/file_1GB
      
        - Create a system backup, save it into an IMG file (can be restored later by swapping if and of), and show the progress:
          sudo dd if=/dev/drive_device of=path/to/file.img status=progress
      
        - Check the progress of an ongoing dd operation (run this command from another shell):
          progress
      
      
        • nek0d3r@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 days ago

          I feel like it’s a nice intermediate step when learning the commands. man is great when you already know you have the right tool and you just need to check a flag. A newbie who just left Windows is gonna be so overwhelmed by a lot of manpages, but this does a nice job of easing them in using examples to give the user an idea of what that tool is capable of.

  • cley_faye@lemmy.world
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    11 days ago

    Simple things can work well in GUI.

    Now, working on a GUI that tries to expose every little features? No thank you. I would not want to develop it, and I would not want to have to use it.

    It’s ok to go install a software through discover instead of using the CLI.

  • sik0fewl@piefed.ca
    link
    fedilink
    English
    arrow-up
    53
    arrow-down
    1
    ·
    11 days ago

    I find it’s the GUI tools that are usually cryptic, especially when you want to do more than the most basic operations.

    • A lot of devs don’t put much work into planning the flow of their GUI from a user’s perspective and it really shows.

      IMHO a UI should offer everything a user can do in a given moment, readily available, nothing hidden behind more than a single menu. If something isn’t currently possible, it shouldn’t be available, and if the dev chooses to make the option visible but unavailable, it should be clearly and visibly marked as something that can be available (grayed out text for example).

      I think devs tend to overestimate both the skill of the user, and the usefulness of their UI.

      • vithigar@lemmy.ca
        link
        fedilink
        arrow-up
        9
        ·
        11 days ago

        a UI should offer everything a user can do in a given moment, readily available, nothing hidden behind more than a single menu.

        That would be a nightmare for any sufficiently complex software. Can you imagine how dense the UI would need to be for something like Blender or even Excel if literally every possible option of “things available to do right now” had to be at most two clicks away?

        • Verat@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          11 days ago

          For excel as an example isnt it already like that? One click to the ribbon/menu, one click to the option, and maybe a 3rd if that option had a nuance dropdown

        • IngeniousRocks (They/She) @lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          11 days ago

          Bud theres obviously exceptions for massive suites like that. But I’m talking about apps with built in UIs that the dev clearly threw together as a last minute thought. Apps with every single thing you could possibly have to do either burried deep in 10k submenus, or hastily packed onto a window.

          All I’m saying is there should be a clear and obvious workflow. Devs shouldn’t be afraid to say “I know better than you, do it this way”. Throwing every single tool on a toolbar like with Office suites or editing suites is awful IMO. Gimme menus, but gimme menus that make sense (looking at you Microsoft)

          Anyway, you can disagree with me, and it won’t ever effect you, that’s the beautiful thing about the open software world. My opinions can be total shit, and you get to just ignore them 🥰

          Sorry for rambling, I’m losing my mind a little bit more every day 🫡

          • vithigar@lemmy.ca
            link
            fedilink
            arrow-up
            5
            ·
            11 days ago

            I don’t really disagree, at least in principle. You’re absolutely correct that workflows should be clear and developers often do not make good UI/UX. You just didn’t really qualify your original statement with any of that and made it an absolute, but you’ve clarified now and I’m pretty sure we agree.

    • ghen@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      arrow-down
      6
      ·
      11 days ago

      That’s when you go to alternativeto.net and get a different one. If you’re running into that problem then you just are using the wrong tools.

      We’re talking about programs that are equally useful in both GUI and CLI, we’re not talking about libre office which is necessarily complex or a video editing program with a thousand transitions. Those are always going to be cryptic and always going to be GUI.

      The problem with CLI is it can’t be made easier with a different interface.

  • Ŝan • 𐑖ƨɤ@piefed.zip
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    9
    ·
    11 days ago

    It’s situational.

    Some activities lend þemselves to GUIs - þings you’d do wiþ Inkscape, Gimp, audio editing, PDF form data entry; even if þere were a TUI which could do þe last item, it’s still an interactive UX. Þe pointer is a more natural interface for some workflows.

    Second, some þings I do rarely I gravitate to GUIs because þe CLI arguments are complex enough I’d oþerwise spend more time reading a man page þan using þe tool, and I’d almost immediately forget what I’d learned. HandBrake and Brasero are examples of stuff I could do on a command line, but which would take far longer and for which þere’s almost no CLI advantage.

    Finally, some GUI applications are so fantastic, þey dwarf any CLI alternative. Calibre and KeePassXC are examples. Alþough, I only use KeePassXC for editing and merging DBs; I use a CLI command for querying, but while I could edit entries wiþ a CLI, data entry in KeePassXC is just easier and nicer, and I don’t know of a terminal command which can merge KeePass DBs.

    GUIs have þeir place. Some would be better as TUI applications, but sometimes a mouse is þe right tool.

  • UnfortunateShort@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    11 days ago

    You can copy-paste commands tho. Writing a concuse GUI tutorial is more work. Whether I want to do that depends a lot on who that work is for

  • Venat0r@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    10 days ago

    For a one off issue it’s easier to send a cli command they can copy paste than to detail steps in the gui.

    • Natanox@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 days ago

      In the long run it more often than not is better to show them how to help themselves though. Let’s say they use Mint and want to install something they saw from ElementaryOS, so a new Flatpak repo: Of course in this moment I’d be done faster with their request for help sending them two commands to just paste, but showing them where they can add the new repo themselves and how this will make all the new apps pop up in their Software Store doesn’t just make them more independent and reassure them in trying things themselves, but will make it less likely for them to constantly ask you for help again.

      And it makes more people stick with Linux, that’s always good.

      • Venat0r@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        10 days ago

        yeah true, I’ve been annoyed in a similar way when using blender where people always answer how to do things with the keyboard shortcut rather than the name of the command but the keyboard shortcut they say won’t work for me because I’m using the Maya keyboard layout…

  • r00ty@kbin.life
    link
    fedilink
    arrow-up
    2
    ·
    11 days ago

    I’d say the ideal situation is that tools are developed library first, then cli or gui as preferred allowing others to pick up the slack and make the other tool (or tools) using the functions in the library.

    One of the reasons automation is so much easier on linux than windows is because there are many more cli tools to do things. On windows many tools are gui first and cannot easily be automated.

  • endless_nameless@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    2
    ·
    10 days ago

    It’s pretty easy to explain why people prefer CLI over GUI programs. You have to learn a new interface for every single GUI program, whereas you learn one interface for every CLI program.

    • silt_haddock@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      10 days ago

      CLI requires remembering commands though, or developing patience with your up arrow key.

      And if you want help, is it “/h” or “/?” or “-h” or “—help” or “—h” or just “help”

      I can’t remember that I need to pee, let alone what commands do what, save for my up arrow.

      Don’t get me wrong, I’m in the terminal constantly, but I’ll pick a GUI over CLI every time if it’s an option.

    • Natanox@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 days ago

      That’s just wrong, the correct commands are always different. E.g. for journalctl to keep following the newest entries you need -f, while in dmesg you need -w for the very same feature. That’s not any more “the same” than it is the “same” to move your mouse around a differently organized GUI.

      Writing in the CLI is comparable with moving the mouse, and remembering the appropriate commands of the specific tool comparable to know where to click on. However a proper GUI is immediately visible to be interacted with (and not abstract like most CLI arguments) and will convey function through form, while the function in the CLI is hidden behind help texts and man pages.

      I do like working with the CLI a lot, but what you said was simply wrong.

  • pHr34kY@lemmy.world
    link
    fedilink
    arrow-up
    165
    arrow-down
    4
    ·
    12 days ago

    You can’t copy and paste into a GUI, and it’s painful to help people to use them.

    • tazeycrazy@feddit.uk
      link
      fedilink
      English
      arrow-up
      44
      arrow-down
      4
      ·
      12 days ago

      So you want newbies blindly entering scripts to there command line and not knowing what that are doing.

      • Broadfern@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        11 days ago

        Teach them to double check against the man page before pasting, would be my guess.

        • Natanox@discuss.tchncs.deOP
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          2
          ·
          11 days ago

          But then the CLI wouldn’t be faster anymore and the whole argument most people keep bringing up falls apart.

          Also those man pages aren’t even remotely written to be understandable by Linux novices most of the time…

          • GojuRyu@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            11 days ago

            But then the CLI wouldn’t be faster anymore and the whole argument most people keep bringing up falls apart.

            It is much faster for the one giving the answer. Also, the looking up the man page is something you only do the first time. With the gui the user should also verify before blindly following instructions, but it is usually harder to find proper documentation of gui features than cli commands.

            Also those man pages aren’t even remotely written to be understandable by Linux novices most of the time…

            That is a fair point. They are dense, technical and at times pretty hard to read. But when a novice asks for help they are always going to either trust blindly or verify. Verifying can be a difficult task for a novice no matter if gui or cli is suggested. I do think most novices would trust the gui way more and feel more in control of it, even if they are basically doing the same thing.

            • poinck@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              9 days ago

              Have you read the btrfs or zfs man pages? They are very well written. You just have to want to understand it. If you don’t, let it handle your tech-buddy or admin, or have them quickly look over the command that is about to be confirmed with pressing ENTER.

      • Skullgrid@lemmy.world
        link
        fedilink
        arrow-up
        23
        ·
        11 days ago

        They’re blindly doing it either way. I understand and want GUIs as well, but dumping commands into terminal is starting to seem easier than “go here click this, now click that”

        • bufalo1973@piefed.social
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          3
          ·
          11 days ago

          Open “app” -> open menu -> select option -> change this /  push this button.

          Just as easy to write as a command. But many people (me included) is so used to go the CLI route that the GUI way is only an afterthought.

          • PabloSexcrowbar@piefed.social
            link
            fedilink
            English
            arrow-up
            7
            ·
            11 days ago

            I can’t find this menu, where is it?

            Now you have to go figure out what they’re actually looking at and whether it’s what you said to do or not. Command line copy-paste removes any uncertainty.

      • jj4211@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        11 days ago

        If it’s “oh, you can open up [application X] and it’s easy to figure it out, and there’s videos out there to cover your use case”, then ok.

        But if it’s to help a user with a very specific task and they want their hand held, well from a GUI perspective I’m either making a bunch of screenshots or maybe even a tutorial video or a screen share session… Or I shoot them a relatively short CLI command that does it and move on to other things.

        It is usually much shorter to tell someone the CLI to do something than it is to try to train them on a GUI for the same thing. If it’s well-trodden subject matter, well they probably already found a youtube tutorial and didn’t even have to ask.

    • Strider@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 days ago

      Yep, this is just one factor. It’s difficult for people not to judge a book by its cover.

      Correctly done, cli is superior for a lot of things.

    • bryndos@fedia.io
      link
      fedilink
      arrow-up
      20
      arrow-down
      1
      ·
      12 days ago
      basic_task_list = ['copy and paste', 'install package', 'type', 'keyboard', 'read and write' ]
      
      for basic_task in basic_task_list:
          print(f"""
              Newbies can't {basic_task}.
              They never {basic_task} in windows.
              Windows  has replaced {basic_task} with copilot, this is what linux needs to do to compete.
      
              How will linux ever hope to attract windows user if it still maintains this ancient hacker 1337xor tools like  {basic_task}?
      
              Users just want to turn on computer and watch it do computance - how does linux not get this?
          """)
      
      • madjo@piefed.social
        link
        fedilink
        English
        arrow-up
        17
        arrow-down
        1
        ·
        11 days ago

        What’s easier to support?

        "Ok, open app commandX,
        now click on the button labeled Y… It’s just there, just below your mouse cur… oh now you’ve moved your mouse… no, not there, it’s more to the left, up a bit… down a bit, it’s labeled Y. Third one from the top.
        Yes, that’s the one, now click it.
        ok, in this pop up you type "super secret code thing’,
        no, capitalization doesn’t matter.
        Yes. I’ll spell it “s u p e r {space} s e c r e t {space} c o” what do you mean, you don’t have a T on your keyboard? "

        Or. “Open up the terminal and type this code: commandX --CodeY This will do XYZ. After it’s done, can you tell me the error it says on the screen?”

        But yes, I agree, the GUI looks nicer.

        • pHr34kY@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          11 days ago

          Exactly. You can tell someone to type a command, and ask for the output. Otherwise you’re spending 90% of your time asking someone to explain what they see, and searching for buttons that just move around from week to week.

        • Die4Ever@retrolemmy.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 days ago

          When I need to help someone with a GUI, I ask them to send a screenshot and then I put red circles on it for them lol, or number labels on the things they need to click on.

        • bryndos@fedia.io
          link
          fedilink
          arrow-up
          1
          ·
          11 days ago

          I dgaf about support. (i’m naturally perky).

          Back in dos there was a systemic encouragement to users to at least learn something about a computer. Nowadays windows apologists seem to relish how much it dumbs down computers, (or any over supported system).

          They won’t learn to ride the bike until someone removes the stabiliser brackets - and Gates is one of the cunts who figured out that he makes more cash by welding them on.

  • CookieOfFortune@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    7
    ·
    12 days ago

    The main issue with the Linux CLI specifically is that all the tools have antiquated APIs. Inputs and outputs are all strings.

    A modern CLI would be designed to take structured input and emit structured output. This would also provide better discoverability and reduce the chances of typos.

      • AceOnTrack@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        24
        arrow-down
        1
        ·
        11 days ago

        My favorite part of Linux troubleshooting is you get to enter all these command line commands that barely make sense and in the end nothing works because they’re meant for glibktw-6.32ajqx_rc4.1 but in the three weeks since that obscure forum post was made, every distro moved to glibktw-6.32ajqx_mgtk+2 and nothing works anymore.

  • nek0d3r@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    11
    ·
    11 days ago

    ffmpeg is great, and doing simple things is pretty straightforward, but if you work with a lot of media and do different kinds of operations, give Shutter Encoder a shot, it’s an amazing FOSS GUI tool for ffmpeg, yt-dlp, and more!

    • cley_faye@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      11 days ago

      Interesting. Their website would make me run away fearing it’s from a cheap fake download button scam from ten years ago, but the software itself looks pretty legit.

      • nek0d3r@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 days ago

        LOL I found the github page before the website when I discovered it. So many folks mention Handbrake, but after canceling my Adobe subscription, using this was the first time I wasn’t missing Adobe Media Encoder.