Academic Arch: An ArcoLinux University Overview

ArcoLinux takes a unique approach by creating a learning path for going from a beginner to an advanced Arch Linux user. But does it really matter to users?

Arch Linux is an advanced Linux distribution and also has some elitism and gatekeeping associated to it. However, it is quite popular among a lot of desktop Linux users for the ease and freedom of customisation. As a result, there are 22 actively maintained Arch-based distributions, starting from old distributions like ArchBang which was created 12 years ago to recent ones like Garuda and Archcraft which were created in 2020.

While all distros in this list provide graphical installers, some of them have unique features. Manjaro Linux uses their custom repositories to deliver upstream packages with a delay after testing. Artix Linux replaces init system SystemD with OpenRC, and Parabola and Hyperbola ship alternatives for packages with proprietary blobs of code.

Belgium-based teacher Erik Dubois had a completely different idea in mind. After working with the core team of Archlabs Linux for a few months in 2017, Erik created ArchMerge which was inspired from a version of Archlabs he had created. He conceptualised a learning path which new Linux users could follow to become advanced users capable of creating an ISO image of their version of Arch Linux, created after installing the packages of their choice and modifying the system by applying themes and enabling background and foreground processes. After the inception in late 2017, the project was renamed as ArcoLinux in March 2018.

In its current form, ArcoLinux has become a set of multiple flavours of an Arch-based Linux distribution. The first flavour is ArcoLinuxL, a pre-configured distribution with the XFCE desktop environment and a host of pre-installed applications. The second flavour ArcoLinuxS comes with a pre-configured XFCE desktop but without the pre-installed applications. It offers the choice of installing the mainline Linux kernel with ArcoLinuxS, or the stable LTS kernel with ArcoLinuxS-LTS. The third flavour ArcoLinuxB provides users the option to choose from a list of 26 desktop environments and window managers, or install all of them with the Xtended ISO. The installer in the ArcoLinuxB ISOs also provides granular control to users in terms of choice of applications to be installed. The final flavour ArcoLinuxD is close to the Arch Linux ISO but with a graphical installer which can help the user install a minimal system easily.

Additionally, there are other ISOs aimed at helping people wanting to create custom Arch-based distributions. However, the current focus of the ArcoLinux team is a program named Arch Linux Tweak Tool, which provides a graphical interface to users for performing a multitude of tasks like installing and removing DEs or WMs; installing, enabling and configuring display managers and modifying other aspects of system behaviour like wallpapers and bootloader background images.

Information about the distribution is disseminated through the websites for the individual and Erik's YouTube channel where he regularly posts videos with information about the latest developments in the project. Erik is also pretty active in the Discord and Telegram group for the distribution. However, the clumsy structure of the websites created using WordPress seem to dissuade a lot of potential users, with people finding it difficult to navigate to the download links which are also on multiple websites depending on the flavour. YouTube videos are definitely useful as guides for installing or maintaining Linux distributions, but navigating to the right video in a sea of close to 4000 videos is difficult, and there can be no assurance of finding one that solves the exact problem that the user is facing.

Therefore, while Erik's passion is definitely commendable, some changes need to be made to the way the website and Github repositories are handled. This will make the project more welcoming for users to try and contribute to, and even reduce the maintenance efforts of the core team.

Linux Learnings: My First 5 Linux Milestones

A summary of my 18 month long Linux journey, remembering past milestones and setting future goals.

The first computer I ever used was a Windows XP machine at school. While some friends had computers at home, I had to rely on cyber cafes for a few years before I forced my parents to buy me my first laptop right after school. I used this Windows 7 machine for a decade through college and during my first job, before it finally gave up a few months into my post-graduation. I was too busy to get it repaired right away so I just bought a new Windows 10 machine, and finally got to it only a couple of years later. It took me no time to realise that the laptop was not able to handle Windows 10 and even the original Windows 7, and that is where my journey with Linux began.

#1: My first Linux installation

I got the idea of installing Linux from a friend who had bought this very laptop around the same time as I had. I hadn't even burnt a Windows CD or bootable USB so I was a complete noob when it came to installing any operating system on my own. After discussing with this friend who used to work with Red Hat at the time, I looked up Linux Mint and ended up on their website.

I found a YouTube video and followed all the steps to download the ISO image, create the bootable USB and choose the right options in the installer, and to my surprise I got it installed successfully in the first attempt itself!

#2: Distro-hopping and landing on Lubuntu

The user interface provided by the Cinnamon desktop environment seemed pretty similar to Windows, so I was able to start doing basic stuff in no time. However, Cinnamon is on the higher end in terms of resource usage, and that would quickly become evident when I opened multiple applications simultaneously. Thankfully, I soon discovered that Linux Mint has another version with the lightweight XFCE desktop. I switched immediately and the improvement in the experience was evident right away, as the RAM usage got halved with XFCE.

In simple terms, a desktop environment (DE) is a set of programs which enable the use of a graphical user interface (GUI) on a Linux distribution. Google helped me understand that Cinnamon, the default DE offered by Linux Mint, is one of the more resource-heavy ones. A few more searches later, I found out that XFCE is a lightweight DE and consumes much less resources than Cinnamon. Fortunately, Linux Mint also offers a XFCE edition, which I installed immediately.

I was able to reduce the footprint further by uninstalling the apps I didn't use, but I wanted to check out if there was anything lighter. That is when I found Lubuntu, which used the minimal LXQt desktop environment. Switching to Lubuntu was also quite easy because it is an official flavour of Ubuntu, which is the most popular Linux distribution and is also the base for Linux Mint and many other distributions. The switch from LXQt to XFCE helped me reduce RAM usage by another 40%, with a measly 259 MB RAM usage on a fresh boot!

#3: I use Arch btw!

Lubuntu was working perfectly for my workflow so it stuck with it for more than 5 months. During this period, I discovered multiple Linux sub-Reddits, YouTube channels and podcasts and that helped me learn about various Linux distributions, their similarities and differences. One Linux distribution which piqued my curiosity was Arch Linux. Unlike Linux Mint, Arch is an advanced distribution which allows the user to install a base system using a text-based command line and then customise the experience by adding components of their choice. The Arch wiki which contains information about installing and maintaining Arch Linux is considered the best documentation source for a Linux distribution, so much so that it can help you debug issues with other distributions too!

My first attempt at installing Arch Linux was unsuccessful as expected, so I thought of choosing an easy-to-install Arch-based distribution like EndeavourOS or using an automated installation script like ArchTitus. This is when Arch Linux announced the inclusion of archinstall, their own automated installation script written in Python. As with Linux Mint, my first attempt at Arch Linux using archinstall was successful, and I got a fully functional desktop running in less than an hour!

#4: Installing Linux inside Windows with WSL2

The direction taken by Microsoft after Satya Nadella took over meant that there were a lot of positive yet unexpected products getting introduced. One of them was the Windows Subsystem for Linux, which allowed users to install a Linux distribution within their Windows installation. While WSL utilised a translation layer between both operating systems, WSL2 utilised a virtual machine with a Linux kernel as the base, and therefore you could just install core utilities provided by the distribution of your choice and start working.

I started by installing Ubuntu on WSL, but I was unable to upgrade to WSL2 so I had to uninstall a couple of months later. I decided not to use WSL at all and tried to uninstall it as well, but ended up getting WSL2 (Microsoft doesn't seem to like it when you uninstall some programs). The improvement from WSL to WSL2 was pretty confidence inspiring for me, so I decided to stick with it. Thanks to WSL2, I am currently running three Linux distributions within Windows - Gentoo, Void Linux and Fedora.

#5: Trying out advanced Linux distributions

While popular Linux distributions make a lot of choices in terms of the components used to build on the base that is the Linux kernel, there are many advanced distributions which allow users to choose less common but more optimised replacements for these components.

Users installing Gentoo have to compile packages instead of using pre-compiled binaries, and therefore can optimise them to the specifications of their own system. Void Linux provides an alternative init system (which controls background and foreground processes running on an operating system) and an alternative standard library used for the compiler toolchain. Alpine Linux, takes it deeper by providing alternative core utilities and bootloader (used to identify the install operating system) along with the aforementioned components.

I was able to get Gentoo and Void running on WSL2 immediately, and replaced Arch Linux with Alpine Linux on my second laptop for some time before I went back to Arch.

What Next?

I just got two 4 GB RAM sticks delivered for my old laptop as I write this post. With the RAM upgrade, I hope to try out more Linux distributions, desktop environments and applications. The ultimate objective is to move completely to Linux, which might not happen until I find a convincing replacement for Microsoft Office. Hope I can inspire you to try it out!