Abandon Windows in favor of Linux operating system – Tips&Tricks – Part 1

Lately, I've been moving around a bit more and working with more computers. As it happens, the manufacturer announced that it was discontinuing support for Windows 10, and the next release seems like a bad joke from a privacy perspective. That's why I decided to abandon Windows 10 in favor of the Linux operating system on my desktop machines. I thought it would be a cool topic to show that it can be done and to sell a few solutions to the problems I encountered. Enjoy the material!

First, I would like to explain (in very general terms and simple language) what I gain from using Linux, and give a general overview of what it actually is. If you are an advanced user of this system, you can skip to the second page of this post, where I will start with the problems I encountered.

Why Linux? And here there are many answers:
– Interoperability (it is compatible with many other systems and allows for good cooperation).
– Security (many Linux systems have very long support, special mechanisms for protecting the system and its sensitive files, built-in firewall-type network protection solutions, built-in solutions for protecting our data, such as backup tools or file system-level snapshots).
– Linux is free software (free from the demons of human greed), as are many of the programs created for it.
– Endless configuration options (here, most things can be done in many different ways to suit different needs; there is no one right way).
– A multitude of software (in addition to applications typically written for Linux, you can run many programs or games written for Windows using the appropriate tools).
– A wealth of helpful information on the web, including excellent manuals available for literally every command.
– It is also important to me that I have been using Linux on servers for decades, which should make things much easier for me (I am not afraid to look for solutions, and I do not give up easily if they are not obvious).

What exactly is Linux?
In fact, the word Linux refers to the so-called operating system kernel – the main program responsible for basic operations such as communication between software and hardware, and the logical framework in which the software operates.
The complete operating system (i.e., the kernel + programs that allow you to use its functions) should be called GNU/Linux – GNU from the set of basic programs, and Linux as the kernel that enables them to run.
For my own convenience, when I write Linux, I will mean the complete operating system, because from a practical point of view, no one uses the kernel alone, and it is generally accepted to refer to the entire system as Linux.

What are Linux distributions?
There is no single Linux system. Various companies, foundations, and hobbyist groups create their own complete operating systems containing the Linux kernel and various software packages, configured and selected to best suit their needs for different tasks. These are Linux distributions. Some of the more popular ones are:
Linux Mint, Ubuntu Linux, Fedora, Zorin, Suse Linux, Debian, RedHat Enterpreise Linux (RHEL), Arch Linux czy NixOS.
Interesting fact: Android in smartphones is also Linux!
Graphic showing the branching into different distributions over time: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg

Why is Linux said to be open source?
Linux, or rather its kernel and basic programs, are created differently than most applications known from Windows. Their source code is licensed in a way that allows both viewing and modification. The same license also states that any modified version (e.g., improved by programmers from a company) must also be published and made available to everyone. This means that when large companies improve the performance of Linux, everyone benefits (including those who have downloaded it and use it for free).

Where can I download programs for Linux? What are repositories and packages?
In Linux, the main source of programs are centers created by the developers of specific distributions (servers with cataloged programs, their descriptions, and version numbers) – in the Linux world, we call them software repositories, often abbreviated as repo.
Packages are nothing more than programs prepared in a file ready to be installed on Linux. Since many Linux distributions have their own repositories, it often happens that the program we are looking for may be in a different version than we need, or it may not be there at all (because it is difficult for developers to prepare packages for many distributions, for example). To remedy this, universal packages (working independently of the distribution used) were created: Flatpak, Snap, and AppImage. They all have some differences in how they work, but there is no point in focusing on that for now. The idea of such software repositories is also known from other systems:
Windows – Microsoft Store,
Android – Google Play,
OS X – Apple Store.

Is Linux difficult?
No. It just takes a little time to learn a new philosophy in system design and how to use it. But in everyday work, it is just as effective as Windows or OS X. It is even more user-friendly because once configured, despite many updates, it will always work the same way, without changing the way it works, as is sometimes the case in other environments. What's more, it does not require us to send our private data to any company for analysis, and it will not bombard us with advertisements.

Now, a small note: In this text, I will not be presenting how to install Linux from scratch. Instead, I will be presenting the problems I encountered after switching to Linux and how I dealt with them.

By the way, this website has just celebrated its 20th anniversary in more or less the same form, so it's a great opportunity to start posting again.

List of entries in this series: