Down that hole

  • rickywithanm
    link
    fedilink
    arrow-up
    28
    arrow-down
    1
    ·
    11 months ago

    Im about to take the same plunge into Linux. Any tips for a new comer?

    • killerinstinct101@lemmy.world
      link
      fedilink
      arrow-up
      37
      arrow-down
      1
      ·
      11 months ago

      There are no wrong answers, don’t listen to people saying “this is better” or “do it this way”. Maybe it’ll help, but maybe it’ll make you not like the community. If that’s the way you feel, just do whatever you need to to get something to work.

      There’s a lot of choice, so make a choice and stick to it, but at the same time be open to change.

      Also make backup of your data

      • NaibofTabr@infosec.pub
        link
        fedilink
        English
        arrow-up
        21
        ·
        11 months ago

        Also make backup of your data

        Maybe there are no wrong answers, but there are definitely some answers that are more correct than others. This is the most correct answer.

      • BlueKey@kbin.social
        cake
        link
        fedilink
        arrow-up
        6
        ·
        11 months ago

        and one more thing: always look up what commands will do. So you can prevent bad behaviour and learn their options to use them later on your own.

        Options for help:

        • --help
        • man
        • your favourite search engine
        • russjr08@outpost.zeuslink.net
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          I definitely recommend getting used to --help and man, but after you’ve become comfortable with those I find that this utility is also fantastic.

          Example of the output of tldr git checkout:

            • russjr08@outpost.zeuslink.net
              link
              fedilink
              English
              arrow-up
              2
              ·
              11 months ago

              No worries! The man command is short for manual - basically, you can think of it as a local wiki on your computer (local being that you don’t need internet to access it) for various installed things. While “things” is generally going to be programs for most people, the “man page database” can actually have entries for things that aren’t programs like various Linux internals! Here are a couple of other example man pages:

              That last one, bash-builtins I linked to also demonstrate that there are man pages for more than just programs. cd for example is a very commonly used command, but its not actually a program - it is what is known as a “built in” because its a part of the specific shell you’re using (9 times out of 10 these days, that is going to be bash unless you install a different one like zsh). A ton of commands can often be found under /usr/bin (or /usr/local/bin) - if you enter which program_name at your shell, it’ll tell you where exactly that program lives at. Commands come in many flavors, they can be programs, they can be built-ins, they can be shell scripts (even if there is no file extension, Linux doesn’t actually care about the file extension - its purely there for us humans!), or they can be aliases.

              A couple of fun facts on even that itself:

              • You can run which which to see where the which command itself lives
              • The which command will also tell you if there is an alias defined for the command, an alias is a custom defined command - but if you have a longer command that you commonly want to run you can redefine it as an alias, so ls is often by default an alias of ls --color=auto to give you a few splashes of colors in the output of the command without actually having to type out ls --color=auto every time
              • Despite the fact that cd is a built-in, for what I believe is compatibility reasons, there is a file at /usr/bin/cd on most Linux distributions… which itself is just a shell script that actually invokes the cd built-in!

              That’s probably a bit more information than you originally intended, but I like to be thorough on these sorts of things as I’m passionate about Linux! Note that at the start, man pages can often seem really daunting, but after spending some time looking at them you’ll get really good at quickly finding what you need. You can even write your own, and there is even a man page on the conventions and specifications on how you’d usually write them!

              • rickywithanm
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                11 months ago

                You explained a lot, thank you. This is my first experience with Linux and its community. It’s very nice how willing everyone is to help explain

        • BlueKey@kbin.social
          cake
          link
          fedilink
          arrow-up
          6
          ·
          11 months ago

          Deletes all the files in the root-dir recursively (needs sudo).
          Without sudo all user-accessible files will be removed.
          This will also affect all mounted drives (like USB-Drives, …) and on some motherbords can also corrupt the UEFI.

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      3
      ·
      11 months ago
      1. Ignore the folks with way too much time on their hands who tie their self-worth to their ability to install Arch or whatever. Just use Ubuntu*; it’s fine.

      2. Once you install it, just use it like the normal desktop OS that it is. There’s no need to immediately go down a !unixporn rabbit-hole just because the customizability of the system facilitates it. If something you need doesn’t work or otherwise bothers you, fix it, but otherwise leave the system alone and just let yourself get used to it with default stuff.

      3. By the time you get done with step 2, you’ll be able to know for yourself what you want to do next.

      Unnumbered: Gradually come to understand that the terminal is your friend, not something to be intimidated by. You shouldn’t need to use it (not with Ubuntu, anyway), but if you give it a chance you’ll eventually find yourself wanting to use it because of the advantages it has, such as using the history to have a perfect record of what you did, executing a complicated sequence of commands perfectly by pasting them in instead of trying to manually follow instructions clicking around in a GUI, and creating pipelines and scripts to do complicated things (say, batch-renaming files) relatively easily.

      In particular, try to understand the essential nature of UNIX: “Think of the UNIX system programs as… the building blocks with which you can create things. And the thing that distinguishes the UNIX system from any other system is the degree to which those building blocks can be glued together in a variety of different ways – not just obvious ways but in many cases very unobvious ways – to get different jobs done”

      (* Yes, specifically Ubuntu, not a “similar” distro like Debian or Mint or Pop! OS (let alone a dissimilar one like Arch or CentOS or Slackware). You want the distro that things like Steam officially support, not one that they unofficially work on. Picking a different “flavor” of Ubuntu that uses a different UI, like Kubuntu or Xubuntu, is fine though.)

      • glassyoghurtsipper@lemmy.worldOP
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        11 months ago

        Edit: removed my own Linux background after realizing I didn’t know how to use the app, and responses were to top comment.

        Ubuntu is a great suggestion for beginners- that’s what I install for friends and family as of now (I’m considering alternatives). I’m thinking about getting new folks on opensuse tumbleweed, but let’s see.

        Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.

        • grue@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 months ago

          Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.

          There are a lot of distros that are great (for beginners and in general), but I recommended Ubuntu and only Ubuntu for two reasons:

          1. It’s the only distro other than SteamOS that Valve officially supports (and there’s a reasonably decent chance folks wanting to try Linux are also gamers).
          2. Even merely presenting choices incurs a cost in terms of increasing cognitive load, and I think it’s important to avoid inflicting more than is absolutely necessary on newbies. I think it’s very likely that analysis paralysis on distro choice is one if the biggest barriers to entry for Linux, and saying “X, Y, and Z are good options” when the person has no clue what the differences between them are or why they should care, instead of just straight-up saying “use X,” may be doing them a disservice.
      • elax@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        11 months ago

        You can also type :x to write and quit. Just imaging the amount of time saved not pressing one extra letter. ^Could save your life.^

        • selawdivad@lemm.ee
          link
          fedilink
          arrow-up
          3
          ·
          11 months ago

          You can also type ZZ (uppercase, so hold Shift) to write and quit. But for all of the above you have to be in normal mode, so if it doesn’t work, try pressing Esc first.

        • :x for write and quit. But I think the more appropriate one in this situation will be :q! which will force quit without saving any modifications, since someone who doesn’t know how to exit vim probably doesn’t want to save whatever modifications they made (probably by mistake).

          • ChewTiger@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            11 months ago

            Thanks for adding this. I’m sure it’ll be useful to know and save me some heartache.

            I tried out Linux a long time ago and have forgotten a lot of what I knew. I’m thinking of switching back again.

    • nottheengineer@feddit.de
      link
      fedilink
      arrow-up
      9
      ·
      11 months ago

      Don’t start out with the stuff that experienced people use, you’ll just get frustrated if you do.

      My first experience was that windows got on my nerves so much I said “fuck it, I’ll just learn linux”. And I’ve been learning ever since. Just using linux as a desktop OS and figuring stuff out along the way is a great way to learn the basics.

    • NaibofTabr@infosec.pub
      link
      fedilink
      English
      arrow-up
      8
      ·
      11 months ago

      What kind of platform are you working with? laptop? desktop? RPi?

      You can run Linux on trash hardware. If you have the option, start by installing Linux on something that is not your daily use computer, like an old laptop.

      If you can’t do that, then consider getting a second hard drive and installing Linux on that so you don’t have to mess with your primary OS install.

      If you can’t do that, then at least prepare a USB drive/DVD installer for your primary OS (presumably Windows) now before you make any changes to your computer. Boot the installer once to make sure it works before you need it.

      And before you do anything else back up your important files to an external storage of some type.

      It’s extremely useful to have a second working computer to use for doing research and downloading files/installers/recovery tools as needed. Your phone isn’t good enough because you won’t be able to create an OS install drive from it if you need to.

      • rickywithanm
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        I’m going to go the separate hard drive route. It makes sense to that way

    • Square Singer@feddit.de
      link
      fedilink
      arrow-up
      8
      ·
      11 months ago

      If you do dual boot, check 10 times that you are installing to the correct drive/partition.

      Since Linux uses a different drive naming scheme than Windows, it’s super easy to accidentally install Linux on the partition where you actually wanted to keep your Windows.

    • insomniac_lemon@kbin.social
      link
      fedilink
      arrow-up
      7
      ·
      11 months ago

      Don’t fixate on/rush switching. Even before using Linux, identify what software you need that doesn’t support Linux, find multi-platform (+FOSS) alternatives and attempt to gain comfort/proficiency with them. (I wholeheartedly recommend Krita, personally I have used it for pixel art and image editing on top of normal art) WINE sometimes works, but native feels much better and switching makes more sense when you have a known-good system to switch over to.

      If you remember to consider limitations, there are a few methods to try Linux (LiveCD, VM, spare hardware etc). If you have a desktop you can remove your Windows drive (particularly w/SATA) for a step more cautious than just dual-booting.

    • CumBroth@discuss.tchncs.de
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      11 months ago

      TAKE. NOTES.

      Use a note-taking application you are comfortable with (I use Joplin) to maintain a history of what you wanted to do, why you did/did not do it, and how you did it; save relevant links to help articles, SO posts, etc… (this is particularly useful if you want to retrace your steps to undo something). If you end up not doing something, strike through the text and leave a note explaining why you chose not to do it after all and what alternative, if any, you went with.

      This greatly expedites the learning process, in my opinion.

      • glassyoghurtsipper@lemmy.worldOP
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        11 months ago

        Edit: I realized everyone was responding to top comment, removed long winded rambling about my personal Linux journey.

        I 100% second note taking - my personal favorite is ObsidianMD.

        I used Joplin for many months, with WebDAV (koofr)/e2e setup for sync, till I discovered ObsidianMD.

        Now: all my notes are in markdown/plantuml/mermaid/Obsidian canvas/drawio, managed primarily by ObsidianMD, but occasionally on vscode for special use cases (plantuml diagram editing… vscode flow is better). I use obsidian git to sync to my git repo across my machines. Still love Joplin in a pinch (mobile app on occasion) though.

    • anamethatisnt@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      11 months ago

      Cockpit Web GUI made finding and reading logs, restarting services and so on much easier for me as a beginner:
      https://cockpit-project.org/

      If you use the GNOME desktop then the ArcMenu, Dash to Panel and JustPerfection gnome extensions allow you to simulate the Windows workflow. There’s also many other extensions as better window tiling, showing status indicator at the bottom panel and so on.
      https://extensions.gnome.org/

      Screenshot example: https://i.imgur.com/tNiFiws.png

      • voxel@sopuli.xyz
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        11 months ago

        i think gnome works best without any plug-ins if you’re ok with getting used to the workflow; it’s an amazing experience out of the box if you have a touchpad/touchscreen device like a laptop.
        I only have libindicator support installed (for apps that like to close to tray)

        • anamethatisnt@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          I imagine we work quite differently then, I couldn’t get used to it at all. I’m also one of the odd ones that prefer the trackpoint to the touchpad.

    • SaveComengs@lemmy.federa.net
      link
      fedilink
      English
      arrow-up
      4
      ·
      11 months ago
      1. Try out different linux distros / desktop environments in virtual machines and find out which ones you like the most. I spent about a month doing this, until I found kde neon.

      2. Know that you are going to break stuff, and don’t be afraid of it. Even if you are a tech savy Windows user (as i was), Linux will be a new thing for you and you’ll not know the nuances. I broke my installs a bunch of times because of things like nvidia drivers, but I was running Linux in virtual machines so I just started over from scratch. Breaking things makes you learn the fastest imo, so don’t be scared of it.

      3. Have fun. Linux is going to give you some frustrations, so it’s important that you are using Linux because you want to so you can keep moving forward.

    • taladar@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      11 months ago

      Give it some time, any new system will always be worse than what you have been using for years because you know nothing about the new and everything about the old system, regardless of actual merit.

    • Neon@kbin.social
      link
      fedilink
      arrow-up
      5
      arrow-down
      2
      ·
      11 months ago

      hey, if you ever need advice on a decision, feel free to message me, i’ve built up quite a knowledge.
      anyways:

      first: choosing a Distro:
      do you want something that just works, super stable and reliable, out of your way? choose Ubuntu (don’t listen to the Elitists)
      do you want something similar, just with more frequent updates? OpenSUSE
      do you want something that’s super reliable that never breaks and are willing to invest a few weeks relearning your computer? a Immutable Distro will do. i personally recommend and use NixOS, as it’s the most reliable and unorthodox (a lot of overthrowing traditional convention on how to do stuff) ones of the bunch. but for something (much) simpler, use OpenSUSE MicroOS

      next, the DE:
      realistically you want either GNOME or KDE Plasma. i Personally like GNOME more, but KDE Plasma is just as fine. again, don’t listen to any Elitists.

      the Applications:
      realistically you want to use Flatpaks. check the Flathub Setup guide on how to install it to your System.
      installing Flatpak can never break your system, while installing through traditional package managers (apt, dnf, pacman, etc tec) might, if something goes very wrong.
      Flatpaks are also updated more often, are (even if not as great as MacOS, iOS or Android) sandboxed (apps first need to get permission to do certain things such as use the Camera) and there are more people to help fix your problems.
      snap are also great (again again, don’t listen to the Elitists) but not a lot of apps seem to be made for it as Flatpak seems to have become the default.

      now, a personal recommendation:
      all the Elitists please look the other way now
      i recommend you install fish and set that as your default shell.
      it really is a lot better and user-friendly than any other shell there is.
      this is the Link, use it or not, but i really highly recommend it. makes Terminal work just so much easier.

      ---------------------------------------------------- Opinion Part:

      i personally use NixOS. however, i woudn’t actually recommend it to you just now.
      i reckognize that NixOS is very complicated at the Start and does a lot of things different and is very difficult to learn compared to other OSes (although after you get used to the System, it is a lot easier than normal Linux).
      i still often have to look up Stuff, what config to use etc.
      but i like the fact that all my stuff is saved in a single config and if i were to reinstall the whole system for some reason, everything would be right back to how i wanted it. (provided i changed it in the Nixos-Config File and didn’t just do it in the Settings App.)
      i like the fact that if i make a change on my Desktop, i can just synchronise the config-file with my Laptop, and violà, all the changes are now also on my Laptop.

      but then again, i wouldn’t recommend it to you, seeing that you’re new.
      i recommend either OpenSUSE Tumbleweed or OpenSUSE MicroOS. install Flatpaks and the FISH Shell and you’re good to go for your adventure.

      • rickywithanm
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        Honestly at this point I’m after something with good game comparability built in. I was looking at pop! os

    • GingerPale@lemmy.world
      link
      fedilink
      arrow-up
      5
      arrow-down
      2
      ·
      edit-2
      11 months ago

      Also, anyone who says “try this, it’s neat”:

      :(){ :|:& };:

      Don’t. It’ll lock up your computer. The markdown is adding code to the above. Ignore the “amp;”. It’s just an ampersand.

      Also anyone who tells you run level 6 is the best one…

      Don’t. It’ll set you in a boot loop.

      Basically, Google whatever someone suggests to you just to verify they’re not being a dick. I would say spend a bunch of time in the command line interface (CLI). There’s nothing wrong with the GUI desktop, but the real power of Linux is in the CLI because you can do so much with it. It’ll also get you on the road to scripting, if you’d like. That unleashes the power even more by making your Linux box so cool stuff on its own. Then learn the power of cron tables (crontab) so that you can schedule your computer to do cool things on its own.

      Good luck and have fun!

      • d3Xt3r@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 months ago

        A fork bomb no longer works on modern distros which use systemd btw, since systemd imposes limits on the user and system cgroups (IIRC, a user can’t have more than ~10,000 tasks or something).

        • ditherwither@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          If you are low on memory, a fork bomb still works

          I can confirm that it crashed my laptop running fedora 36 (this was a while ago lol)

          • d3Xt3r@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            11 months ago

            Just tested and confirm it doesn’t work on Fedora 38. When you run it, you get an error saying:

            bash: fork: retry: Resource temporarily unavailable.

            It still does the loop, but doesn’t slow down the system or anything, and you can easily close the terminal window.

            As I said before, systemd imposes cgroup limits per user so fork bombs no longer work.

    • Nalivai@discuss.tchncs.de
      link
      fedilink
      arrow-up
      3
      ·
      11 months ago
      • Backup. A lot. Always.
      • Take notes.
      • Ideally have a separate computer so you can easily google stuff if you break something, a lot of the times what you just broke is fixible with one simple command, you just need to know it.
      • Start with dualboot
      • Don’t look for “windows replacement” in your new OS, this way you will be frustrated with differences, instead of seeing how the new way might be helpful.
      • Backup. A lot.
    • AlecStewart1st@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      11 months ago

      install gentoo /s

      Jokes aside, don’t get caught up in picking the most popular or most hipster distro or DE (desktop environment). Pick one, stick with it, get used to how Linux works.

      Linux Mint, Zorin OS, Debian, MX Linux (if you got a pretty old laptop) are decent start. All have graphical installers, so just follow along.

      When you get to disk partitioning, most people start with

      1GB for /boot

      Up to 8GB for swap

      The rest for /, EXT4 or BTRFS

      Or

      1GB for /boot, FAT32

      Up to 8GB for swap, swap

      64GB for /, EXT4 or BTRFS

      The rest for /home, whichever you picked for /

      You might see ZFS or people talking about it, don’t worry about using it. Keep things simple for the start.

      After rebooting and everything seems to work, dive in, friend.

    • lateraltwo@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      To add, you’re best going with a distro that looks the most appealing to you. The build it yourself style like Manjaro or Arch have a steep learning curve if you don’t know how the file structure works intuitively.

    • complacent_jerboa@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      11 months ago

      When choosing a linux distribution, or a desktop environment, or anything really, go with the most popular, “basic” choice. Because when you have questions and need to search them, the more popular stuff is 99.9% guaranteed to have the answer to your question on some stackoverflow thread, or the arch linux wiki (which is pretty much just “the linux wiki” at this point).

      Also, asking AI for help (chatgpt, phind, etc) is surprisingly helpful.

    • joel_feila@lemmy.world
      cake
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Pick a version that has an active and helpful community. I picked mint for my first one partly because it had a bigger rub reddit then zorin.

      • LennethAegis@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        11 months ago

        Really, just look up any online multiplayer game you play for proton compatibility. Like I believe Valorant does not work either due to the strict anti-cheat systems not playing nice with wine.