Arch Linux – The Linux distro for tweakers

I run Arch Linux with LXDE

I wanted a tweakable, do-it-yourself Linux system for my laptop to learn a bit more about Linux while setting up things precisely as I want them.  I started out with Debian and thought I would update my sources.list to Debian Testing to get somewhat newer packages, but after sinking some hours into it, I realized that Debian Testing and Debian Unstable (sid) are not really rolling distros. They are development branches of Debian, and there is no guarantee of stability, but at the same time, the packages in Testing, which is probably more stable than Unstable, is still quite old. I also found it annoyingly hard to get all the software I wanted for multimedia (although Deb-Multimedia does a good job of this). So I decided to try Arch Linux instead. I thought about using Antergos to get Arch installed, but sine Antergos offer well-polished desktops (but not LXDE) ready from the install, this wouldn’t really give me what I wanted.

I have installed Arch manually in a virtual machine before. It was not that hard, but it took quite a bit of time, and it didn’t really inform me that much more than for instance doing a Debian netinstall to CLI and then adding a Desktop Environment myself afterwards, so I thought it would be great to find an Arch installer that would speed up the process a bit, while still not giving me anything else than a pure Arch install. So, I doubleducked and went (or whatever the verb for using DuckDuckGo is) and found Arch-Anywhere which is an installer to Arch with the choice of a pure CLI Arch install or a DE/WM and some additional packages. It resembles the Debian CLI netinstaller a lot. It got Arch with LXDE up and running quite fast. (Running sudo pacman -Syu lxde isn’t that much of a learning experience, so I let Arch Anywhere install LXDE for me.)

Since then, I have used the excellent documentation in the Arch Wiki to find ways to tweak the install to work and look as I want. I have changed the Display Manager, screen locker, look and placement of the LXDE panel, added some GTK+ themes and icon themes, installed some extra packages to get automounting working in PCManFM, added some power-saving tools and a power settings manager and some ThinkPad-specific ACPI key functionality and so forth. It’s been fun to explore and tweak, and I have learned a bit about how things work together. The absolute brilliant thing about GNU+Linux is that the user is free to choose what packages to use for what functionality and that there are always many alternatives to choose from. All the choice Linux offers is both a bit overwhelming to new users, and something powerful and enabling and fun when and/or if you are ready to make your own choices.

For new users and when you need something that just works out of the box, other distros are better than Arch, but for the absolute pure GNU+Linux experience with the most up to date software, Arch is superior. The documentation for Arch is excellent, the packages are so bleeding edge that they are dripping blood, and the updates are as frequent as the upstream versions are pushed out.

There is absolutely no bloat in Arch. Nothing is installed except the packages you specifically choose. This is one of the reasons why Arch Linux is so fast. There is nothing eating up CPU cycles, RAM or SSD/HDD space except the things you actually use. This also means that if the USB hard drive does not automount in your chosen file manager (as happened to me), you have to learn how things work by reading up on the Arch wiki, install the right packages and maybe change something in a config file (I didn’t have to for this problem, but if it were another issue, you might have to). This forces/helps you to learn more about how Linux actually works under the hood whenever any issues pops up. Arch Linux’ philosophy is to keep things minimal and simple, but not easy to use in the traditional sense. “Keep It Simple, Stupid” is the mantra of the Arch Linux community, and it really shows in the distro.

What I found surprising is that it actually feels easier in some ways to tweak Arch than to tweak Debian and Ubuntu. The documentation is comprehensive and easily available and applies to the present day state of Arch, while on Debian and Ubuntu, I often find documentation that is out of date. One would think that with the rolling release model of Arch, the documentation would be behind, but the small incremental changes might actually be an advantage over the large leaps in release based distros like Debian and Ubuntu. Documenting everything again for every new version every six months (Ubuntu), two years (Ubuntu LTS, Linux Mint) or whenever a new version is ready to ship (Debian) is actually harder than updating some details in the wiki whenever a package changes how it is configured once in a while. It probably doesn’t hurt that many of the users of Arch are experienced Linux users and developers willingly submitting their knowledge to the wiki either.

I am also happier tweaking pure Arch than Antergos or Manjaro, because I can use everything in the Arch wiki without having to consider Manjaro or Antergos repos or configurations. The documentation for Manjaro and Antergos excists, but it is not as extensive as the Arch Wiki, and if you use one of the non-official (community supported) Desktop Environments in those distros, you are more or less without documentation from these projects and have to use the Arch wiki which you cannot be certain to actually fit the configurations and repos of Antergos and Manjaro. Even if Antergos is often considered less of a distro of its own than Manjaro (which is definitively a derivative of Arch, not just a respin or installer for Arch), it is still an “out of the box” experience very different from Arch and there are some packages installed by default that are from the Antergos’ repos and some configurations that may or may not be different from pure Arch. If you like Gnome and the Antergos installer works for you, then it might be a fast and easy way to get the Arch goodness without all the hassle, but if you, like I wanted this time, actually want to tweak things yourself, then Arch Anywhere gives you a slightly easier install of Arch, without any non-standard configurations or repos. Or you could just install Arch directly in the slightly more time-consuming (and possibly more educational) manner that it is actually meant to be installed.

Another advantage of Arch Linux is that the distro has a philosophy of using upstream packages without changing them except in rare cases. Unlike in Debian, where package maintainers often backport security fixes to old packages and thereby effectively fork upstream for as long as the package is supported (which might introduce new bugs and security holes if not done properly), in Arch, the packages are usually directly from upstream with no extras added or subtracted (except in rare cases where large packages might be split into smaller components). This means that Arch Linux is as “pure” a Linux system you can get. It is also a very effective way of doing things for a distro rolling in new packages every day, since few changes are needed. It also means that you get what the developers intended you to get. Nothing more and nothing less.

Searching for AUR packages with Pamac

Adding multimedia codecs, non-free fonts, non-free drivers and software not in the official repos is much easier on Arch than on Debian. There are no extra nonfree and contrib repos to add to get to the non-free or non-free-dependent software. And there is no need for unofficial deb-multimedia repos. Unlike Ubuntu, there are no Personal Package Archives (PPAs) to add to get access to extra software or newer updates of software already in the official repos. The official repos have a good selection of software, including some titles not available in Ubuntu because of UK restrictions on things like libraries for reading DVDs that may possibly be used for pirating, but which are more likely to be used to actually play your own DVDs. Since Arch is officially based in Canada, saner laws and a cooler climate of litigation makes Arch able to distribute dvdcss in the official repos. In addition to the official Arch repos, the vast Arch User Repository (AUR) allows you to build user submitted packages from source. To make this a little bit easier for myself, I first built yaourt from the AUR. Yaourt is a tool that makes building packages from AUR similar to using the package manager pacman to get packages from the official repos. I also added the graphical package manager pamac, which also supports building from the AUR with yaourt to get a nice GUI for software management. (It is good to know how to do this manually, but it is also nice to do it in a GUI.)

I recognize that the Free Software Foundation is right in many of its critiques of non-free software. Unfortunately, there are practical reasons why some of us might want to install some non-free fonts, GPU or Wifi drivers and media codecs. Arch Linux is not a purist GNU/Linux system with only free software, but a more pragmatic distro which lets the user decide what to install. The information about package licenses is easily available through pacman, the package search on the website, and graphical front ends to pacman and yaourt like pamac and octopi. I like this approach. It gives me as a user control of my system. I choose if I want to only use free software, mainly use free software, but compromise for practicality, or not care at all.

I have used Arch with LXDE for some weeks now and am happily tweaking things a little bit here and there occasionally after the initial setup. I am still using Ubuntu LTS on my desktop machine, but it is fun to learn a bit more and dive a bit deeper on my laptop. I have already learned a bit by the inital setup, and I suspect that as I discover new things I might want to do with my system, I will learn more. What I like the most about Arch thus far is its closeness to upstream, its documentation, its tweakability, its simplicity and its respect for the user’s choices.

Leave a Reply

Your email address will not be published. Required fields are marked *