Linux For Normies (from a normie's point of view)

title

Image made using Pinta, drawn with a mouse.

  Context for myself and my relation towards linux: I am normie (in a sense). I still have Windows installed on another machine to play triple A games or for the purpose of video and photo editing (Photoshop, Sony Vegas and other such programs that are Windows-exclusive or at least not available on Linux). I may still be dependant on Windows in some capacity but I try my best to learn more about 'Linux' regularly. There is never a limit to learning and we will continuously learn and grow. (I have never used iOS nor macOS)

  Context for the more "Linux-savvy people": Although, I use 'Linux' to this day as my main 'system', in fact I use Endeavor OS with BSPWM installed on it. I've been experimenting with 'Linux' for almost two years. I have a rudimentary understanding of basic terminal terminal commands. I experimented with many distros, such as: Solus, Void, Arch, etc. I plan on trying out BSD or even older UNIX-based OSes.

  This article is leaning more on telling rather than showing. I will mostly give you a few recommendations and tips but you will have to take the big leap and learn the basics by yourself.

Table of contents

  • I. Introduction - Why Choose Linux In The First Place?

    II. What Basic Knowledge Do You Need In Order To 'Understand' Linux? (And Some Additional Tips)

      a. The People Who Don'T Often Use A Computer

      b. Someone Who Is Actually Tech-Savvy But Never Used Linux.

      c. The Gamer

      d. The Programmer

      e. The Artist

      f. The Video Editor/Film Maker

      g. The Musician (Voice Actors, Music Producers, Etc.)

      h. The Writer

    III. Common Misconceptions

    IV. List Of Things That I Do/Do Not Recommend

    V. EXTRA CONTENT

      a. People or sites that I would highly recommend checking out for more tips

      b. Linux Vocabulary

      c. Cheat sheets for useful folder locations

      d. File partitioning

  • I. Introduction - Why Choose Linux In The First Place?

      Because Linux is about freedom. You have a choice that other operating systems may not offer you. You can customize a 'Linux system' in any way you want, install or remove any kind of software from it, micro-manage the tiniest details.

      It's not just a 'nerds' thing, it's a thing for anyone who is willing to at least give it a chance. The Linux community has evolve a lot in the past decade. So much so that Linux is almost trivial to operate by the humble users who purely want a 'Windows' or 'macOS' experience.

    There are many of tutorials on Youtube which are really easy to comprehend and will help you get started quite easily. Linux is also known for being lightweight on resources out-of-the-box for both older and modern computers.

     The journey of learning how to "use" Linux may seem hard and chaotic at first but as long as you're willing to put the time and effort into learning some basic things, you will be able to overcome such difficulties. If you are unsure whether or not Linux is for you, I'd highly endorse just trying it on a virtual machine.

    You can even try it out on your browser for free.

    II. What Basic Knowledge Do You Need In Order To 'Understand' Linux? (And Some Additional Tips)

      I compiled a Linux vocabulary below, I hope that it will help you understand just enough basic terms used in the Linux community.

    Some terms may not be useful for your journey so feel free to skip anything that doesn't catch your eye.

    (just CTRL+F any term that seems strange during your read)

      It really depends on your needs. Certain people use it because it's not as bloated as Windows or just to experiment with something new and unknown.

    I will make a few specific categories for very specific categories of users who might wish to migrate to Linux.

    What to expect - another introduction

      Terminal - this is where you might spend most of your time on Linux. Instead of using GUIs (Graphical User Interface), the average Linux user often has to insert

    commands into a terminal. (Don't dwell on it, you won't have to use it if don't want to. But don't expect to have an GUI for everything.)

      Software and drivers issues - You won't be able to run software specifically made for Windows/Mac OS so well. (Mac OS is UNIX based, not Linux based.).

    Wine can run Windows applications, sometimes quite well, but other times it doesn't work at all. Bottles is a more recent project made for running Windows software, I haven't tested it.

    You could likewise use an emulator such as QEMU which runs pretty well but it requires some tinkering and patience.

      The out-of-the-box experience is easier to find than you'd expect. There are distros purely dedicated to being user-friendly and easy to use. (Which means you won't have to use the terminal most of the time.)

    Alas, the most laking feature in Linux is the lack of popular software that people use on Windows.

    It's easy to find alternatives but the hardest part is getting accustomed to it. I will cover that issue soon for each category of user I could think of.

      For those who are more tech-savvy and want a challenge, well Linux does in fact offer a challenge. You will have to get accustomed to using the terminal, keybindings and most likely the ugliest GUIs you've ever seen or no GUI at all 99% of the time.

    Tinkering with your 'Linux desktop' and learning everything that you want to learn might take some time especially if you're not the type to read instructions, it's such a blast and pretty worth if you have the free time.

    (Get ready because by default you will throw away every PC/laptop you own and acquire a ThinkPad, just kidding.)

    The Arch wiki has a list full of available software for Linux so make sure to check it out in case I do not provide enough information.

    a. The People Who Don'T Often Use A Computer

    (People Who Use Computers For Trivial Things But Still Know A Few Basic Things Like Installing Applications)

      Even though several Linux distributions were built to be more user friendly, this path will make you rely on other people's software. Be careful with what you choose to use.

      With that out of the way, there are many great distros you can choose from. I highly encourage choosing a distro which is widely used since it has more hardware support and a good deal of software to offer.

    For example, Ubuntu and its derivates have a software centre which makes installing packages a lot easier. It also comes with a straightfoward installer.

    Once you're done with the installation, by default most of your needed software/drivers have already been installed. Except for the software you want of course. 90% of Linux distros will have Chrome or Firefox by default, a good file manager, video player and other apps you will need.

    Things may work very differently than how it did back when you were using your preffered OS but with time you will get accustomed to it. As long as you don't dive head-on into something and panic, you will likely not have many issues on Linux.

    b. Someone Who Is Actually Tech-Savvy But Never Used Linux.

    You will have to do a lot of reading. That is all I could say really. A few helpful resources to get you started have been listed at the end of the article.

    c. The Gamer

    Depending on the game you want to run, a handful of games feel like they run natively but others won't even run at all. (Which might require running an emulator. Don't worry much about my warning because the Linux community cares about gaming.)

      There are gaming-centered distros for the Ultimate Gaming Experience TM but you will still face a lot of issues which will have to be handled manually.

    More specifically, you will face a lot of issues if you don't use Steam.

    Steam has a compatibility tool called Proton that allows you to run Windows games on Linux almost flawlessly. It's not perfect but it's there. (Some games run only using older versions of Proton, so be careful. Additionally, I'd recommend checking these sites for checking how well a game can run on linux: protondb lutris )

      Another great thing from Proton is the Easy Anti-Cheat support (you can run games like DBD and Apex Legends). I would recommend installing steam tinker launcher for any other extra modifications. (i.e installing Vortex or a custom version of Wine)

    Other platforms don't support Linux at all, unless the developer made the game compatible. It's especially difficult to run multiplayer games, but not impossible.

    Grapejuice is a wrapper that makes it possible to run Roblox. (both App and Studio) It performs spectacularly well.

    Other dedicated programmers made their own wrappers: Heroic Games Launcher for Epic games, Minigalaxy for Gog Galaxy, Itch for itch.io.

      With the exception of Valve, no other gaming company tries making their anything compatible to Linux.

      There is also Lutris which is able to run games from multiple launchers. (including the afformentioned and more. It used to run Overwatch 1 pretty smoothly.)

    The drivers and the process of improving Linux for gaming might get troublesome for those who lack technical knowledge.

    It's usually better to have an AMD GPU/CPU since it's better supported on Linux than anything from Nvidia and/or Intel. (Nvidia has proprietary drivers and many Linux users despise the fact, thus getting you stuck using the lousier nouveau driver depending on your distro. )

    Not to worry because the internet is full of tutorials which will help. (e.g. This guide on Steam )

      Overall I recommend installing a well-known distro with a lot of packages since it has better support for gaming.

    Be careful in case you might need proprietary drivers, some linux distros DO NOT support proprietary drivers at all.

      Addendum: For the gamers who use RGB devices exclusively and want a GUI for modifying their lights, there's openRGB (likewise available on Windows) A

    lso, there are other open source alternatives, especially for razer device.

    Moreover, I would suggest checking out QEMU along with KVM for emulating games. ( This video is a great example - it performs quite well, admittedly the user has an above average setup.)

    d. The Programmer

    *Apologies, programmers. I know this is lackluster. This is not my area of expertise at all.

    I'm pretty sure that there is a lot of helpful applications for programmers since the community is full of them. (Just don't mention C++ or Java.)

    e. The Artist

      The artists actually strive on Linux. 3D artists have access to programs like Blender which can be used for rendering absolutely stunning animations.

    2D artists got Krita which is open source and can be installed on most linux distributions. Pinta is another drawing program which is similar to Paint.net. Storyboarder by wonderunit, as the name implies, is for animators and it seems pretty decent for its purpose.

    The vector and graphic desginers can use GIMP or Inkscape.

    Driver-wise, I'm not so sure. I own a drawing tablet and it works without installing any drivers. (that or I might've had the drivers installed by default).

    There might be tutorials on the official site of said product. (most likely for Ubuntu)

    f. The Video Editor/Film Maker

      You're out of luck because running Adobe software and Sony Vegas on a Linux machine can prove difficult. Fortunately, there are still a few alternatives for you.

    Olive and Shotcut are good enough if you want to make simple edits. There is also Da Vinci Resolve which is considered pretty good for a freeware.

    OBS is open source and available on linux and it works as well as it does on Windows.

    g. The Musician (Voice Actors, Music Producers, Etc.)

    *I do not have any expertise in this domain.

      Music is as free as software. There are many great music producing programs such as LMMS. Audacity is available for Linux but if you do not wish to use it due to recent controversies there is also Tenacity (currently on hiatus).

    I don't have any experience with actual microphones so check out the producer's site, maybe they have something for Linux or it might even work out-of-the-box.

    h. The Writer

    *I also lack expertise in the area, unfortunately.

      LibreOffice offers pretty much what Microsoft Office offers. (it might take some time to get used of the UI)

    OpenOffice exists, though it sucks. (based on a beta reader's opinion, I ditto.)

    There are more office suites available, more specifically, open source ones. (e.g Collabora Office)

      In conclusion, you will have to switch to open source programs most of the time and there might be issues with finding and installing drivers but you might also be in luck and your product might work out of the box. Be careful in case you need proprietary drivers.

    title

    III. Common Misconceptions

    !Android is based on Linux so there should be a few similarities right?

      You've probably heard that Android is based on Linux. Android has been heavily modified, so modified that the similarities between it and Linux can barely be observed. There is a huge difference between a desktop and a phone, so don't expect any similarities.

      Linux is very versatile and the distros you might experiment with might turn out to be totally different from one another. But there will still be similarities, even if they're unnoticeable.

    title

    !Linux is only used for running servers.

      There might be some truth to that statment. People run Linux on their servers because it comes with more advantanges than the other contenders. (Linux is known for being secure and free)

    There are certain Linux distributions made specifically just for that purpose yet most of the linux distros you will encounter will be dedicated towards regular desktop usage.

    !Linux is COMPLICATED and shouldn't be used by inexperienced users who have no programming knowledge.

      Everything has a beginning. To new users it certainly seems very difficult to get accustomed with Linux but that doesn't mean you won't learn.

    You can constantly search without any pressure from anyone.

    It gets as complicated as you'd like.

    You can install an "out-of-the-box distro" like Zorin OS or an Arch-based distro with a Calamari installer

    (Arco Linux is an Arch derviate that prides itself for teaching people how to use Arch, I cannot attest to that as I haven't used it myself).

    Programming might help you in certain areas but depending on your needs you might not need any of that knowledge at all.

    Hell, I hate programming and I use Linux. (maybe I prefer "coding" websites but it's totally different from actually knowing a programming language)

    !Linux is 100% secure.

      Nothing, and I mean NOTHING can be 100% secure and private. There will constantly be bugs, backdoors and zero-day issues in software and other codes.

    Just because Linux is only used by a small percentage of users doesn't make it invulnerable to such things, it just means that hackers have less of an interest in exploiting it.

    Trust me, people have created malware for Linux, it is rare, yet it still exists. Linux may have an advantage over Windows.

    A trojan would not be able to spread to multiple computers like how it does on Windows.

    The best thing to use in order to avoid malware or anything malicious is common sense.

    Moreover, it really depends on what distro you choose. Some distros are better equipped than others.

    Or if you truly are skeptical about everything and everyone you could make your own distro.

    !You must follow a certain philosophy.

    *I don't wish to develop this part further since I have no interest in the GNU philosophy nor copyright licenses.

      There are some people who firmly believe in the GNU philosophy .

    Linux is basically the GNU system which is why this philosophy is important to certain users.

    Long story short, only using software that is ethical to said filosophy, i.e software which only follows one function (e.g systemd, a service manager. does more than one function does not making it eligible) and overall free software that doesn't have a bloated code.

      Unrelated to the philosophy, the linux community, composed mostly of programmers, is keen to using open source software and condemns closed source programs.

    Linux is all about freedom and the freedom to choose how you shape your desktop.

    You can certainly install proprietary software or any kind of applications really.

    No one is stopping you from making any choice, even if it's terrible or good.

    !You MUST use an 'advanced' distro in order to know more.

      Please do not try an 'advanced' distro just because someone pressured you to do so.

    The Gentoo/Arch linux installation process could take hours depending on how determined you are.

    Indeed you may be able to pick a few things from here and there and it may be able to help you diagnose certain technical issues but it's very a tiresome and useless process

    if you don't want to apply that knowledge further or straight out don't care about that.

    It's okay to be a simple user who just wants to use Linux just because you can, it won't make you 'inferior' from other users who want to learn more about Linux.

    IV. List Of Things That I Do/Do Not Recommend

      This won't be composed of every single distro/desktop environment/window manager or have any complicated explanations. This list is solely based on my experiences and views so it's pretty biased.

      As I mentioned in the vocabulary, each Linux distro has its own 'flavor' even if it's based around another distro, it's still its own unique thing. Don't worry if you can't still choose your distro after testing a handful of them, choosing your distro takes a lot of time.

    Ubuntu and its derivates (Pop OS, Linux Mint, Peppermint OS, etc.) - It's an okay distro, the best known and it's very user friendly.

      It has all the programs that anyone would need and also has a software centre.

    Pop OS is a distro made for gamers. Mint OS and Peppermint OS are other derivates that are less bloated than Ubuntu.

      I would recommend Ubuntu and other Ubuntu-based distros (mostly the afformentioned) to new users.

    The fact that it's very user friendly and has lots of GUIs makes it easier for the new users to transition from Windows or any other OS to Linux.

    Debian and its derivates (MX Linux, antiX, etc. )- Maybe one of the oldest distros, Ubuntu is based on Debian , I'd say that Debian is quite all right as well, although I barely used it.

      Another standard distro that everyone knows about, I would recommend it because it's pretty lightweight (including the afformentioned derivates).

    Arch Linux and its derivates - I use an Arch-based distro and everything is running fine and dandy. Might not have as many packages as Ubuntu or Debian but it's pretty good, I'd recommend it for gaming.

      Arch Linux additionally has AUR (Arch User Repository) which is great for getting more packages. You can also use Octopi if you prefer installing software through a GUI.

    The new users can get the Arch Linux experience sans the complicated installation process by using any Arch-based distro with a Calamari installer.

      I highly recommend using Arch or any of its derivates, except for Manjaro.

    Beware, Arch Linux does have some big issues with updates and bootloader. So make sure not to interrupt any updates or your system will get messed up. (It happened to me.)

    Gentoo and its derivates (Funtoo, Redcore) - Gentoo is complicated. Its package manager can be quite a pain to use if you do not configure it properly as the compiling times last longer than expected.

    Also the entire installation process takes a long time to understand and writing something incorrectly will ultimately ruin all your effort.

      I would certainly not recommend it to new users, although Redcore may be a better alternative installation-wise if you're still curious. (it has a Calamari installer but it only comes with KDE by default)

    Void OS - Void OS is an independent distro like Arch and Gentoo. I've been using it for a while, although it offers a limited amount of packages.

    It's a fine distro, nothing too special. I wouldn't suggest it to new users.

      I would however recommend it to the users who want to tinker more with Linux.

    Solus - It didn't perform to my expectations last time I used it but it's still a decent distro with a limited amount of packages. I have mixed feelings when it comes to recommending it.

    Bliss OS - a silly recommendation for anyone who wants to try out using Android on their computers. It has a few bugs so I would recommend NOT TO install it directly on your computer but instead emulate it on a virtual machine.

    I'd recommend being very careful when choosing your distro, especially those who do not have a lot of support.

    b. Desktop environments that I do/do not recommend

      Choosing a desktop environment is not that big of a deal, I use XFCE most of the time, it might look uglier but it does its job.

      I would not recommend GNOME for the fact that it's pretty resource-heavy in my humble opinion but at the same time it's really easy to customize it. (you can add extensions like this one )

    KDE is another desktop manager that is often found in installers. I dislike it for its pre-installed software that you straight out cannot uninstall (or at least I didn't bother to research much on it) but it's a fine desktop environment for the users who just want a more out-of-the-box experience.

    Cinnamon, usually known to be used on Linux Mint, feels very standard. It's not resource heavy and its GUI is facile to use. I would recommend it to new users.

    c. Windows managers that I do/do not recommend

      Most desktop environments come with a WM already pre-installed so you shouldn't worry much about your WM unless you want to customize/rice your linux distro further.

    Windows managers are often used for tiling windows and keybindings.

    i3, Awesome WM, DWM, BSPWM and Xmonad are the ones that are most often used. I often used EndeavorOS with Sway preinstalled. Sway has caused me a few issues but I'd still recommend it.

    V. EXTRA CONTENT

    a. People or sites that I would highly recommend checking out for more tips

    Your distro's forum or server for technical difficulties. (PLEASE READ THE WIKI OF YOUR DISTRO FIRST BECAUSE IT HOLDS VITAL INFORMATION THAT WILL HELP YOU. ALSO, PLEASE DON'T ABUSE PEOPLE'S KINDNESS, THESE PEOPLE AREN'T PAID TO HELP YOU AND THEY ARE JUST REALLY DEDICATED USERS.)

    The Arch Wiki

    (Yes, just the Arch wiki because it's very informative on bugs and other technical things in a very succinct way. It's really easy to read, I swear. Additionally, it's still useful even if you don't use an Arch-based distro.)

    Howtogeek (Has tutorials for literally anything tech-related)

    Vimified (Helpful for learning the vim keybindings.)

    Distrotube

    (This channel contains reviews on software for Linux and distros. It also has some nice explanation videos on basic things.)

    Mental Outlaw

    (Has some nice Gentoo tutorials. He sometimes presents some useful software or just tech news in general.)

    Veronica Explains

    (I haven't watched this channel much. It's very tech savvy yet it contains a decent chunk of useful tutorials for beginners.)

    Linuxcommand (Learn the basic commands)

    Slant (I like how the site's overall reviews are organized.)

    Alternativeto (Pretty good for finding alternative software for anything.)

    JUST SEARCH. The internet is a vast sea of resources and it holds the answer to many questions. (Yes, even very specific technical problems.)

    Linux vocabulary

    Name

    Definition

    Kernel

    A kernel is the seed of it all, one of the most basic things of your system.

    It allows you to run your basic programs and more. That is what Linux is in fact.

    Linux IS NOT an operating system but the kernel of it.

    People actually put effort into writing their own Operating System with their kernel being Linux.

    UNIX

    A propietary OS widely used a long time ago. Many OSes are derived from it, including Linux and macOS.

    Operating System (OS)

    This is what you actually use for your basic needs, the main software that manages everything inside your computer.

    Window manager (WM) (DWM, i3, Awesome, etc.)

    It manages your windows (e.g how they look, where and how they're placed).

    They also come with their own taskbar.

    (a taskbar is the bar often located on top or at the bottom of your desktop, it contains a start button, icons or anything else you want it to have.)

    Desktop environment (DE)

    (GNOME, XFCE, etc.) - The common graphical interface of your computer

    (may include management of your basic user settings, toolbars, anything that a basic desktop needs pretty much).

    It NEEDS a WM or your windows will be crappy. (Trust me, I accidentaly removed mine and it was horrible).

    You do not need to install a WM since most desktop environments have their own WM which gets preinstalled.

    (Unless you want a different user experience, you can change your WM although I would recommend you to be careful if you are a beginner.)

    SuperUser DO (sudo)

    The allmighty administrator, root is its traditional name.

    Be careful when you're using a command with sudo, you're giving all the priviledges to it which can harm your system.

    (Sudo has more permissions than a Windows' admin.)

    Repository (repo)

    A database of packages.

    Package

    The software's files except it's all compressed.

    Dependency

    It's what your software needs in order to work properly.

    (it's like having to install Microsoft Visual C++ for a certain program.)

    Package manager

    It's pretty intuitive, it manages your packages and makes the process of installing software much MUCH easier.

    You can uninstall, upgrade/update your software using it. Each distro has its own package manager.

    BEWARE, some distributions might have less packages in their database than others, which may suck for your depending on your needs.

    AppImage

    Portable software (it's like running an '.exe' file except on Linux)

    Flatpak

    You can run software in an isolated environment (known as sandbox) across many distributions.

    Some people use it when their distro doesn't have many packages but it's not very secure.

    Snap

    Similar to Flatpak except Snap is a lot older and made by the devs of Ubuntu. It's pretty controversial.

    Compiling

    This is what happens when you lack a package manager, you have to install all the software manually.

    (it's not as hard as it sounds depending on the distro and also what type of software you want to install)

    PLEASE DO NOT TRY COMPILING SOMETHING BIG LIKE A WEB BROWSER, it will take you an eternity.

    Try using it in an Appimage format, preferably also using AppImageLauncher.

    Distro (distribution)

    The different operating systems that use Linux as their kernel. Each 'distro' has its own 'flavor'. (Gentoo, Arch linux, Debian and other such distros are an example)

    Rice

    In my opinion, it's the act of customizing your Linux distro so it could look more 'aesthetic'

    or pleasant using all kinds of means without caring much about functionality. (see more examples in r/unixporn or by simply searching)

    (for those who are curious about the origins of the term)

    Fork

    A copy of the original program/code that has been modified by someone in some capacity.

    For example, Librewolf is a Web browser which is a Firefox fork.

    Its main purpose is to be more secure and private than Firefox by having certain settings modified by default.

    Open-source and Closed Source or Proprietary Software

    From the EFF Site : Open source software, or free software, is software that can be distributed freely in a form that lets others modify it and rebuild it from scratch.

    While it is known as “free software," it's not necessarily free as in zero-cost: FLOSS (Free/Libre and Open Source Software) programmers can ask for donations, or charge for support or for copies. Linux is an example of a free, open source program, as are Firefox and Tor.

    Closed source is when a software's code is private or unavailable to the public's eyes, which makes the software proprietary.

    Freeware

    Free Software (it doesn't mean that it's Open source by any means, it just means that it's free to download.)

    FOSS

    Free Open Source Software

    UI

    User Interface. It's basically what you interact when using a software or browsing a site. (e.g the font switcher from Microsoft Word)

    GUI

    raphical User Interface. Instead of lines of code processed on a terminal you can operate a more visual representation of that.

    (Like pressing a switch to turn something off instead of issuing a command for it to turn off.)

    sudo rm -rf /*

    If someone tells you to run this command DO NOT DO IT. It will delete everything from your system.

    title

    A representation of the system, more precisely showing where the kernel is located at in comparison.

    c. Cheat sheets for useful folder locations

    (This was made purely to pinpoint certain locations, in no way a replacement for a proper explanation.)

    ( this site offers a more in-depth explanation for those who are interested)

    Depending on your distro, file locations can vary significantly. Especially if you use something like Flatpak to install software.

    Some files may be hidden by using a '.' at the beginning of the file name.

    I highly suggest that you check the 'show hidden files' option if you wish to tinker with the configuration files of your system or just find useful files like your game save files.

    ~/.local/share/ - may contain save game files or the files of other programs

    /usr/share - global configuration for some distros

    ~/.config - local configuration

    The '~' in ~/ signifies the user folder. (/home/$USER)

    d. File partitioning

    Instead of C: or F: you got /dev/device_id or /dev/sd[a-z][number] (e.g /dev/sda1) - your partition editing application will provide you with more information.

    ext4 - very commonly used file system during partitioning. Trying to access a disk that uses ext 4 on Windows is pretty hard so beware. Same goes with most types except ntfs.

    btrfs - another type of file system.

    Linux swap - Usually used when your physical RAM is fully used. Linux takes some storage space for RAM (so yeah installing RAM)

    End note: This article can be modified at any time. I still take any kind of criticism, so feel free to contact me. (I would love making a Q&A of sorts in the future)

    Furthermore, I would like to thank Tsvety for being a great beta reader and providing much needed feedback.