Switching to Linux - A Guide for the Uninitiated

Tux Before i started using Linux, I had watched a few videos about this operating system in order to prepare myself for the switch. And yet, I was still very lost the first few days I tried it. The truth is a lot of videos about Linux are made by seasoned veterans, who for the most part have forgotten what it is like to be a complete newcomer. Hence, they sometimes unwittingly use terminology that is completely foreign to anyone getting their hands on Linux for the first time. I guess the same has happened to me. Nevertheless, I wanted to create a guide for the uninitiated before I completely lose touch with the n00bs. Here, then, are some words to guide anyone who’s thinking of using Linux as his/her daily driver. Obviously this is no the only route one can take; it is based on my own personal journey.

But before forging ahead, some key terminology:

Distribution or distro
Refers to a “flavour” of Linux. It is how a group of developers decided to bundle the Linux kernel (the heart or central piece of software that “talks” to the hardware). To use a crude analogy, think of the kernel as a particular type of car motor,1 while the distro is how that motor is bundled with the rest of the car components (the chassis, wheels, seats, windows, etc.). Most people don’t know about the kernel because we don’t see it.
Desktop environment
What you see after the computer has finished booting up. It is made up of the windows, the taskbar, the icons, the tray area, the menu, etc. Linux desktop environments (DE’s) are highly customizable. To return to the car analogy, the DE is akin to the look of the car, what entices us to buy this one or that. Some DE’s have a very slick appearance, while others (for the sake of older, slower computers) sport a more traditional, even antiquated appearance. What you’ll find is that for a lot of beginners, the look of a DE is paramount and the deciding factor on which distro to choose.
Window manager
A crucial element of a DE, which as the name suggests manages the placement of the windows on the screen. Most window managers2 (WM) draw each new window on top of the previous one, in a cascading fashion. But there are also WM’s that tile the windows by dividing the whole screen into rectangles according to some predetermined patterns and making each of the windows occupy the entirety of those spaces. Importantly, a WM can stand by itself without all the other components that make up a DE. A good many of the more seasoned Linux users prefer their system to be stripped down to just a WM manager.

Your first distro

If you what you are looking for is a replacement for Windows with a similar look and feel, then look no further than Linux Mint. While I personally did not use Linux Mint for more than a few days several years ago, I can say that it’s the easiest to navigate, as its desktop resembles the traditional Windows 95 - Windows 7 desktop environment. That look is old, I know, but if you don’t like too much novelty in your workflow, this is your safest bet. There are other Linux distros whose look resembles a more modern Windows 8 - 11 aesthetic, but the underlying DE leveraged to achieve that look will probably be KDE Plasma, which, though popular with many Linux users, is reported to have some stability issues. KDE offers the most customization options of all the mainline Linux DE’s, which is why it can be made to look almost exactly like Windows 11, but the price you pay is that all these customization options are dispersed in a dizzying array of menus that can easily become overwhelming. For someone coming straight from Windows, where customization is restricted to the bare minimum, I would not recommend this amount of complexity just yet.

On the other hand, if you are coming from the Mac ecosystem, or just want something resembling the Mac operating system, your best bet for a Linux distro is going to be Ubuntu, Fedora, or Pop!_OS All three of them come with the Gnome desktop environment, which somewhat approximates the Mac aesthetic. By this I do not mean that Gnome looks like Mac OS; rather, that it has a flat, sleek, modern appearance in the style of the Mac OS. Gnome has less customizability than KDE, but enough that you can transform your DE to make it look very much like Mac OS: you just have to download and apply the appropriate set of (free) icons, shell extensions, color schemes, etc. The same cautionary words apply here as before. The possibility of you breaking your Linux system goes up the more customization you add, especially when you are so new that you don’t fully understand what you are doing. Patience is key at this stage.3

Distro hopping

In the Linux world the expression “distro hopping” refers to the propensity of some users to switch, jump or “hop” from one distro to another within a relatively short period of time. Some users are compulsive distro hoppers; others seldom if ever switch distros. There are obvious advantages to trying several distros, namely, you have a wider view of the Linux landscape and can make more informed choices as to which distro will suit you best. If the process of installing and re-installing (and migrating all your files) is not that big a deal for you, distro hopping might be a good experience at the beginning stage. For instance, you might find that none of the distros I recommended above are for you. But a word of caution: if you distro hop with the intent to find “the best” Linux distro, you’ll be disappointed. There isn’t one. That’s like planning to go to the shopping mall and find “the best clothes”: for whom and for what purpose? What is more, you’ll eventually find out that distros are not that important: they are all Linux under the hood, and practically anything that you can do in one distro you can replicate in another with some tweaking. The sooner you realize this, the better, as you will then avoid distro hopping just for the sake of it. In my opinion, it should be a temporary means of discovery and not an end in itself. Not even Linux is an end in itself: Linux is just a means for you to do actual work on the computer!

Rolling distros are for later

If you are going to distro hop in this early stage, try to avoid “rolling” distros for the time being. What’s a rolling distro, you may ask?

Rolling distro
Linux Mint, Ubuntu, Pop!_OS and, to a lesser extent, Fedora, are all what is called stable-release distros. They update their kernel and software packages every 6 months or so. This is why on every release you’ll see Ubuntu, for example, have a versioning number like 20.04, 20.10, 21.04, etc. It indicates the year and month of release. But a rolling distro is updating constantly, sometimes daily. This is done to keep up with the latest developments in kernel, security, hardware, and software packages. The most popular rolling distros are Arch, Manjaro (and all other Arch-based distros), Gentoo, Void, among others.

Why not go for rolling distros when you are just beginning? Because there is the potential that an update might “bork” your system, and you won’t know what to do. There’s a reason why non-rolling distros are called stable.4

As a new Linux user, you might be tempted to jump into the deep end right away. Perhaps you’ve seen a few Linux videos from some of the more popular Linux YouTubers, or maybe you saw a Unix pr0n subreddit, and they seem to be running some kind of exotic “desktop environment” made for hackers. For whatever reason you think that looks so cool; you don’t want to go through the normal route of mainline “kiddy” distros. You too want to be a hacker-man, and quick! Let me tell you: you’re gonna have a bad time! If you are not already a power user on Windows/Mac, then the amount of learning you’ll need at this stage to run an Arch/Gentoo/Void Linux distro with a standalone window manager (because that is likely what you are seeing on YouTube or Reddit) is so high that you’ll burn yourself out and potentially give up on Linux. I repeat, patience is a virtue when you are just beginning with Linux. If you put in the effort to learn how the system works, you can shorten the time spent on the mainline distros and dive into more complex setups. If you disregard this and go for the shortcuts… you’re gonna have a bad time! Don’t say I didn’t warn ya!

Transition?

You’ve been using one of the main Linux (stable) distros for a while now, and you feel comfortable enough with your new system that you can do on Linux pretty much anything you were able to do on Windows/Mac. You are familiar with Linux’s hierarchical file system (especially the root directory and your dot files), some basic command-line utilities, how to install/uninstall new software either via the graphical package manager or via the terminal… In short, you know your way around your Linux system. If this is all you ever wanted, you simply stay the course. That’s great!

However, if your computing aims go a little beyond this, you might feel that a regular desktop environment is a little bit… inefficient… stifling… boring? Take your pick! In this case, I’d suggest that you go for a standalone window manager, like i3wm, bspwm, dwm, awesome, herbstluftwm, ratpoison, etc., etc. But don’t make the switch straight away! If you’ve used any of the three mainline distros recommended at the beginning, then you used the Gnome desktop environment and, almost certainly, you made use of extensions to customize your experience. If so, then before switching to a WM, I’d recommend you install the Gnome extension known as the Pop shell. This extension will allow you to experience tiled windows without losing the advantages and ease-of-use of a full desktop environment.5 This will help you get accustomed to using keyboard shortcuts to position the windows on the screen.

Other things I’d advise at this stage is to get (more) proficient using the command line (aka the terminal). Practice essential commands like cd, mv, cp, ls, rm, etc. Learn how to launch programs from either the terminal, a launcher—like dmenu or rofi—, or directly with the press of a combination of keys.6 Make use of Gnome’s virtual desktops to get into the mindset that not all windows need to be on the same desktop (virtual screen). Try to group your windows into logical categories: for instance, you can reserve the first desktop to work applications, the second one for your music player or your social media applications.

Lastly, you need to consider whether you can forgo “eye candy”. For me this initially was a bit of a struggle. Looks were very important. You can definitely customize the appearance of your window manager once you make the switch, but it will never really match the polished and slick nature of a DE. Applications and icons, for example, are most of the time written with a specific DE in mind, and in Linux the king of DE’s is Gnome. When you switch to a window manager, icons will largely be replaced with “font icons” of varying size and quality, and applications created for Gnome (or KDE or what have you) will sometimes look awkward or downright bad. To avoid the out-of-place look of some apps in this new environment, it is often preferable to install a command-line-based application instead. The advantage of CLI applications is that they are lightweight and fast; the disadvantage, they look flat and simplistic… Or, I should say, it’s a disadvantage if looks are that important to you. As for me, for a good while I used both a full DE and a standalone WM on separate machines, but eventually the advantages of the WM outweighed the aesthetic appeal of the DE. Now I only work with WM’s.

Window managers

Okay, so you are now a bit of a power user on a regular desktop environment, and want more efficiency in your workflow. You have decided to take the plunge into the world of window managers. Which one should you choose?

I’ll admit that, as an i3wm user, I’m biased. Still, I don’t think I’m alone in thinking that the best introductory window manager is i3. Configuring it is relatively easy as it doesn’t require you to learn any programming language, like dwm and xmonad, which assume you already know (at least some) C and Haskell, respectively. Also, unlike other WM’s, when you first boot into i3, you will be greeted with a small setup wizard, which will give you a clue as to how to navigate and configure your new environment. You’ll also have a (very ugly) status bar to work with, e.g. to connect to WiFi.

But exactly how do you install i3? You have 3 main options:

  1. Installing it on top of your existing distro. Say you started out with Ubuntu: in that case install i3 through your regular package manager (APT), log out of your session, and on the login screen choose i3 as your new session, and voila! The advantage of this method is that when your new environment becomes a bit much and you want to return to the simplicity of Gnome, you can simply log out and choose Gnome at the login screen again.7
  2. Installing an entirely new distro that ships with i3 (or another WM) as the environment. Remember that I said no rolling distros at the beginner stage? Well, if you’ve come to the point of using a window manager, that no longer applies! At this point you should be mature enough to handle the sometimes unpredictable nature of a rolling distro. If that is the case, I’d go for the Arch-based EndeavourOS, i3 edition. The advantage of this option is that i3 already comes heavily customized for intermediate-level Linux users. Another great option is Manjaro i3 (also Arch-based).
  3. Lastly, you can build both your distro and your window manager from the ground up! I would reserve this advanced option for when you feel you don’t want any pre-made customizations. In this case, you may go for the jugular and install Arch Linux from scratch (no guided installers, that’s cheating!), and then download and install a vanilla version of i3.

What if you didn’t go with i3wm? Depending on which WM you chose, the first time you boot into it you might find that there’s either nothing on it (i.e. you get a black screen), or there’s no wallpaper, no WiFi, or no welcome screen/menu. This can be pretty intimidating. Make sure that you read the documentation for your particular WM, and maybe even watch a few videos to get a feel for what the experience will be like. Almost invariably, the first thing you’ll need to do is to figure out which key combination you need in order to open the terminal, because that’s going to be the key to everything else. Once you have access to the terminal, you can navigate to where the configuration file for your window manager is located. There you can set up the keyboard combinations to launch other applications.

i3wm already includes a status bar that displays, among other things, the workspace numbers (indicating which virtual screen you are on), network connection, time & date, cpu & memory usage, etc. All of these are modules that can be configured in the status bar’s config file. If the default status bar is not to your liking, there are others you can install, one of the most popular ones being polybar.

Ricing: a potential trap

Once you’ve installed your WM, it is almost certain that you’ll spend quite a while ricing (customizing, snazzing up) your new window manager, particularly the status bar. This can become a little addictive. It’s not like when you customized the look of your Gnome DE: back then you simply downloaded an extension and clicked on a few options, and that was that. Ricing your WM often involves a bit of scripting to get things to look exactly as you want. When you achieve your goal after some struggle (which may span anywhere from a few hours to a few days), and in the process learned some fundamental aspect of your system, there’s a real sense of accomplishment. You’ll want to repeat that experience. But there’s a danger here.

Just as there are compulsive distro hoppers, there are compulsive ricers. I too got into ricing, and although I did not do it so frequently, in the end it felt like it was distracting me too much from work and study. In moderation, ricing is OK. But I feel that many times it’s a failure of letting go of the eye candy from the days of using a full DE. The whole point of a window manager was to improve performance, both of the system and the user. But a quick peek at the Unix pr0n subreddits reveals that ricing has become an attempt at going back to a DE. The status bar, in particular, is riced to the point that it becomes a regular taskbar. In such an environment, the use of the mouse becomes more and more a necessity, which sort of defeats the purpose of having a keyboard-driven environment.

I won’t pretend to tell you how much or how little you should rice your WM. Instead, I’ll just say that, like distro hopping, it shouldn’t be an end in itself. And if it’s distracting you from other, more important aspects of your Linux journey, you might want to take a step back and ask yourself if it’s better left alone. Ask yourself if the change you want to make has a clear benefit in terms of efficiency/performance. If not, did you really go through all these stages just to spend your days ricing in the end?

The next stage?

You started out with one of the mainline distros and got really good at it. Then you experimented with tiling windows, living in the terminal, and becoming a keyboard ninja. You even installed a window manager alongside your DE to dip your toes into dangerous waters. Finally, you went all in on a WM-only distro: at first, one of the pre-configured, Arch-based distros for intermediate users; then straight to building everything from zero. Congratulations, you are roughly on the same stage as I am now!

Where do we go from here? Alas, this is where we have to part ways. The road ahead is for you to travel alone. At this point, you don’t really need any more hand holding. From here on it’s just a matter of accumulating more knowledge and skills. There is no next stage as far as environments are concerned—it’s not like you are going to go from WM’s to living in a TTY (although you can try!). Perhaps a new challenge might be to attempt a distro that must be built from source code, i.e. Gentoo or Linux from Scratch (LFS). If you succeed in building LFS, you are now officially a hacker man!

Good luck on your Linux journey!


  1. For the analogy to work, this motor is made freely available by Mr Linus Torvalds, and it is up to the car manufacturers to design the car around it.↩︎

  2. Including on Microsoft Windows and Mac.↩︎

  3. I’m not sure how much you can customize the look of Pop!_OS to be honest. Their desktop environment, while still Gnome, is in a period of transition. The developers of Pop!_OS are in the process of creating their own unique DE, called COSMIC at the time of writing. Last I checked, customization was a bit more restricted than in either Ubuntu or Fedora.↩︎

  4. That’s not to say that a stable release won’t ever break your system; it’s a matter of probabilities, i.e. a new release every six months vs a new release every other day.↩︎

  5. The Pop shell is not a window manager, and it will not replicate the feel of one. It’s simply an extension for the Gnome DE to enable you to tile windows on the screen. So if you use it, don’t go around saying “I use the Pop shell window manager”, because that doesn’t make sense!↩︎

  6. To launch programs with keyboard shortcuts on Gnome, you need to customize them in the Settings manager.↩︎

  7. I cannot guarantee that i3 will not clash with your Gnome DE, however! If you’ve read “My Journey into Linux” series, you’ll recall that I personally experienced issues with my Gnome DE after installing i3wm alongside it. For some reason, I got artifacts on my screen that I could not get rid of. But that was over 2 years ago, so the bug may have been fixed since then.↩︎