Today’s tasks are to install any command line software that don’t get included in the base package, set up
zsh to be the default shell and get a GUI up and running. Potentially this last part could be the most complicated part, as it’s not something I’ve ever had to do myself. My first task, however, is to simply read through the General Recommendations article in the Arch wiki. This has an absolute wealth of information, and while it probably has too much to read everything before proceeding, I want to at least glance over the topics and find things that might be useful.
Looking through the System Administration section, I have a quick glance at the command line section, I find out how to list available shells. Sadly,
zsh is not installed by default, but I know I can install it, having done so before on Windows Subsystem for Linux. A quick install later, I’m ready to go through the initial configuration of
zsh. However, when I invoke it, I do not get the new user setup as expected. I try running it manually, and get told that it won’t run as root.
That pretty much determines my next course of action, which is to set up a user account, and stop doing everything as root. This really should have been my first task yesterday after getting the system installed, but I was being lazy. Still, at least now I can create my new user with
zsh selected by default. I also remember to make sure that I add the new account to the
wheel group, since I’ll be needing to be able to use
sudo for installing software. On first login with my new user I get prompted to set up zsh, which I do.
After setting up my user account, then next topic in the general recommendations is Security. There are some excellent guidelines here for hardening a system, and also some very useful advice, such as:
- It is possible to tighten security to the point where the system is unusable.
- You can never make a system 100% secure unless you unplug the machine from all networks, turn it off, lock it in a safe, smother it in concrete and never use it.
Given that this is a temporary exercise, and not intended to contain any sort of critical data, I won’t bother with most of the recommendations.
Next up I decided to set up a desktop GUI, so started reading the documentation for that. Hoo boy, was that a fun bit of reading (pardon my sarcasm…). Long story short, there are two different desktop environments, X11 or Wayland. I’d never heard of Wayland, although it turns out I’ve used it recently without realising it. After reading various articles, I came to the conclusion that Wayland was the way to go (due to it being more secure by default). Now the only decision was which desktop environment to actually use.
Given my penchant for collecting old laptops and sticking Linux on them, I’ve become a big fan of XFCE, but this does not appear to be an option for Wayland. Looking through the list of Wayland compositors, a few caught my eye. There’re the old favourites like Gnome, which I haven’t really used for more years than I care to think about, KDE, which I’ve not used in the past 5 years or so, and Weston, the compositor developed by the Wayland developers. After a bit of reading and thought, I narrow my choice down to either Gnome or Weston. Not wanting to overload myself with new stuff to worry about, I end up deciding to use Gnome.
In trying to install Gnome, I discover something odd. Assuming I need root privileges to install Gnome, I try using
sudo to install, only to discover that
sudo isn’t included in the base install of Arch. No worries, I
su to root and install it with no issues. Jumping back into my normal account I try
sudoing the Gnome install, where I find I can’t use it, due to not being in the
sudoers file. I jump back into root, add the wheel group to
sudoers, jump out again, and finally get to install Gnome.
Following the instructions for starting Gnome automatically on boot, I enable the GDM service in systemd, then reboot the computer:
sudo systemctl enable gdm.service
At this point everything seemed far too easy, compared to everything I’d done previously, so I was pleasantly surprised when my machine booted into the graphical login screen. I was able to login without issue and was presented with something that I can only describe as “What in the heckity-heck is that?”. The current version of Gnome is vastly different to what I was used to, and also much different to either Windows or MacOS. It’s going to be an interesting time getting used to this particular GUI, I think.
So, all in all it took me two days to get a working GUI in Arch, although I was doing other things while performing the install, so realistically if I had just sat down and worked on it, I would have had it sorted in a day. Looking back, I definitely feel like I learned a bunch. Would I do it again? Probably not, I’d just install Manjaro to get Arch without all the messing around in the command line.
Given that I was doing this as a precursor to building a Linux install completely from scratch, I’d say it’s been valuable experience. I have a feeling that Linux from Scratch will be even more frustrating, but at least I have an idea of how to go about things. I think the most important lesson I learned here is just how important reading, and understanding the instructions is.
I like messing with stuff and seeing what I can make it do. Computers, electronics, photography are my main hobbies, but I also enjoy bike riding, gel blasting and music.