
If you have thought about migrating from Windows to a Unix operating system, or Linux specifically there are things you should know. The goal is to give essential information (and not) to take the first steps in the world of the "penguin".
What is Linux?
With the word Linux we commonly refer to non-Windows operating systems.
All the alternatives to commercial operating systems such as Windows are tended under this term. Linux therefore represents that set of programs essential to the operation of the machine itself and can also be installed both in place of pre-existing operating systems and alongside them.
Sometimes we can hear someone talking about Unix-like operating systems. With this term we mean every system based on the Unix kernel, or all those operating systems that share the "core" that Mr. Torvalds released in the now distant 1991. This family obviously includes all the operating systems of the Linux family but also those of the MacOS family.
Why should I choose Linux?
There are several motivations for which you should choose Linux. Here are some of them.
- Linux is supported by very old computers. On very old machines, old operating systems like Windows XP don't work anymore or, if they work, they do not have any security patch. Some Linux distributions are written and distributed exactly for old hardware and are steadily kept updated;
- Some distributions are made similar to some Windows systems from the graphical point of view. In this way, event the most attached to the WIndows world can try to take their first steps into the Linux world without being extremely traumatized;
- Windows 10 is very big from the point of view of the size of the file that you need to download in order to install the system. A typical Linux distribution is a few Gigabytes large but some distributions are very small (a few Megabytes).
- Linux is notoriously more secure than Windows. There is a very limited number of viruses that can attack it. The problem that arises with the advent of the IoT is precisely making smart peripherals safe;
- Talking about reliability, Linux knows its stuff. When we start a program in a Linux environment, we can end it whenever we want via terminal. This is not always possible in a Windows environment. In fact, it often happens that you want to close a program from the Task Manager and that you are unable to "kill" the process.
- A very important stuff is the updates sector. Personally, I have always found very annoying the invasiveness of Windows in forcing you to install all updates. Who has never happened to turn on the computer and see "Installing update 1 of 750" on the screen?
- Last but not least, we can customize Linux as we want, while with WIndows the computer works as Microsoft thinks we want it to work;
Good, a lot of big words, but what distribution should I choose?
The Linux world is organized into distriburtions. This means that there are common kernels that are then customized with different packages. The various distributions differ in the graphic sector and sometimes also in terms of functionality. Let's see in detail a brief overview of distributions.
Linux Mint
Linux Mint requires a low knowledge of the computer, it is easy to install and it is easy to use since it looks a lot like Windows in graphic terms.
Debian
Debian is the distribution suitable for those looking for something absolutely free of proprietary software.
Ubuntu
Ubuntu is a modern Linux distribution easy both to install and to use.
OpenSuse
OpenSuse is not as easy to install as Ubuntu or Linux Mint, but it is a good alternative anyway.
Fedora
Fedora is the most updated Linux distribution with all the new concepts embedded as soon as possible.
Arch Linux
Arch Linux is the progressive release distribution, which means there is no need to install new versions of the operating system at any time because it updates itself. More difficult for the novice to deal with, but very powerful;
Elementary
Elementary is the distribution suitable for the people who love the Mac-style design.
Personally, I can not express a preference concerning to the functional point of view about the different distributions (also called distros). Often the base of the terminal commands changes, which will therefore have different syntax depending on the distributions we choose and change the desktop.
Per quanto riguarda l'ambiente desktop possiamo scegliere tra diverse opzioni. Vediamone alcune:
Desktop Environments
Dealing with the desktop environment we can make different choices. Let's have a look.
KDE
Rather than a desktop environment it is a collection of applications in which the desktop is an application. The latest version of KDE is called Plasma and has a version for both desktop and laptop. It is the most customizable and flexible desktop environment. The most important distributions that use KDE as the default environment are Kubuntu and openSuse. If we want to find a flaw, certain components can be a little too heavy.
MATE
MATE Desktop Envirnment offers the traditional desktop experience with a little bit of modernism. Since it is built on something that has been tested and optimized for years, it perfectly works. It supports the panel system with various menus, applets, indicators and buttons. It can be organized exactly like the user wants to.
Ubuntu MATE uses MATE as default desktop environment.
GNOME
GNOME contains almost everything a modern desktop environment should have. It also offers a classic mode for those who are not comfortable with the modern user interface provided with GNOME 3 and prefer the good old GNOME 2 experience. Dashboard, system-level search, powerful internal applications that perform jobs, themes, extension support, window snaps are some of its main features. However, changing this desktop environment requires installing gnome-tweak-tool. In version 3.18 it introduced some interesting features like Google Drive integrated in the file manager.
CINNAMON
CINNAMON offers various customizable components like the panel, the themes, the applets and the extensions. The panel, initially across the bottom edge of the screen, has a main menu, application launchers, a list of open windows and the taskbar.
LXDE
LXDE is an extremely fast desktop environment, It is designed to be light and intuitive, while maintaining a low use of resources. It embraces a modular approach so that each of its components can be used independently and this is what makes LXDE porting easier on almost all Linux distros, as well as BSD and Unix.
XFCE
XFCE is one of the lightes desktop environments for Linux, BSD and other similar distros. XFCE offers a light modern interface, endearing from the graphical point of view. It comes with all the basic functionality you need along with a decent set of applications.
Deciding which is the best graphic environment depends on what your needs are and what your tastes are in terms of dsegin. Personally I have used them all

Alessio Mungelli
Computer Science student at UniTo (University of Turin), Network specializtion, blogger and writer. I am a kind of expert in Java desktop developement with interests in AI and web developement. Unix lover (but not Windows hater). I am interested in Linux scripting. I am very inquisitive and I love learning new stuffs.
Related Posts
Hidden Gmail codes to find a lost e-mail
If you have a lot of emails in Gmail, there are a few codes that will help you find what you need faster and more accurately than if you do…
How to download an email in PDF format in Gmail for Android
You will see how easy it is to save an email you have received or sent yourself from Gmail in PDF format, all with your Android smartphone. Here's how it's…
How To Use Varnish As A Highly Available Load Balancer On Ubuntu 20.04 With SSL
Load balancing with high availability can be tough to set up. Fortunately, Varnish HTTP Cache server provides a dead simple highly available load balancer that will also work as a…
A Java approach: While loop
Hello everyone and welcome back! After having made a short, but full-bodied, introduction about cycles, today we are finally going to see the first implementations that use what we have called…
A Java approach: The Cycles - Introduction
Hello everyone and welcome back! Until now, we have been talking about variables and selection structures, going to consider some of the fundamental aspects of these two concepts. Theoretically, to…
A Java Approach: Selection Structures - Use Cases
Hello everyone and welcome back! Up to now we have been concerned to make as complete an overview as possible of the fundamental concepts we need to approach the use…
A Java approach: boolean variables
The previous time, we talked extensively about Boolean variables, trying to outline the main operations that can be carried out at a practical level. Of all the cases examined, we have…
A Java approach: conditional structures
Hello everyone and welcome back! The previous times we have introduced the concept of variable, trying to define some basic concepts about it. However, some situations suggest that the concept of…
Hashmap: hashing, collisions and first functions
Today we are going to study some concepts closely related to hashmaps. The concepts we are going to see are hashing and collisions. Hashing The idea of hashing with chaining is to…
Hashmap: Overflow Lists
In this short series of articles we will go to see how it is possible to create the Hashmap data structure in C. In the implementation we're going to use the…
A Java approach: variables - use case
Hello all friends and welcome back! After the introduction made on the variables, we try to analyse some critical issues that may arise in quite common situations. Let's start by analysing…
A Java approach: variables
Hello everyone and welcome back! Today we will begin a journey that will lead us to study, and possibly review, what are the basics of programming. We will start by talking…