Arch Linux - asher9943/personal-wiki GitHub Wiki

Overview

Arch linux is very lightweight (like SSD boot in 3 seconds kind of light), making it ideal for users who have a bit of linux experience and want full control over their environment. For everyone else, there's Ubuntu. Most of this won't make sense if you don't look at the Arch wiki, but if you read the relevant sections of that and have some experience you'll have the eternal clout of being a "true" linux user (/s).

Installation

The installation of Arch is a bit complicated, but if you've never done that sort of thing before it will give you a much better understanding of the linux environment and how it interacts with your hardware and other operating systems that may be present. The archinstall script (present in the install medium environment by default) can help out, especially if you are trying to wipe the slate clean and don't want to go through things in gory detail again. Of course, being me, I will suggest that you do things manually, with assistance from the wiki, the first time. Really the only things I'd suggest here are go for GRUB, it just works, and NetworkManager for the same reason.

Desktop

Installation is finished. But what's this? I only have a shell! Yeah, welcome to Arch. You want a desktop? Go install it. I like Budgie personally, but that may change in the future. The awesome thing about Arch is you can try them all and pick your favorite. I would suggest some xorg based thing since I'm not sure how far along Weyland is yet. Display manager isn't hugely important, since you won't look at it that much. IIRC I went for lightDM since I like to keep things minimalist. Theme wise Orchis for the colors and Tela for the icons are my favorites. But again, go with whatever you like.

On my laptop, I had an issue with the screen shutting off and not waking unless I put the machine to sleep by closing the lid and repoening it. This was a rather interesting fix. The issue was that because I was waking from some kind of partially active state, the display manager was being loaded in before the graphics stuff had come back online and was therefore unable to display itself. I added logind-check-graphical=true to my lightDM configuration, which tells lightDM to ensure that the graphics driver stuff is up before trying to display itself. The machine now happily wakes from the screen being off. However, I have still had issues waking from sleep. I don't think this is an Arch thing, since they are similar to what I faced on Windows on the same machine. So, I just disabled sleep. If I'm going to be away for that long I can just shut the machine down.

Packages and the AUR

Get yay (yet another yogurt), it wraps pacman and lets you get stuff from the Arch User Repository more easily and keep it updated. Also AUR stuff is preferable to random internet downloads in my experience (looking at you VMWare).

Command line emulator

Of course you could switch to another tty (that isn't running your desktop/x-server I assume) but you probably want a windowed application for shell stuff. Terminator is my favorite, and there's a plugin for themes (terminator-themes). As always, pick whichever one you like. Oh my bash is another nice to have, instead of a theme for the display it lets you easily manage your whole bash configuration. There are more cool things you can do with it, but I'm just here for the pretty colors.

Virtualization

There are those strange companies that do not support linux. Usually I ignore them and find some open source alternative. However, on occasion you will be forced to maintain compatibility with neanderthals Windows users. As an example, ordinarily I would use FreeCAD, but I was on a team that required Solidworks formatted models. VirtualBox is a good option here, but for me Solidworks refused the license they gave me in that virtualized environment. Apparently they do support VMWare though. I installed VMWare from the AUR (using yum, isn't it nice how things come together?) and happily churned out many bad models.

Specifically regarding VMWare, I did have to make two significant changes to get things running smoothly. First, the Windows guest kept complaining about network being unavailable, which I fixed by manually enabling that service. Second, the VMWare page on the Arch wiki has a script you can put as a systemd sleep hook that will automatically sleep any running VMs before Arch sleeps. If I didn't do that, I found that I had the same screen shutoff issue I described with lightDM. To be clear, that fix works, but without this you won't be able to wake the machine properly whenever there is a VM running. If you are trying to leave a process running in the background, then make sure to disable system sleep, otherwise you'll come back to find it happily picking up where it left off. Finally, I highly suggest ensuring that your guest OS has the VMWare tools installed. In my case it led to significant performance increases.

Work

Sometimes we have to take a break from customizing linux and actually do some work. Libreoffice will give you the core functionality of Microsoft office. If you need more than that you'll have to look into more specialized software or find a license. I did suggest you install a Windows VM after all. Web access is a neccesity at this point, and you probably have already installed your favorite browser. However, I will make a plug for Brave. It's chromium based and privacy-focused. With a little effort you can at least become much more difficult to track and fingerprint. Pretty much anything you do in Matlab can be done in Octave too, but I'm pretty sure you can install Matlab straight on Arch (through AUR or their download).

Development

There are official packages that provides the open and closed source versions of Visual Studio Code. The open source one does not have all the extensions of VSCode, but it has many of them. Or you could be like me from a few years back and refuse to use anything but Vim. Glad I outgrew that phase. I also highly suggest installing Docker. It will save you from bloating your shiny Arch installation with random packages for personal projects that never get finished and becoming the very thing you swore to destroy. If what you're doing is pure python, its virtual environment tool (venv) should suffice. Do avoid cluttering your system python installation, it will be a pain down the line.

Messaging

Sometimes I like talking to people. Sometimes. Discord has an official Arch package. Slack has a beta package in the AUR, but it works well for me.

Random utilities

It's funny the things you miss when you don't have them. Like screenshots. Flameshot will help you out there.