Hey folks, I just got Bazzite OS KDE up and running on my PC. Being a Linux newbie, I’d love some tips, tricks, and app suggestions if you have any. 😅 Switching from Windows has been a bit of a maze with all the distros out there, so any pointers would be awesome!

The amount of tutorials out there is overwhelming. Hopefully 🙏 you guys point me in the right direction.

Edit: That is a lot of great information. I really appreciate you guys taking your time to share your experience/advice.

  • Ramin Honary@lemmy.ml
    link
    fedilink
    English
    arrow-up
    24
    arrow-down
    1
    ·
    edit-2
    6 months ago

    I wrote a few articles on my blog for people in your situation, who are mostly only familiar with Windows and/or Mac and want to learn Linux more in depth.

    “Advice for people who want to learn linux” – This article is kind of an overview of the Linux learning process. The point of this article is to teach you what it is you need to learn about so that you set your own curriculum. Once you understand what a few of the basic things are, you can look up your own tutorials on how to learn each thing.

    “How to pick a Linux distro” – This article is for people who are overwhelmed by the number of choices for Linux distro. The bottom line is: don’t over-think it, just pick a mainstream distro like Mint, Ubuntu, or Fedora. There is like a 99.99% chance that each of these will just work as soon as you install it, no weird issues with audio, graphics, WiFi, BlueTooth, security updates, or anything else. Also, a lot of the “choices” you see among all those distros are only skin deep – differences in the default theming (i.e. the default “desktop environment”, a concept explained in the “advice” article above). But really they are all using the same basic software packages so there very little substantive difference between any of them except in their app stores, and the mechanism they each use install software.

    If you have any questions, feel free to ask me here. I can clarify here, and also update my blog posts if you think anything is confusing.

  • why@lemmy.sdf.org
    link
    fedilink
    arrow-up
    21
    ·
    6 months ago

    For cli stuff I really like the tldr program (Site. It will give you a list of common use cases for a given program.

    • land@lemmy.mlOP
      link
      fedilink
      arrow-up
      8
      ·
      6 months ago

      I have been struggling big time when it comes to cli commands. 😂 I needed this.

  • Cpt_ManlyPink@programming.dev
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    6 months ago

    I am longtime Linux user ( but I don’t consider myself an expert ).

    Here are some considerations and knowledge bits I have accumulated:

    • If you’re using terminal - especially when you copy commands from internet try to look up command and flags you’re about to execute. Be VERY thoughtful when running any command with recursive flag ( usually -r or -R, depends on the command ). There are multiple commands, when misused without understanding, can ruin the system. For example running rm -rf <directory> ( deletes all files and directories that are in <directory> ) and providing incorrect directory, like OS root directory, can ruin everything. There are many stories how Linux beginners brick their OS ( it’s almost like rite of passage ). While it’s not strictly required to use Linux, I strongly suggest to try to learn the terminal commands, but be mindful of what you execute. Few other commands to respect: mv - moves files/directories, chmod - changes directory/file permissions, chown - changes directory/file owner.
    • If you put sudo in front of the command, it means it will be executed as an administrator, giving that command additional power. It’s required in many cases, but when paired with point above, it can potentially do more damage.
    • In some cases you may be required to use vi or vim to edit files, learn the commands to write, exit the application ( :q to quit ). There are many memes about Linux beginners trying to exit vi/vim
    • If anyone suggests to give file 777 permissions, like sudo chmod 777 somefile.sh ( which means, every OS user can do everything with specific file ), usually it’s quick and hacky workaround. While not in every case possible, you should always strive to find least permissions needed whenever possible
    • In most Linux distributions, there is pre-installed terminal application Zenity ( can check with zenity --version ). It allows you to make simple window applications without programming, and gives ability to pass input information to other commands. Personally I use it to quickly store bookmarks I find. With keyboard hotkey I show zenity window with 2 text inputs ( url, title), and input texts are stored in database. Can read about Zenity here: https://help.gnome.org/users/zenity/stable/. There are color pickers, calendars, tables and so on. For super-simple example, following line will create simple info window with 4 buttons ( 1 default for info window, and 3 extra buttons )
    zenity --info --extra-button=TEXT --extra-button=TEXT2 --extra-button=TEXT3 --width 50 --height 50
    
    • As other people have mentioned, you can always run man cp ( or cp --help ) where cp ir command you would like to learn more about, see all flags and required arguments ( in this case cp is command for copying files and directories )
    • Some useful commands
      • find - well… finds files/directories ( example find -name ~/Desktop "*.txt" , finds all files with txt extension on desktop )
      • grep - find text in files
      • tail - show last lines of long file ( mainly used for log files )
      • head - show first lines
      • wget - allows you to download files when provided with URL
      • curl - make HTTP requests to sites, retrieve HTTP responses
      • watch - repeat command with time intervals ( example watch -n 1 ls -la ~/Desktop, will list Desktop files repeatedly with 1 second interval. watch command can be useful when you want to watch for some changes in file lists, file contents and many other cases
    • QDirStat - Very cool application, I use it regularly ( https://github.com/shundhammer/qdirstat ). When provided with directory, after it’s done analyzing, it will show chart of what files takes up the space and if you wish can locate/delete them from the application window ( bigger rectangle means bigger file ). Super-useful when trying to understand what takes up the storage.
      • pukeko@lemm.ee
        link
        fedilink
        English
        arrow-up
        6
        ·
        6 months ago

        First, I don’t disagree with that, but I’m always conflicted. Like, eza is better than ls. Atuin is magic history search. btop/fish/helix etc. etc. etc. But for just getting started I almost want to discourage finding alternative tools. But I also don’t lol.

        Also, I am 99.9% certain this exchange is how most distros get started. “We can do a more sensible set of defaults!”

        • Andromxda 🇺🇦🇵🇸🇹🇼@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          6 months ago

          I just think that these new, fancy applications are more user-friendly, because they are often easier to use, are faster and often have things like colored output. Sure, the GNU coreutils are old and reliable, and can be found on almost every system, making them great for scripts, but for normal, interactive CLI usage I prefer the modern alternatives.

      • AnUnusualRelic@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 months ago

        There are always exotic alternative commands, but those were the standards.

        Always learn the standard commands.

          • AnUnusualRelic@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            6 months ago

            But you can always count on find being there on any unix system. Fancy exotic commands may have nicer speeds or options, but they’ll only be there on your machine. And one day you’ll be on another, and you’ll be lost.

    • gomp@lemmy.ml
      link
      fedilink
      arrow-up
      7
      ·
      6 months ago

      vi or vim […] :q to quit

      you are depriving OP of an experience there… getting stuck in vi is a rite of passage nobody should be denied (but, alas, a lot of distros carry nano nowadays)

      • Cpt_ManlyPink@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Sorry, you’re right Only after you “rm -rf” root directory at least once and try to exit vi/vim, you have truly learned Linux

    • CrazyLikeGollum@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      This is some good advice. I’d add two caveats though: - For learning the distro’s package manager, while I’d say it’s definitely good to learn it (and do so early on), I’d also say beginners should probably stay away from the command line version of it unless it’s absolutely needed. - For running commands from random websites rather than a blanket prohibition, I’d say don’t do it unless you can confidently say you understand what the command will do and are willing to take the risk that you’re wrong.

  • Barbarian@sh.itjust.works
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    6 months ago

    If you want something useful, maybe some more info on what you use your computer for? Advice for a glorified web terminal would be “Click the Firefox icon”. Advice for learning bash would be a massive rabbithole.

    App suggestions are also very dependent on what you use your computer for.

    • land@lemmy.mlOP
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      6 months ago

      Initially, I heard about Bazzite OS here on Lemmy; I was tempted to try it out. As someone who loves FOSS, I always wanted to move to Linux. However, I do gaming occasionally, holding me back until I discovered Bazzite OS.

      • Work: I need to learn Linux to be a penetration tester.
      • Customisation: I Love customisation, only Windows (I still have it installed on my other drive; it’s fully customised with zero bloatware). Currently following this tutorial to customise my OS. However, I can’t find anything similar to Latte-Dock. I have tried Plank and Cairo Dock. They’re buggy.
      • Apps: I’m looking for alternatives to ShareX, Fan controller, Flow launcher any other helpful tool similar to them. I have been exploring for the last 2/3 days, but I couldn’t find any app that comes even closer to ShareX (I mainly use video recording, OCR, Image capture and GIF maker features), I’m currently trying FlameShot.
      • ElusiveClarity@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 months ago

        Cooler control is great if you need to control the pump and fans of a CPU cooler. I’m not sure if it can do case fans like fan control but I just set them in the bios anyways.

      • Barbarian@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        6 months ago

        So on the gaming front, pretty much any mainstream Linux distro would work for that. Proton is pretty damn stable and great on any distro that supports Steam. If you like Bazzite though, you do you.

        For pen testing, must-have skills are nmap, bash, sqlmap, wireshark and the burp suite. If you know how to use all those, you’ve got basic coverage of most common attack vectors (password cracking is also covered by bash, there’s 101 different password cracking algorithms in various CLI spps).

        I’m a lazy ass who doesn’t care much about customization, hopefully someone else can help you with that :))

        A quick Google shows that someone got sharex working on Linux: https://github.com/ShareX/ShareX/issues/6531

        Might take some effort and learning bash and WINE + winetricks to get that running, but hey, you’re gonna need to do that anyways for the pentest stuff :)

      • linuxPIPEpower@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Use the website alternativeto.com to locate Linux versions of windows or Mac programs. Also if you find something on Linux but its not quite right, can find listed similar apps.

        It has quite extensive coverage of GUI apps. Less so CLI. Certain niche areas are more comprehensive than others.

      • Andromxda 🇺🇦🇵🇸🇹🇼@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        I can’t find anything similar to Latte-Dock

        Why do you need something similar to Latte Dock? Why can’t you just use Latte dock?

        Apps: I’m looking for alternatives to ShareX, Fan controller, Flow launcher any other helpful tool similar to them.

        FlameShot is a great alternative for ShareX, I don’t really know about Fan controller, but KDE has a built-in replacement for Flow launcher called KRunner. By default, you should be able to launch it with Alt + Space. If not, check the Keyboard shortcut page in the system settings.

      • KISSmyOSFeddit@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Work: I need to learn Linux to be a penetration tester.

        First, learn nmap. That’ll get you 80% of the way.
        Also Google “Linux server hardening”, read through some tutorials and understand why each step is important and what it protects against.

  • Nik282000@lemmy.ca
    link
    fedilink
    arrow-up
    10
    ·
    6 months ago

    Taken from ‘Don’t Break Debian’

    Take notes

    It’s easy to forget the steps you took to do something on your computer, especially several months later when you’re trying to upgrade. Sometimes when you try several different ways of solving a problem, it’s easy to forget which method was successful the next day!

    It’s a very good idea to take notes about the software you’ve installed and configuration changes you’ve made. When editing configuration files, it’s also a very good idea to include comments in the file explaining the reason for the changes and the date they were made.

    Taking good notes will save your as so many times. Good notes are as important as good backups.

    https://wiki.debian.org/DontBreakDebian#Take_notes

    • NoisyFlake@lemm.ee
      link
      fedilink
      arrow-up
      4
      ·
      6 months ago

      While this is good advice in general, it doesn’t apply as much in OPs use case since he’s using an immutable distro.

  • Andromxda 🇺🇦🇵🇸🇹🇼@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    8
    ·
    6 months ago

    Maybe check out this thread: https://lemdro.id/post/8480193

    I also recommend subscribing to The Linux Experiment, LearnLinuxTV and DistroTube on YouTube. Mental Outlaw also has some good Linux videos. You can also check out The Linux Cast. Chris Titus Tech also has some Linux videos, but you have to go a few years back for beginner-friendly guides. Zaney also makes great Linux videos, but it’s mostly advanced stuff.

  • deathmetal27@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    6 months ago

    I doubt there are general tips and tricks given the vast nature of the Linux ecosystem.

    Perhaps you should phrase your questions as “How do I do X?” to get more specific help.

  • eveninghere@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    6 months ago

    You don’t have to, but if you do stuff on terminal and copy and paste the directory paths from terminal to various GUI apps, that’d be the most productive use of Linux imho.

    Also cli programs are way more stable than gui apps. UX additionally improves with zsh to the level where most FOSS GUI apps can’t match (because they usually lack a UX team).

  • some_guy@lemmy.sdf.org
    link
    fedilink
    arrow-up
    1
    ·
    6 months ago

    As someone else mentioned, learn the Bash shell (Bourne Again Shell; I just said the equivalent of Automated Teller Machine Machine).