Logo

Student Corner

My Experience with Linux

Written by: Apurva Adhikari - 2022005, Grade XII

Posted on: 12 July, 2021

It has been quite some time since I have been using Linux as a desktop operating system. If you use Linux or know about it, you might know that Linux is not an entire operating system, it’s just an open-source kernel, the kernel is simply the base of an operating system. It being open-source means that its source code is available in public and you can edit as you want. Using the Linux kernel, many operating systems have been created, those are known as Linux distributions or simply distros, some popular Linux distributions are Ubuntu, Arch, Debian, etc. I don’t consider myself a Linux veteran or an expert but in this article, I will share my knowledge and my experience regarding Linux and its distributions.

So, my journey with Linux started with me researching how I became an ethical hacker or a pentester. From that research, I concluded with using Linux, and later I found out Linux is not one thing and there are many operating systems based on Linux, so later on I chose Kali which is a Linux distribution created for the sole purpose of cybersecurity. I dual booted Kali and Windows for quite some time but later on, I deleted Windows and was using Kali as my main operating system but then Kali was not designed to be used as a main operating system, so I had to face quite some errors. So, I was searching for an alternative that can be used for hacking as well as a primary operating system. During that time, I found a script on Github which installed Kali tools on Ubuntu, so because of that I decided to switch to Ubuntu and I did. Everything was fine with Ubuntu but I figured something about Ubuntu. There are quite some reasons to use Linux like customizability, security, and many more. First of all, Ubuntu shipped with Gnome which is the least customizable and the heaviest desktop environment for Linux and also my least favorite desktop environment for those reasons. Unlike windows, there is not only one desktop, but there is also a different looking version of the desktop, they are called desktop environments. Also, Ubuntu was blamed to have trackers and various things like that preinstalled, and also they were criticized for making changes some power users did not like. Fortunately, there was a fork of Ubuntu that disabled all the features which were disliked but provided everything else Ubuntu provided, that distro became so famous that people don’t even know that it’s a Ubuntu fork now. Its name is Linux Mint. With Linux Mint, I also switched to quite some distros. I had tried many distros by that time.

Everything distro I used looked fantastic and elegant out of the box but that is not the reason why you use Linux. Also, every distro came with some apps which I will never really use, so I had to put extra effort to uninstall it. So, I searched for a distro that had no pre-installed package and I would decide how it would look instead of getting out of the box look. At the same time, I discovered Debian which gave me everything I was looking for, it came with almost no packages and only the software I wanted was installed which was just perfect. I used Debian for a long time and still love it to this date but there was a small thing that is not even a problem that made me switch from Debian. In Linux, we download all our software from a repository which you can think of like a software store, the difference in Linux is that every software is free and around 90% of packages you need are in the repository. Debian also has a repository but it also has another way of installing software, that is using ‘.deb’ files which is like an installer in Windows which I quite did not like, and Debian Stable version only provided tested software which is good but due to that I had to use some very old version of the software. So, I switched to Arch, Arch was even smaller than Debian, it installed everything from the repository, so that was the perfect choice for me now. But, Arch is known to be hard to use and even install. Every distribution I used before Arch gave an installer that would install the operating system but not with arch. The installer on any distribution runs a script that would install it. Arch expects you to do everything manually. There are some open-source projects like ArchFi and ZenInstaller which give you an installer to install arch but if you plan to install and use Arch as the main operating system, I recommend you to do it manually which would help you to configure it later.  It’s not just installing, even after you install it, you will only get CLI or command line, if you want a graphical user interface, you need to install it and configure it by yourself. It is quite common in Arch to have your microphone, camera, speaker, graphic card not working after you install it because you need to manually configure it. You also need to write some configuration files and edit some code while installing the arch. It may seem that installing Arch is really hard but it’s really not a big deal once you get used to it. It took me around 6 hours to install Arch on my first try but now I can install and fully configure it in under 1.5 hours. Arch was a god’s gift for me, to this date I love Arch to this date. Arch is the distro that I have used for the longest period of time. After I switched to Arch, I discovered window managers. So, what is a window manager, the window manager is the part of the desktop environment that shows the opened windows, the window manager gives the option to close, maximize and move windows. 

Everything is done in the window manager with keyboard shortcuts, so I wanted to use it, so I did. I switched to a window manager known as i3wm and sometimes later I switched to a window manager named awesomewm. Sometime later I discovered a website named “suckless.org” and the philosophy behind it, their philosophy was to create everything very minimalistic and let users add what they want in the code. They gave their source code instead of some executable so that you compile it with options that you need. Their most programs were written in C which is a programming language that I liked and had experience with, so after that I switched to dwm which is a window manager created by the suckless community. But later on I found out XMonad which I believe is the most minimal window manager, XMonad comes with nothing. When you start XMonad you will get a black screen, everything you have to configure on your own. It was written in Haskell which I did not have any experience with but after some I got used to it. I also switched to Vim from VS Code during this time. Vim is a text editor which expects you to do everything from keyboard not using mouse. I used these for quite some time and after that I found out about systemd, systemd is an init system used by Arch. Init system is a software which runs services and applications at startup, systemd is the most popular init system for Linux but it started having updates adding more features which was not needed and making it bloated, it also started doing things which are not supposed to be done by an init system which I did not like. So, I found a fork of Arch Linux called Artix which is almost the same as Arch but uses OpenRC which is another opensource init system instead of systemd. I switched to it and had almost identical settings that I had in Arch. Around this time, I had good experience with Arch and Linux, so I decided to create my own Linux distribution. I created an Arch based distribution during the pandemic and named it Delta OS. It is available in sourceforge if anyone wants to download it. After that I came to think about a fact I knew. A compiler which makes code to executable best suited for the processor, the executable you find online is created in another computer and kept in the internet. At this time, I wanted to compile everything, matching my thinking there is a distro named Gentoo which is not even a distro, I would call it a metadistro. In Gentoo everything is compiled from source code and its installation is also the same as Arch but more complicated. It took me around 14 hours to install Gentoo at my first attempt but now I think I can do that in about 3-4 hours.

I use Gentoo with XMonad and compile everything, even the Linux kernel from the source. I have written all the configuration by myself, so no one has the same looking desktop like I do. It takes around 112MB ram when opened and also takes very less storage space. I also have set keyboard shortcuts for everything. That is what I am using now. I have also thought about creating a distro from the Linux kernel really soon. I won’t recommend something like Gentoo, Arch and XMonad to everything, neither it is meant for everything. If you are someone like me who is extremely minimalist and anti-mainstream, like complicated and trying new things, I recommend you to check out those.