I didn’t realize this community existed and posted my other thread about linux distros in another community, so I’ll try rectifying that here.

I’m trying to learn as much about linux as a desktop system as I can before I dive in to installing a distro on my computer. I do have a tiny bit of familiarity with the terminal from having servers running Debian, but those I get a lot of help with. the distro I’ve chosen is Bazzite, which is based(?) on Fedora if I recall right. I liked the stuff it comes with (I love video games) built in and I like the idea of the atomic desktop setup.

so, what are your tips and tricks for a new linux user? what about outside resources? I’ve been doing as much digging for articles and videos as I can, but I thought asking the community might be a good idea too. I’m trying to compile these resources for myself and my partner, so that we have stuff to learn from and reference.

as a final question, what got you into using linux over windows or mac?

thanks in advance!

    • poki@discuss.online
      link
      fedilink
      arrow-up
      3
      ·
      5 months ago

      Solutions found on either of these wikis may work perfectly fine on other distros, but it’s not a guarantee. ‘Seasoned’ users should be able to distinguish this.

  • BlueÆther@no.lastname.nz
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 months ago

    A little tongue in cheek and showing my age alittle …

    but there are some good youtube channels around, then there are resources like Arch’s wiki and for the hard liner there is the Gentoo doc’s

    • Rin@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      thank you for the resources! I think I have VeronicaExplains noted down already, but the other ones are new to me. I’ll give them a look!

  • Korthrun@lemmy.sdf.org
    link
    fedilink
    arrow-up
    2
    ·
    5 months ago

    Don’t follow tutorials, understand them. I’m so tired of seeing useless uses of cat because some asshole writing a tutorial 20 years ago decided to illustrate how pipes work with a good ol cat file | grep string as if grep didn’t take a file name as an argument.

    The more time I spend being mad about this the more I notice people using horrible practices in tutorials because they’re too lazy to setup a legit use case.

    A new user sees this and thinks this is how grep works.

    Loops are another common one. People going around not knowing you can pass a glob to a shell for loop. Because the tutorial they read was lazily written and they didn’t bother to understand the bits of what they were being shown, only how to reproduce/mangle the command until they manage to get close enough to what they want out of it.

    • walden@sub.wetshaving.social
      link
      fedilink
      arrow-up
      4
      ·
      5 months ago

      This is an advanced answer for someone who hasn’t even installed Linux on their desktop yet. I’ve been using Linux for 4 or 5 years don’t even know what you’re talking about.

      • Korthrun@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 months ago

        You’re absolutely right. For what it’s worth, it’s just the first part that’s important.

        When you pick up a new concept from a “resource” such as a tutorial, take a minute to explore the concept and understand the semantics of what you’re doing. In the name of illustrating a concept tutorials can often be misleading in subtle ways.

        An explanation of my “useless use of cat” example:

        The command line has a concept called “piping”. This lets one command send output to a second command. It’s very handy. There is usually also a “cat” command, which will read a file and send the contents where you tell it. This is often your screen, or through a “pipe” to a second command. There is also a “grep” command that lets you search data for certain words.

        Many “linux newbie” tutorials combine these tools to show how “piping” lets you send data from one command to another. “cat” some text file, then “pipe” the output to “grep” to search for your words. It usually looks something like cat ./my_address_book.txt | grep Giles to find lines in “./my_address_book.txt” that contain the word “Giles”. The thing is that “grep” can take a file name as an argument. You can just do grep Giles ./my_address_book.txt, and cat is for concatenating files into one. If you want to simply read a file there are more appropriate tools such as “less”. This by the way is the “useless use of cat”

        When you’re a newbie though, it may be the first time you’re seeing either “grep” or “cat”. The tutorial is just trying to show you “pipes”. Along the way you’re picking up these “bad habits”. I’ve met professional sysadmins who didn’t know grep took a filename as an argument. It was always “cat blah | grep my_search”. I will see people type “cat /some/file | less” instead of “less /some/file”. It shows a lack of understanding of what these tools actually do, and IMO it just comes down to regurgitating tutorial actions without bothering to understand the semantics of what you’re being shown.

        • undefined@links.hackliberty.org
          link
          fedilink
          arrow-up
          2
          ·
          5 months ago

          Not related to your point, but I always felt like piping from cat to grep is crazy inefficient. I’m a programmer so I imagine grep is much more efficient at finding stuff in files (in chunks maybe?) whereas cat likely reads the entire thing into memory (somehow less efficiently) to send it through the pipe.

          …though now I’m wondering if my understanding is off.

          • Laser@feddit.de
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            5 months ago

            I don’t think that’s what’s happening. There’s no hard requirement for cat to read everything straight into memory. It can send data once it’s available, and the receiving process can read it as fast as it wants. There are cases where this might be more clear: Let’s say you have a big video file that you want to convert to something that only supports like y4m input and is not in ffmpeg. A common way is something like ffmpeg -i infile -f yuv4mpegpipe - | encoder --y4m outfile - I’m pretty sure ffmpeg won’t read the whole infile into memory, nor will it store the whole y4m representation in memory. Instead, it will decode infile as necessary and push into the pipe at the speed the encoder can handle.

            But yeah, I remember something about tar using libraries for compression being more efficient that piping its output to a compressor. So it’s still the better route, but probably not as much better as you think.

    • Rin@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      I’m absolutely going to do my best to understand and not copy/paste without doing that. I don’t like doing things to my computer that I don’t know what is happening, so that makes sense to me! I already ran into that issue plenty of times with my servers, so I’m trying to go all in now.

      thank you!

  • poki@discuss.online
    link
    fedilink
    arrow-up
    2
    ·
    5 months ago

    First of all, if you’ll be using Bazzite, then become familiar with its documentation. Other sources may not necessarily translate that well to Bazzite due to Fedora, Atomic, OCI and SELinux (to name a few). Though, some other sources may benefit you as long as it doesn’t contradict with Bazzite’s own documentation.

    so, what are your tips and tricks for a new linux user?

    Bazzite is on Fedora Atomic’s model, hence you should become familiar with the built-in rollback mechanism. Furthermore, it’s possible to keep deployments around. Therefore, if anything, consider utilizing this on your first deployment; just in case.

    Pinning said deployment is possible with the sudo ostree admin pin <insert number> command after installation. The number can be deduced through the rpm-ostree status command. The first deployment’s corresponding number is 0 and for each deployment found below you just have to increase the number by one to find its corresponding number. So, the 4th deployment corresponds to the number 3. Btw, you can pin multiple deployments. So there’s no opportunity cost involved. Finally, you can unpin a deployment with -u. So sudo ostree admin pin -u <insert number>

    as a final question, what got you into using linux over windows or mac?

    I was never a mac user in the first place. As for Windows, a hardware failure was causing more issue on it than on Linux. So that was the direct cause. But the reason I got interested into Linux initially and what has kept my interest are privacy and freedom respectively.

    • Rin@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      hey, sorry this is coming late! thank you for this. I was already looking at their documentation (I have a few times, as well as read their discourse forum) and joined their discord in preparation.

      I think this is a super good tip because I have been trying to parse what all I’d need to get familiar with before I touch anything install wise. I knew about the pinning a deployment thing, but I didn’t fully understand how, so thank you for laying it out for me!

      • poki@discuss.online
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        It has been my pleasure!

        and joined their discord in preparation.

        That will definitely help out a lot. Well thought!

        Welcome on board 😉.