Switching to Linux
By OPGman
Published on June 12, 2024
Last updated on October 20, 2025
Table of Contents
Introduction
As a long time Windows user, the idea of switching to Linux used to be nothing but a joke to me. Over the past couple years however, I've gotten fed up with many of the things Microsoft is doing with Windows, and I started looking into using Linux as a daily driver. It didn't take long for me to realize that it was a suitable alternative, and eventually all of my PCs were switched over to it. This guide will cover why I think Linux is generally a better alternative to Windows, how to get started using it, and many of the differences between Linux and Windows that you should know.
Before we start, please take note of a few things:
- Linux is NOT perfect. Going into it thinking it's going to work flawlessly and do everything better than Windows is the wrong mindset to have, because in most cases it simply isn't true. It's entirely possible for you to have a flawless experience, but it's not something you should ever expect from any operating system. The most important thing is that you need to be willing to learn and do your own research. This guide will cover a lot of ground, but it's impossible to cover everything.
- This guide is mainly designed for Windows users. While macOS is mentioned occasionally throughout the guide, it's not popular enough for me to justify covering it as extensively as I did with Windows.
- This guide contains a mix of my own experiences and factual information with citations. While I aim to make the information in this guide 100% accurate and easily verifiable, some information could be wrong or might lack proper citations. If you find any problems or have suggestions to add or change something, feel free to create an issue on GitHub.
Why Linux?
This first section will cover why myself and many other people have chosen to use Linux over alternatives. If you've already decided you want to switch, you can skip to the Linux Overview section.
Privacy
You might not realize it, but the concept of privacy in the digital world is slowly degrading, and has been since the early 2000s. Governments, companies, and other groups are interested in collecting a wide variety of information about you, for several different reasons. This guide will only cover certain companies collecting your data, however, as it is the most relevant in the context of Linux.
Microsoft is well known for including things in Windows that put your privacy at risk. Windows 10 and 11 are full of trackers and telemetry that send data that uniquely identifies you back to Microsoft, and OneDrive is known to upload your documents to the cloud without your consent. Even if you turn these things off or delete them, there's a chance they will reactivate or reinstall after a Windows update. On top of that, Windows 11 now includes a feature called Recall that takes pictures of everything you see on your screen, every 5 seconds, and has an AI analyze them so the information in them can be "recalled" later. Originally, this feature was enabled by default and the screenshots were stored in an unencrypted database on your PC. While these issues have since been fixed, the privacy concerns of having an AI monitor everything you do still remain, especially since Microsoft can make it enabled by default again, or change their privacy policy to retrieve the data collected by the AI at any time.
Apple isn't much better. They've recorded people's conversations with Siri, failed to remove iCloud files that users deleted, allegedly tracked app activity even when the setting was turned off, and disabled end-to-end encryption for certain iCloud features in the UK. While these privacy controversies involved the mobile and cloud spaces rather than macOS specifically, this history shows that Apple cannot be trusted with ensuring the privacy of their users.
Most software made by Microsoft and Apple is closed-source, meaning nobody outside of the company knows exactly what code is running on your computer. There are ways to find out without having the source code, but they're extremely technical and typically require extensive research by cybersecurity professionals. On the other hand, most Linux distros do not have any sort of data collection, and even the few that do have it turned off by default. Your private data is generally a lot safer because most software for Linux (including Linux itself) is open source, so not only is it a lot harder to hide malicious code that steals your data, there's also little incentive for these projects to be collecting your data to begin with, because most of them are not in it for the money.
Some people think that online privacy doesn't matter if they have nothing to hide, but I completely disagree. This section is already long enough so I'm not going to rant about that, but if you're willing to have your mind changed, this article tells you everything you need to know. This website in general is a fantastic resource for everything related to online privacy.
Security
You can't have privacy without security, and while nothing is ever 100% secure, Linux-based systems are generally more secure than Windows for several reasons:
Security Through Obscurity
Linux is significantly less popular than Windows and macOS in the desktop space, which means that malware creators have less incentive to target it. This could certainly change as Linux grows in popularity among desktop users, but there are other factors that still limit the effectiveness of malware on Linux. There's a somewhat common misconception that malware for desktop Linux doesn't exist, which isn't true. Any type of computer can be susceptible to malware infections. The risk might be low, but it's never 0%.
Better File System Permissions
Linux uses file and group permissions to determine who is allowed to access and modify what. Each file has read, write, and execute permissions that can be restricted to certain users or groups, and both users and programs can belong to groups. System files are protected with these permissions, and cannot be modified by any program unless it's running with root permissions, which is discussed in the next section. Windows has file system protections as well, but they're not as in-depth as Linux. Protections for system files on Windows are not consistent and sometimes don't even need admin privileges in order to modify, which opens up opportunities that malware can take advantage of.
Better Admin Permissions
Tying into the group permissions, Linux has a special group called root, which is basically the system group. It has access to the entire system including all protected files. Users can only gain access to this group temporarily by prepending a command with 'sudo' in the terminal, or by having a GUI program prompt for it. Sudo will require the user to enter a password, which is typically setup when the OS is installed. Root access is typically revoked once the program that required it has been closed.
Most Windows home users will have some admin permissions at all times due to how admin accounts work. This decreases security since some system files only need basic admin permissions in order to be modified. On top of that, Windows also uses a prompt (called User Account Control, or UAC) to escalate admin privileges up to the next level, which people are typically accustomed to clicking "yes" for without seeing what program is requiring it. The UAC prompts also have several exploits that allow malicious programs to completely bypass them without the user ever knowing, some of which still work on modern Windows versions.
No Kernel-Level Access
Unlike Windows, Linux does not allow any random program to run code at the kernel level, also called ring 0. This is extremely important, as ring 0 gives programs full access to your entire system without the need for admin privileges. This is why most video game anti-cheats will not run on Linux. Many of them run at the kernel level on Windows so they can monitor for cheating by reading the memory of other programs. The only way to run programs at the kernel level on Linux is to compile them from source and install them into the kernel, which doesn't work for proprietary software like malware and anti-cheats.
Transparency
Many Linux programs (and the Linux kernel itself) are open source, which allows anyone to view the code and determine whether or not it's malicious. Many popular open source projects are audited by independent organizations and individuals to verify that the software is safe to use. Windows and macOS are developed exclusively by corporations and are not open source, so if they want to do something malicious or unwanted, it's eventually going to affect everyone due to forced updates, and you likely won't be able to do much about it.
Verified Apps
Installing programs on Linux is generally safer than Windows due to how most apps are typically installed. Each distro has a repository of programs that have been verified to be safe. Some distros also verify that the program is stable enough to be used regularly. There are also Flatpaks, which are self-contained programs that run in a partial sandbox, and also have their own verification process. These systems will be discussed in more detail later.
Better Updates
Windows tends to bundle security updates with content updates and bug fixes. If a content update ends up breaking something, you can roll it back, but doing so would also roll back any security patches that were included with that update. On Linux, each program and library is installed and updated separately. You can choose exactly what you want to update, and updates aren't forced unless you want them to be.
Long Term Support
Windows versions are typically supported for around 10 years. Once support ends, that version will no longer receive security updates, which can potentially leave it permanently vulnerable. There are certain ways to get extended security updates, but even with these you will eventually need to upgrade to a different OS.
Every Linux distro handles long term support differently, but generally speaking you will never have to worry about missing out on security patches or any other updates as long as you keep up with distro upgrades. These upgrades are less like moving from Windows 10 to 11 and are more like moving from Windows 11 24H2 to Windows 11 25H2. With rolling release distros, upgrades aren't even a thing because every package is constantly on the latest version. Linux is also now the only "main" option for running modern operating systems on 32-bit hardware, as Microsoft has dropped support for it with Windows 10's end of life, and Apple dropped support for it years ago.
Freedom
Unlike Windows and macOS, Linux gives you absolute control over the entire system, provided that you have access to the sudo password mentioned earlier. You have the freedom to install, modify, and remove absolutely anything, including parts that really shouldn't be touched because doing so could break the entire system. With Windows and macOS, you're stuck with whatever functionality Microsoft and Apple want you to have. There are many parts of both operating systems that cannot be removed, disabled, or modified no matter how hard you try.
Linux Overview
This section will cover the basic functionalities and quirks of Linux including a lot of the terminology you'll come across.
What's a distro?
Distro is short for distribution. It's typically considered to be an operating system that runs on the Linux kernel, comes with various free open-source software (FOSS) pre-installed, is designed for desktop use, and is available to be used and distributed freely by the public. The problem is that there are many definitions, and some operating systems might fit this definition but are still not considered distros, and vice versa.
You might hear someone refer to a distro as GNU/Linux. This is in reference to the GNU operating system. A lot of distros adhere to the basic philosophy of GNU, which is essentially to build an operating system using only FOSS, but most mainstream distros aren't considered free by GNU's strict definition, so they technically aren't GNU/Linux.
The semantics of it is confusing and pretty much pointless to try to understand. The key takeaway is that most desktop operating systems that run on Linux are considered distros and are also referred to as GNU/Linux.
Terminals
The terminal is a core part of the system that allows users to input commands, like the command prompt on Windows. Terminals that open in a GUI window are technically called terminal emulators, because they're replicating the functionality of the regular terminal, but they are much more customizable. People who are looking to switch to Linux often dread having to use the terminal, but the reality is that you will rarely ever have to touch it on beginner-friendly distros, where pretty much everything is done through a GUI. Even if you do have to use it at some point, it really isn't that bad. Just remember that you should never enter random commands without knowing what they do.
Shells
Shells are responsible for processing the commands you enter into the terminal. The most basic shells that come with most distros include Bourne Shell (sh) and Bourne Again Shell (bash). Certain shells such as Z Shell (zsh) and Friendly Interactive Shell (fish) include more advanced features like syntax highlighting, autocomplete, suggestions, git integration, and error detection. Most terminal emulators will let you change what shell it uses. You can also interact with shells outside of a terminal by using shell scripts.
Desktop Environments
Desktop environments are basically the graphical meat of the operating system. They include things like the taskbar, start menu, wallpaper, desktop icons, and the alt+tab menu. Unlike Windows, there are several desktop environments available for Linux, and they all have distinct features. Some of the most popular include KDE Plasma, GNOME, Cinnamon, Xfce, LXQt, and MATE. Most distros come with a desktop environment pre-installed, and many let you choose between different ones before or during installation. If you're coming from Windows, KDE Plasma and Cinnamon are going to feel the most familiar.
Tiling Window Managers
Tiling window managers are like desktop environments without the desktop. They tile program windows to ensure that they never overlap, and support a ton of keyboard shortcuts so you never have to use the mouse. Many Linux enthusiasts swear by using them to maximize productivity. Some of the most popular include i3, Sway, and dwm.
File System
File Structure
The Linux file structure is very similar to Unix, so if you're coming from macOS it's going to feel familiar. If you're coming from Windows, it's going to feel a lot less familiar for several reasons. Firstly, drive letters aren't a thing. The root (aka the very first level) of the system drive is identified by a single forward slash /. All other mounted drives are accessed through either the /mnt or /media directory, depending on how it was mounted. Removable drives (USB,CD,Floppy) are typically found in /media, while permanent drives (HDD,SSD) that get mounted at startup are found in /mnt.
Next, user files are located in /home/[username], which in some cases can be shortened to a single tilde symbol ~. Similar to the Windows AppData folder, user-specific program data is located in hidden folders inside the user folder called '.config' and '.local'. The /home directory can sometimes be located on a separate partition or physical drive depending on how it was configured during installation, but this won't change how you access it in the file structure. The rest of the system directories aren't as important for beginners to know, but you can still read about them if you'd like.
Mounting Drives on Startup
Any extra internal drives that you might be using alongside your main system drive are not automatically mounted on startup unless you manually set them to. The easiest way to do this is to download the GNOME Disk Utility, click the target disk, click the partition you want to mount, click the box with the play icon in the middle, click Edit Mount Options, then disable the toggle for User Session Defaults. You can change the mount point to a different name like /mnt/Disk2 to make it easier to find if you'd like. Just don't use spaces or special characters. You might also have to click the Take Ownership option to allow other programs to write to the drive.
If these drives are still formatted in NTFS from Windows, I highly recommend reformatting them to ext4 before doing anything with them. Linux technically supports NTFS, but due to how the permissions work, it can cause write errors and performance issues in some cases.
Cleanup & Maintenance
Disk cleanup isn't as necessary on Linux as it is on Windows, so most distros don't come with any sort of cleanup tool by default. If you want to clean up unnecessary system and app files, I recommend BleachBit. Most software and update managers will automatically clean up their own unnecessary files, if not they usually give you an option to do it manually. The only files you might need to clear manually are caches and core dumps in the root folders. You can use a disk usage viewer such as Filelight to see how much space these files might be taking up.
Manually defragging hard drives on Linux isn't necessary. The ext4 file system will scatter files around the disk to leave plenty of space for them to increase in size. Fragmentation only starts to happen when the disk is around 80% full, which at that point Linux will start a defragging process in the background just like Windows does.
Security
File & Group Permissions
Linux uses file and group permissions to determine who is allowed to access and modify what. Each file has read, write, and execute permissions that can be restricted to certain users or groups, and both users and programs can belong to groups. For the most part, you won't need to mess around with file permissions too much. The most likely scenarios where you will are when a file needs to be owned by you for a program to write to it, or when a program file needs to have execute permissions to run. In these cases you can use the 'chown' and 'chmod' commands respectively.
Root Privileges
If you want a program to make changes to a restricted part of the system, you will need to give it temporary root permissions by running the program with the 'sudo' command, which stands for superuser do. Giving a program root permissions will allow that program to have full control over the ENTIRE system, including OS files, the bootloader, connected hardware devices, and the documents of every user. Because of the power you're granting, you should only run things with sudo if it's absolutely necessary, like updating system files or installing new programs. NEVER use sudo with commands or programs that you don't trust or recognize.
Drive Encryption
Some distros give you the option to encrypt your home folder and/or entire drive. I personally don't recommend it unless you're using a laptop that you travel with, or live in an area where burglaries and thefts are common. It can cause issues with certain programs (including Steam) and slow down older systems. It also makes data recovery in the event of a drive failure much more difficult.
Risks
Contrary to popular belief, Linux is not fully secure. There are certain factors that could make your system less secure compared to Windows. For example, many Linux distros don't come with a firewall by default, and even the ones that do come with one have it disabled by default. You can certainly install a firewall yourself (I recommend OpenSnitch), but you have to know what you're doing in order to properly configure it. Having a firewall isn't absolutely necessary, but it's good to have that extra layer of security.
There are also additional risks introduced when Wine is installed on your system. As Wine continues to evolve, more and more Windows programs have the ability to run out of the box on Linux, and running programs through Wine bypasses the file system's executable permissions. Furthermore, neither Linux nor Wine come with any sort of anti-virus, so there isn't a system in place to scan programs and files for malware. This isn't meant to scare you out of using Wine, it's a very useful tool that I highly recommend, but you need to be careful about what you run with it.
Graphics
X11 & Wayland
These are the two graphical backends available for Linux. X11 has been around for decades. It's slow and insecure but also very stable. Wayland is faster and more secure, but its also newer and less stable. Development of X11 has effectively stopped and Wayland is slowly taking its place.
What does this mean for you? Mostly nothing. The distro you end up choosing will likely handle the switch over to Wayland without you ever knowing. The only time you need to worry about X11 vs Wayland is if you have multiple monitors with different refresh rates. If you do, you need to make sure the distro and desktop environment you choose supports Wayland, because X11 will force all monitors to have the refresh rate of the monitor with the lowest one.
Nvidia Drivers
If you have an Nvidia GPU, you will need to install a proprietary driver for it to work properly on Linux. Most distros will prompt you to install it, but some won't allow you to install it at all, so just be aware of that when choosing a distro. Any Nvidia GPU older than the GTX 900 series won't work with the modern drivers, so you might have issues running certain games on any GPU made prior to 2015. If you have an AMD or Intel GPU, you won't have to install a proprietary driver and everything should work out of the box on most distros.
Software Management
One of the most noticeable differences between Windows and Linux is how software is installed. Each Linux distro comes with a program called a package manager. These are terminal-based (and sometimes also GUI-based) tools that are used to install, modify, update, and remove software. These software packages can be regular apps, system files, drivers, libraries, plugins, and more. When you want to install something, you will either type a command into the terminal or search for the program in your distro's GUI software manager and click install, similar to how the Microsoft Store works. Certain package managers will also let you install programs from a previously downloaded file, like how .exe and .msi files work on Windows. For example, Debian and Ubuntu-based distros will typically let you install programs from .deb files, and Fedora-based distros will accept .rpm files.
Many package managers are also capable of automatically checking for updates, and notifying you if any are available. Unlike Windows, they will never automatically download or install updates without your knowledge or permission. They will also allow you to update specific packages while holding the rest back, if needed. Another common misconception is that Linux never requires a restart after updating system files. While most distros will never force you to restart, it's still recommended that you do so as soon as possible.
Where do these packages come from though? Who maintains them? When a program is downloaded through a package manager, it comes from a file server called a repository, or repo for short. These repos are typically hosted and maintained by the distro maintainer. Many distros offer multiple repos that hold different types of software, such as new releases that are being tested for stability. To ensure that everyone has a fast and stable connection to the repo, they are typically hosted by a bunch of servers around the world, called mirrors. Different organizations not directly affiliated with the distro maintainer might also host mirrors. Most beginner-friendly distros will automatically choose the mirror with the lowest ping to ensure that you have a fast and stable connection.
Special Software Packages
There are three types of software packages that work differently from the rest: Flatpaks, Snaps, and AppImages. These packages are self-contained, meaning everything the main program needs to run is included in one package. They do not rely on system packages, which allows them to run on pretty much any modern distro. They are discussed in more detail below.
Flatpaks
Flatpaks are the most popular out of the three. Most packages are hosted by Flathub, but the system is decentralized and anyone can host their own repo. Packages hosted by Flathub are verified to be safe. All Flatpaks run in a partial sandbox, meaning they cannot access certain system resources. This helps with security but also causes some compatibility issues since it cannot communicate with other apps in the normal way. The sandbox feature has also given people the wrong impression that Flatpaks are more secure than they actually are. They do not run in a full sandbox and are not completely isolated from the rest of your system, so you shouldn't assume they're safe based on that alone.
Snaps
Snaps are downloaded from the Snap Store, which is developed and maintained by Canonical, the developer of Ubuntu. They are mostly only seen on Ubuntu-based distros, but you can get them on pretty much any distro with the right package manager. They work similarly to Flatpaks but they support both GUI and CLI programs, are hosted in a centralized repo, and do not run in a sandbox. They are controversial in the Linux community because the backend infrastructure is closed-source.
AppImages
AppImages are downloaded as single files that can be immediately ran without installing, similar to portable apps on Windows. Many programs bundled as AppImages are also capable of updating themselves when launched. A lot of open source projects choose to use this format because it doesn't require publishing their app to another website, but the downside is that AppImages cannot be verified as safe.
Software Compatibility
One of the main reasons people stay away from Linux is because the programs they use or the games they play on Windows don't run on Linux, or so they think. Over the past few years, there have been significant improvements toward this. Many Windows apps are capable of running on Linux through compatibility tools, with little to no performance loss (and sometimes even an increase). There have even been recent changes to the Linux kernel itself that help improve performance when running Windows programs.
Compatibility Tools
Wine
Wine is the main compatibility tool that pretty much everything else is based on. It translates code written for Windows into code that Linux can understand, in real time. It also provides a virtual Windows file system, called a prefix, that Windows programs can use for installations or saving files to avoid breaking compatibility. Wine is good for running generic programs, but it can be very hit-or-miss with games and other graphics intensive programs.
Mono
Mono is used to run .NET apps on platforms other than Windows. It usually gets automatically installed into Wine prefixes when they're first created, so manually installing it isn't necessary unless you want to run a .NET app outside of Wine.
Proton
Proton is a heavily modified version of Wine created by Valve. It's mainly designed to be used with Steam games, but with the right tools it can be used on programs outside of Steam. It's generally not recommended to use Proton for regular programs unless it has problems running with Wine.
Proton GE
Proton GE is a fork of Proton created by GloriousEggroll (hence the GE). It contains patches for specific games that aren't included in regular Proton. If you have a game that doesn't work with any version of Proton, Proton GE might be the solution.
SteamTinkerLaunch
SteamTinkerLaunch is a GUI wrapper for Proton that allows you to configure a wide range of settings which would otherwise need to be done through the terminal or a shell script. It's mainly used for modding and benchmarking.
Bottles
Bottles allows users to create customizable environments to run Windows apps through Wine. These environments are sandboxed, partly due to the fact that Bottles is installed as a Flatpak, which makes the Windows apps running inside of it safer to use, at the cost of occasionally causing compatibility issues. It also provides an interface to install dependencies into the Wine prefix with a click of a button.
Lutris
Lutris is similar to Bottles but is focused more on gaming and is more barebones. It doesn't provide the same sandboxing and dependency features that Bottles does, but it does provide install scripts for a variety of games to automatically setup the game and apply custom configs if needed. Since Lutris isn't sandboxed, it doesn't suffer from the same compatibility issues that Bottles sometimes does. It also allows users to easily use Proton or Proton GE instead of Wine, and it will automatically update Proton GE if it's installed.
ProtonUp-Qt
ProtonUp-Qt is a simple GUI program that makes it easy to install Proton GE, SteamTinkerLaunch, and other custom versions of Proton and Wine inside Steam and Lutris.
WineTricks / ProtonTricks
These tools provide additional control over Wine and Proton prefixes respectively. They can install dependencies, adjust Windows compatibility settings, reset or repair prefixes, and much more. If you're going to be doing any sort of work inside prefixes, these tools are highly recommended.
Virtualization Tools
For more advanced users, running Windows programs through virtual machines might also be an option. They allow you to run Windows (or any other OS) inside your main OS, while remaining (mostly) isolated from the rest of your system. In certain cases they can be a better alternative to dual booting or messing around with compatibility tools.
VirtualBox
VirtualBox is likely the easiest virtualization software to setup and use. It's menu is easy to navigate and VMs are extremely easy to setup. Some operating systems can even be installed automatically in the background. The biggest downside to VirtualBox is that GPU resources are extremely limited, meaning graphics intensive programs won't run in the VM.
QEMU/KVM
KVM is a virtualization module that's built into the Linux kernel. QEMU is simply the graphical frontend for KVM. In terms of performance it's probably better than anything else out there because of how low-level it is. By following the steps linked above, you can pass your GPU through to the VM to be able to run graphics intensive programs like games, which isn't really possible with any other virtualization software on Linux. The downside is that the setup is extremely tedious and probably not worth it in the end.
WinBoat
WinBoat is a new tool that uses Docker containers and virtual machines to allow users to easily setup and run Windows apps on Linux. It's a little easier to setup than VirtualBox, but it's still in early development so bugs and instabilities are likely, and there are a lot of features missing. It definitely has the potential to be one of the best virtualization tools on Linux though, potentially even better than QEMU/KVM, so it's worth keeping in mind.
Program List
The following list contains popular Windows programs and how they run on Linux (if at all). Good alternatives that are confirmed to work on Linux are also listed where applicable. Steam games are not listed here. For those, you should visit ProtonDB.
Program Name | Works on Linux? | Alternatives | Notes |
---|---|---|---|
Adobe Photoshop | No | GIMP, Krita | Older versions that predate Creative Cloud might work with Wine. |
Adobe Illustrator | No | Inkscape, Krita | Older versions that predate Creative Cloud might work with Wine. |
Core Temp & GPU-Z | No | btop++, CPU-X | |
EA App | Yes (Lutris, Bottles, Wine) | N/A | Doesn't need manual installation if game is launched from Steam. |
Epic Games Launcher | Yes (Lutris, Bottles, Wine) | Heroic Games Launcher | |
Escape From Tarkov | No | N/A | Anti-cheat doesn't support Linux, so the game will run but you can't join a match. |
Fortnite | No | N/A | Anti-cheat doesn't support Linux, so the game will run but you can't join a match. |
GCFScape | Yes (Wine) | VPKEdit | |
HxD / WinHex | Yes (Wine) | Okteta | |
Logitech GHub | No | N/A | If you only used it for peripheral drivers, you won't need it anyway. |
Microsoft Office / Office 365 | No | LibreOffice, OpenOffice | Older versions that predate Office 365 might work with Wine. |
Notepad++ | Yes (Wine) | Kate, Nano, Vim | |
Razer Synapse | No | OpenRGB, OpenRazer | Alternatives lack a lot of features including support for game integration. |
Ubisoft Connect | Yes, with Lutris, Bottles, or Wine | N/A | Doesn't need manual installation if game is launched from Steam. |
Valve Hammer Editor | Yes, (Wine, Proton GE) | N/A | Requires Wine/Proton GE 9.0+ |
Visual Studio 2022 | Yes (VM) | N/A | |
Vortex Mod Manager | Yes (Wine) | N/A | Using this through Wine is how the developers intended for Linux users. |
WinDirStat & WizTree | Yes (Wine) | Disk Usage Analyser, Filelight | |
WinSCP | No | FileZilla | |
Xbox Game Bar | No | OBS Studio, Steam (For game recording); btop++, CPU-X (For hardware stats) | Alternatives for other features are unknown. |
Additional Resources
This guide won't be covering everything related to Linux, but there are a TON of other resources online to help you with anything you might be stuck on or confused about. The ones I recommend are the Arch Wiki, Linux Journey, and Geeks for Geeks. While searching online for an answer to something, you might find yourself on the toxic side of the Linux community. My advice is to simply ignore whatever the toxic people have to say. Some of them love to belittle newbies and gate keep because they think of the Linux community as some exclusive club, but given the openness of Linux and everything related to it, newbies should be welcomed into the community with open arms.
Choosing a Distro
Now that you've learned about the basics of Linux, it's time to choose a distro! Below is a list of every popular distro, ranked from most beginner-friendly to least. If you don't feel like reading through the whole list and want to jump in right away, go with Mint. It's a good general-purpose OS with a clean and minimalist desktop environment that'll feel familiar if you're coming from Windows. You can always live boot or dual boot before fully committing to a distro, so if you don't like it you can just try another one.
If you're interested in seeing what's out there and what the differences are between popular distros, you can continue reading through this section. Just note that super niche or obscure distros won't be covered here. Anything that isn't already popular isn't worth using for most people, since you're much more likely to run into problems regarding usability, stability, software availability, and documentation.
Mint
Mint is an excellent general-purpose OS that comes with a wide variety of software pre-installed. The Cinnamon DE feels similar to Windows while also being lightweight and minimalistic. While the personalization options aren't as in-depth as you might expect, it's a solid choice for most Windows users.
- Beginner friendliness: 10/10
- Includes starter guide: Yes (After installing)
- Includes GUI software manager: Yes
- Base distro: Ubuntu
- Default desktop environment: Cinnamon, Xfce, MATE
- Release type: Periodical, roughly every 12 months

Zorin OS
Zorin OS is a very simple OS that is designed for beginners who are coming from Windows. It comes with a lot of generic programs pre-installed and provides a UI layout that is familiar and easy to navigate, making it ideal for people who don't have the knowledge or interest in tinkering with their OS. It loses a point for the pro version being misleading. The pro version states it comes with a suite of professional-grade software, and while this is true, they fail to mention that these programs are FOSS that can be downloaded for free on any platform. The only exclusive things you're paying for with the pro version are the extra desktop environments.
- Beginner friendliness: 9/10
- Includes starter guide: Yes
- Includes GUI software manager: Yes
- Base distro: Ubuntu
- Default desktop environment: Customized GNOME (multiple variants available, some locked behind Pro version)
- Release type: Irregular

elementary OS
Elementary OS is another very basic OS, though this one is catered more toward macOS users. It comes with a lot of basic but useful apps, and provides a decent amount of settings. Much like Zorin OS, this is ideal for those who are not technically inclined and only need basic functionality. It loses a point for the download being made to look like you have to pay for it. You can get it for free by entering 0 for the price.
- Beginner friendliness: 9/10
- Includes starter guide: Yes
- Includes GUI software manager: Yes
- Base distro: Ubuntu
- Default desktop environment: Pantheon
- Release type: Irregular

Ubuntu
Ubuntu is another general-purpose OS. It comes with a small amount of software, mainly tailored for office use. The DE is more similar to macOS than Windows. Overall it's simple but robust, which is why it's used as a base for so many other distros. Just note that if you want a different desktop environment, you'll need to get Lubuntu (Lxqt), Kubuntu (KDE Plasma), or Xubuntu (Xfce), which are different distros not directly associated with Ubuntu or each other.
- Beginner friendliness: 9/10
- Includes starter guide: Yes
- Includes GUI software manager: Yes
- Base distro: Debian
- Default desktop environment: GNOME
- Release type: Periodical, every 6 months

Pop!_OS
Pop!_OS is like a more specialized Ubuntu. It's tailored for power users who do a variety of tasks such as programming, gaming, and creative works. Note that this is one of the few distros that has full disk encryption enabled by default, which could cause issues with certain software.
- Beginner friendliness: 8/10
- Includes starter guide: No
- Includes GUI software manager: Yes
- Base distro: Ubuntu
- Default desktop environment: Customized GNOME (Soon switching to COSMIC)
- Release type: Periodical, roughly every 6-8 months

Manjaro
Manjaro is a general-purpose OS that comes with a variety of software pre-installed, but it's a bit more complex due to how it works under the hood. The distro is based on Arch Linux, but it uses its own repositories. The Manjaro team tests software updates being pushed to the Arch repos before pushing them to their own repos, for the sake of stability. This is a great idea on paper, but in reality it often causes Manjaro to be less stable than Arch due to the delays between patches. Despite these flaws, it's still a fast and easy way to get introduced to the Arch ecosystem.
- Beginner friendliness: 7/10
- Includes starter guide: Yes
- Includes GUI software manager: Yes
- Base distro: Arch
- Default desktop environments: KDE Plasma, Xfce, GNOME, Cinnamon
- Release type: Rolling

Bazzite
Bazzite is a gaming-focused distro that comes with a handful of gaming-related software pre-installed. This software includes but is not limited to Steam, Lutris, ProtonPlus, Protontricks, Distrobox, and Waydroid. There are also extra drivers and tweaks included to ensure maximum compatibility out of the box. Programs are mainly installed as Flatpaks, so it might be difficult for beginners to install non-Flatpak software.
- Beginner friendliness: 7/10
- Includes starter guide: Yes (Online only)
- Includes GUI software manager: Yes (Flatpak only)
- Base distro: Fedora
- Default desktop environments: GNOME, KDE Plasma
- Release type: Irregular

Nobara
Nobara is an improved version of Fedora with quality of life features added. Most notably, it allows users to easily install proprietary software. It's targeted towards gamers but it's not as gaming-centric as something like Bazzite.
- Beginner friendliness: 6/10
- Includes starter guide: Yes (Online only)
- Includes GUI software manager: Yes
- Base distro: Fedora
- Default desktop environments: KDE Plasma (Nobara theme), KDE Plasma (Default theme), KDE Plasma (Steam Deck theme), GNOME
- Release type: Irregular

Debian
Debian is a very stable and robust distro. Software versions are typically held back until it's been verified to not cause bugs or other types of compatibility issues. It offers a wide variety of desktop environments but comes with a minimal amount of software, making it not as straightforward to use as some other distros.
- Beginner friendliness: 6/10
- Includes starter guide: No
- Includes GUI software manager: Yes
- Base distro: None
- Default desktop environments: Cinnamon, GNOME, KDE Plasma, Xfce, LXDE, Lxqt, MATE
- Release type: Periodical, roughly every 2 years

openSUSE
openSUSE is catered more towards technical people but it's not insanely complex to get into. It offers two separate versions that differ in the way the distro receives updates. Tumbleweed is a rolling release and is always running the newest software, while Leap receives one major update per year and does not constantly push new software versions. Despite being a rolling release distro, Tumbleweed packages are tested to ensure stability, similar to Manjaro but it's actually stable.
- Beginner friendliness: 6/10
- Includes starter guide: Yes (After installing)
- Includes GUI software manager: Yes
- Base distro: Debian
- Default desktop environments: KDE Plasma, GNOME, Xfce
- Release type: Rolling (Tumbleweed); Periodical, every 12 months (Leap)

Garuda
Garuda Linux is a highly customized version of Arch that includes a lot of quality of life features, including a central hub for configuring and maintaining the system. It's similar to Manjaro but it's slightly less intuitive in some areas.
- Beginner friendliness: 6/10
- Includes starter guide: No
- Includes GUI software manager: Yes
- Base distro: Arch
- Default desktop environments: Mokka (Customized KDE Plasma), Dr460nized (Customized KDE Plasma), GNOME, Cinnamon, Xfce, KDE Plasma, COSMIC
- Release type: Rolling
- Notes
- Garuda provides access to the AUR, but it's a separate version called Chaotic AUR. It might include software you're looking for that isn't in the main AUR, but it could also be missing things.
- The desktop environment in the screenshot is KDE Plasma with the Mokka theme.

Fedora
Fedora is also similar to Ubuntu but with a much larger focus on open source software, privacy, and workloads. It's backed by Red Hat, creator of RHEL, so some functionalities that are commonly seen in the enterprise ecosystem such as virtual machines and containers are included by default. Most beginners should avoid it unless they are only going to be using open source software.
- Beginner friendliness: 6/10
- Includes starter guide: Yes (Not very detailed)
- Includes GUI software manager: Yes
- Base distro: Ubuntu
- Default desktop environment: GNOME
- Release type: Periodical, every 6 months

EndeavourOS
EndeavourOS is a somewhat bare bones distro. It comes with a minimal amount of software pre-installed; just a basic desktop with a web browser. It's a good choice for people who want to use Arch without going through the hassle of setting it up.
- Beginner friendliness: 5/10
- Includes starter guide: Yes
- Includes GUI software manager: No
- Base distro: Arch
- Default desktop environment: KDE Plasma
- Release type: Rolling

CachyOS
CachyOS is very similar to EndeavourOS except it uses a customized kernel that contains optimizations for maximum performance, particularly in gaming.
- Beginner friendliness: 5/10
- Includes starter guide: Yes
- Includes GUI software manager: No
- Base distro: Arch
- Default desktop environment: KDE Plasma
- Release type: Rolling

Void
Void Linux is a general-purpose, terminal-centric, lightweight distro. It's similar to Manjaro in that it's a rolling release distro that holds package versions back for the sake of stability. Unlike Manjaro however, Void tends to actually be stable. It's mostly intended for people who want a clean, lightweight system that is 100% FOSS.
- Beginner friendliness: 4/10
- Includes starter guide: Yes (Online only)
- Includes GUI software manager: No
- Base distro: None
- Default desktop environment: Xfce
- Release type: Rolling

CentOS
CentOS is a more advanced OS catered towards users of Red Hat Enterprise Linux, similar to Fedora but more in-depth and less casual. Despite it being a rolling release distro, it won't always have the most recent software versions due to it receiving updates downstream from RHEL and Fedora. The plus side of this is that the distro will generally be more stable than the other two.
- Beginner friendliness: 4/10
- Includes starter guide: No
- Includes GUI software manager: No
- Base distro: Red Hat Enterprise Linux (RHEL)
- Default desktop environments: Cinnamon, GNOME, KDE Plasma, MATE, Xfce
- Release type: Rolling

Slackware
Slackware is a very old distro (in fact, one of the first), that is still being maintained to this day. It's extremely lightweight and will run on just about anything that has at least 64 MB of RAM, making it ideal for 15+ year old machines that struggle to run modern distros. Setting up and maintaining this distro might not be easy for beginners.
- Beginner friendliness: 4/10
- Includes starter guide: No
- Includes GUI software manager: No
- Base distro: None
- Default desktop environments: GNOME, KDE Plasma, Cinnamon, Xfce, MATE
- Release type: Irregular

Kali
Kali Linux is a highly specialized distro focused around cybersecurity. It comes with a huge amount of tools used for password cracking, forensic analysis, packet sniffing, network attacks, and much more. It's not a distro meant for daily driving by any means, I'm only including it here since it's popular and you might have heard of it before.
- Beginner friendliness: 3/10
- Includes starter guide: Yes
- Includes GUI software manager: No
- Base distro: Debian
- Default desktop environments: Xfce, GNOME, KDE Plasma, LXDE, MATE
- Release type: Rolling

NixOS
NixOS is a terminal-centric distro that has several features designed for software developers. These features include but are not limited to: Saving exact system configurations to use on different PCs so development environments remain consistent, having multiple versions of the same software installed at the same time, testing potentially dangerous system changes in a virtual machine, and rolling back the system to a previous version if something does break.
- Beginner friendliness: 3/10
- Includes starter guide: Yes
- Includes GUI software manager: No
- Base distro: None
- Default desktop environments: GNOME, KDE Plasma
- Release type: Periodical, every 6 months

Arch
Arch Linux is an extremely barebones and lightweight distro. By default, you get a terminal, a package manager, and a couple utility packages pre-installed, that's it. Arch and all Arch-based distros also have access to a special repo called the Arch User Repository (AUR). It features unofficial community-submitted packages, many of which give you the choice to either compile it yourself or download a pre-compiled binary. If you need a very specific piece of software that you can't find in the normal Arch repo, the AUR probably has at least one version of it. The downside to the AUR is that submissions aren't verified before being published, so it's possible for someone to do something malicious with it before they're caught. If you're new to Linux, you should probably stay away from this distro until you're ready to go down the Arch rabbit hole.
- Beginner friendliness: 2/10
- Includes starter guide: Yes
- Includes GUI software manager: No
- Base distro: None
- Default desktop environment: None
- Release type: Rolling

Gentoo
Gentoo is a very unusual distro. It ships with it's own unique software manager that compiles all programs from source rather than downloading precompiled binaries. This is supposedly for security and optimization purposes but I have my doubts that it's worth the compile times. Much like Arch, Gentoo is also extremely barebones and does not come with a desktop environment by default. If you're reading through this guide, you have absolutely no reason to use this distro. I think the best thing Gentoo has going for it is that it's available for just about every CPU architecture you can imagine, so I guess if you need to run Linux on a very specialized device, Gentoo will likely be able to do it.
- Beginner friendliness: 1/10
- Includes starter guide: Yes (Online only)
- Includes GUI software manager: No
- Base distro: None
- Default desktop environment: None
- Release type: Rolling
Linux From Scratch
Linux From Scratch is not a distro, but a book. It explains how to build your own custom Linux system from the ground up. It's designed for enthusiasts who want to build a system that is tailored exactly to their needs and wants.
- Beginner friendliness: 0/10
- Includes starter guide: Yes
- Includes GUI software manager: If you want
- Base distro: None
- Default desktop environment: None
- Release type: Up to you
SteamOS
SteamOS is a specialized Arch Linux-based OS developed by Valve, for use with handheld gaming PCs such as the Steam Deck and Lenovo Legion Go. Despite having a desktop mode with the KDE Plasma desktop environment, it is not intended to be used as a normal desktop OS. It does not support normal PCs out of the box, and requires a lot of tweaking to get installed and running. If you want a distro similar to SteamOS that you can use on your desktop PC, check out Bazzite.
FreeBSD
FreeBSD is NOT Linux, but I'm putting it here to avoid confusion because some people think it is. It's actually based on Unix, which is a much older OS made by Bell Labs that started development in 1969. Linux is Unix-like but not directly based on it, so naturally there's some similarities but there are many more differences.
These days, Unix itself isn't in development anymore, but several Unix-based operating systems are. FreeBSD, macOS, and Solaris are just a few examples. If you're reading through this guide, FreeBSD or any other Unix-based OS probably isn't for you.
Installing Linux
Now that you've picked a distro, it's time to install it! Installing a beginner-friendly distro is pretty straightforward, just follow the instructions it gives you as you go. What isn't always straightforward, however, is actually getting Linux to boot. Many distros just give you the ISO file and don't elaborate as to what you're supposed to do with it, so that's what this section will be about.
There's three things you're going to need to get Linux to boot: A USB drive large enough for your distro, a working Windows, Linux, or macOS PC, and balenaEtcher installed on that PC. (Just be aware that balenaEtcher has some minor privacy issues despite being open source. If you're familiar with alternatives such as Raspberry Pi Imager or Rufus, I would use one of those instead, but for beginners balenaEtcher is the easiest to download and use on all platforms.) Once you have all of that, follow these steps:
- Plug in the USB and open balenaEtcher.
- Select the ISO file you downloaded from the website of the distro you want to use.
- Select the USB drive you want to install it to.
- Hit the flash button. It might take a while depending on the size of the ISO and the speed of the drive.
- Once balenaEtcher says it's finished, plug the USB into the PC you want to install Linux on, and reboot the PC into the BIOS. If you're not sure how to get into the BIOS, spamming the F12 or delete key as the PC is rebooting usually works. Otherwise, you'll have to check the manual for your motherboard or laptop.
- From here, the steps will be vague because every motherboard is different. Look around the BIOS for an option for USB booting. If you find it, make sure it's enabled. If you don't find it, don't worry about it.
- Go to the boot section and change the first boot option to the USB drive you just plugged in. Save your changes and reboot.
- If you did everything correctly, your PC should have booted the USB. You might see the bootloader selection screen, or it might have booted straight into the live image. If you're at the bootloader selection screen, just press enter to select the default option. From there, you can install the distro by following the steps it gives you.
Conclusion
If you've made it all the way through the guide, then congratulations, you're now a Linux user! The end of this guide marks the beginning of your journey. Don't be discouraged if things start off a little rough. It's a brand new operating system and it could take some time to get used to, especially if you're looking to do more advanced things with it. If you need help, you can always refer back to this guide or any other resource, or you could just ask me. There's a decent chance that any problem you encounter is similar to one I've encountered. One of my favorite things about Linux is that once you fix the problems you're having, you usually won't have to deal with them again.
If you haven't made it all the way through the guide and instead skipped to the end without installing Linux, that's okay too. There's a lot to unpack here and I don't blame you if you find it to be overwhelming. If you have any questions feel free to ask me. Linux isn't going anywhere, so you can always come back and try again later.
Either way, thank you for being interested in my guide and Linux in general. I'm passionate about this because I believe everyone deserves privacy, security, and freedom, and as far as desktop operating systems go, Linux is currently our only option for all of those things. Like I said in the intro, if you find any problems or have suggestions to add or change something, feel free to create an issue on GitHub.