Sunday, May 03, 2015

Fixing Everything That is Wrong in Arch Linux

I thought about putting wrong in quotes in the title, but I thought that might be too cliché.

Arch Linux is the type of operating system that, more or less, has to be built from the ground up. A base install has no programs that aren't part of the core of Linux or GNU. Commands like grep and su are there, but sudo (installing sudo can be especially fun), wget, and just about anything you can think of isn't. I'm sure there's a ton of stuff I don't know about that isn't part of the core there, but the only thing I know that isn't part of the core is pacman, Arch's package manager.

I'll be a bit more clear, a base install of arch looks like this:

I stole this image from Lifehacker

Anything you want to use, you'll have to install yourself. And often-times, that's a bit more complicated than you'd want it to be. For example, I spent the better part of a week trying to pet a boot animation to work. I had to custom edit linux (my kernel) and mess with a half dozen text files. I had to install a few programs, tweak my video drivers, and it still didn't work. I still have no boot animation, but sometimes it works. The reason it doesn't work is somewhat simple though: I use proprietary drivers for my video card, which is to say the drivers that come from Nvidia. Since I do, the one essential feature for this boot animation doesn't exist in my drivers. If I were using an open source driver, it would work like a charm.

In fact, installing Arch requires a guide. It's not all that difficult, but it can be daunting at first. The first time I did it, I struggle for hours. Today, I can do it mostly without a guide, but sometimes stuff changes. Lifehacker has a pretty good guide but it hasn't been updated in a few years. Things are different now, but almost all of the information is relevant. Arch also has a beginner's guide but I would suggest following Lifehacker's guide, it's shorter and more to the point. The Beginner's guide is all encompassing, it's a bit easy to get lost in the text since the article covers just about every situation you might find yourself in, but it's updated regularly (the Arch Wiki is legendary for its documentation).

My original point is that things aren't easy. You want a desktop gui? You have to install it. You want it to look a specific way? You have to configure it. You want it to start on boot? You need a desktop manager. Want the DM to start on boot? You have to add it to the init. The examples go on and on really. Arch also, by default, doesn't activate swap space. An issue I had for years before realizing it. Linux sort of assumes the swap will be active when there is a swap file or swap partition, so my RAM was CONSTANTLY full. Turns out I can't just make a swap, I have to add it to the fstab. In order to have my hard drives (and their partitions) to mount on boot, I also have to add them to the fstab. To have them mount properly, I have to install the right extensions.

Even simple stuff like preview thumbnails in a file viewer, to preview screenshots from videos or thumbnails for images, isn't a one step process. Displaying my profile image in my DM isn't enabled by default, because the image has to have the right permissions. Nothing is simple.

I've been using Arch without these pleasantries for years, mostly because I heavily leaned on my Windows install. I'd have Windows up for weeks at a time before I'd touch Arch again. Sometimes I would only change back because the power went out and I forgot to select Windows on boot. My windows install also had every program I use regularly, and the ones I want around when I need them. I didn't often have a reason to switch.

So you might find yourself saying, "but Zac, why even have the linux paritition around? It's just taking up space and it's obviously not up to par." You'd be wrong all the way around. My Arch install feels so good. I've tweaked it every which way. I spent weeks getting it to look just right and I've spent years improving it. It's amazingly fast, boots almost instantly, and smooth. If something doesn't look right or feel right, I can change it on my own whim. There is often no work around for simple stuff like icons, colors, mouse speed and just about anything else. Simple stuff like being able to scroll windows that aren't in focus is an amazing feeling, and those things are something I miss when I don't have them. I also just plain feel safer. Linux isn't 100% safe from malware (every big news story centered on safety of private information has involved linux, because most servers are either BSD or linux based), but it's rare especially for home use.

Arch is also always up to date. It's a rolling release operating system, which is terrible for stuff like programming and servers, but feels so good for home use. Ever get a nag from a program for a new version? Ever not want to do it? In windows, the process can feel so lengthy. Open a browser, download the update, uninstall the old version, install the new version, and then start it back up. With Arch, and most Linux distros, this never happens. One command and minute later, every program is up to date without any more fuss. That's something that I truly love.

In the last few weeks, I've put my nose to the grind stone and researched everything that was wrong with my Arch install. I wanted to bring it up to the level that other preconfigured operating systems. Simple stuff like having a good looking login manager which uses the correct profile picture, a file manager that actually has preview thumbnails and a media player that isn't just VLC. I've managed to 'fix' just about everything, except for that damn boot animation.

No comments: