Arch Linux

Arch Linux Logo My favourite distribution of Linux is Arch Linux. The reason? It lets you choose exactly what components you'd like to install - nothing more. Unlike pre-packaged distros like Ubuntu, Arch doesn't come with an office suite, a graphics editor, various games, tons of GUI tools, etc. Oh, you can install all of these things. As a matter of fact, you can make Arch look and behave exactly like Ubuntu, or any other distro. But that's not what I'm into.

When I install Arch, I either run Tom's Window Manager (TWM) which was one of the original window managers for Unix, or I run XFCE4 which is a nice, lightweight but modern window manager. I tend to install Arch often - recently I re-did my laptop after buying a bigger hard drive, or into a virtual machine for testing purposes. Here is the guide I use to install Arch:

Installation Notes

# ping                   ;ensure you have Internet!
# timedatectl set-ntp true             ;ensure system clock is accurate
# lsblk                                ;list devices
# parted /dev/sdx                      ;partition drive
(parted) mklabel msdos
(parted) mkpart primary ext3 1MiB 99%  ;this is the primary partition
(parted) set 1 boot on
(parted) mkpart primary linux-swap 99% 100%
(parted) quit
# mkfs.ext4 /dev/sdxY                  ;format primary partition
# mkswap /dev/sdxZ
# swapon /dev/sdxZ
# mount /dev/sdxY /mnt
# vi /etc/pacman.d/mirrorlist          ;adjust for Canada (eh!)
# pacstrap -i /mnt base base-devel bash-completion vim rfkill
# pacstrap -i /mnt networkmanager      ;use nmtui to configure wifi!!!
# genfstab -U /mnt >> /mnt/etc/fstab
# vi /mnt/etc/fstab                    ;double check everything!
# arch-chroot /mnt
# vi /etc/locale.gen                   ;uncomment en_US.UTF-8 UTF-8
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# ln -sf /usr/share/zoneinfo/{Zone}/{SubZone} /etc/localtime
# hwclock --systohc --utc
# echo {hostname} > /etc/hostname
# vi /etc/hosts                        ;add hostname at end of lines
# vi /etc/resolv.conf.head             ;add options single-request
# systemctl enable dhcpcd.service
# systemctl enable NetworkManager.service    ; if required
# passwd
# pacman -S grub
# grub-install --target=i386-pc /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg
# vi /etc/pacman.conf                  ;uncomment multilib repository!
# useradd -m -G wheel -s /bin/bash rick
# passwd rick
# visudo                               ;uncomment 'wheel' group line!
# exit
# reboot

Once rebooted, install nice things. Run all these commands with:

sudo pacman -S {package}

first, update repositories:
sudo pacman -Sy

xfe                                    ;file manager
xv                                     ;for displaying wallpaper in TWM
xarchiver                              ;for opening .zip and .7z files (etc)
xcalc                                  ;calculator
xbindkeys                              ;map keys like volume and brightness
terminus-font                          ;nice font for the console!
                                       ;create; /etc/vconsole.conf with the line:

nvidia-340xx (optional for 3D accelerated graphics)
alsa-utils (optional for audio support)

pacman -S virtualbox-guest-utils
vi ~/.xinitrc                          ;add /usr/bin/VBoxClient-all

yaourt                                 ;aur + pacman wrapper
package-query                          ;required by yaourt
gkrellm                                ;system monitor
atom                                   ;source code editor
xephem                                 ;fantastic star/deepsky atlas
stellarium                             ;night sky simulator
stella                                 ;Atari 2600 emulator
gimp                                   ;image manipulation
firefox                                ;web browser
freshplayerplugin                      ;to allow Firefox to play Flash movies
pepper-flash                           ;required by freshplayerplugin
moc                                    ;music on console!
vlc                                    ;multimedia player
libreoffice                            ;office suite
clamav                                 ;antivirus
jre7-openjdk                           ;java runtime
virtualbox                             ;virtualization
                                       ;gpasswd -a {user} vboxusers
x86f-input-synaptics                   ;laptop touch pad driver (very good!)

HP printing
cups                                   ;systemctl enable org.cups.cupsd.service
                                       ;gpasswd -a {user} lp
hplip                                  ;hp-setup utility
python-pyqt5                           ;required by hp-setup
python-gobject                         ;also required by hp-setup
gtk3-print-backends                    ;required to print from Firefox

sudo pacman -Syu
yaourt -Syua

XEphem on Arch Linux

XEphem Astronomy Programme One of my favourite astronomy programs is called XEphem by Elwood Downey. It is a wonderful Unix/Linux application that not only shows you the night sky down but also a wealth of information regarding the planets and other sky objects. I have the purchased version which comes on 3 CD-ROMs. Since I run a super lean version of Arch Linux, I found there are a few things that I need to have installed before installing XEphem.

Here is what you need to have (you know, besides a working X11 system with a Window Manager):

  • openmotif
  • tcsh
  • cpio

With those items installed, you can buy XEphem from the Clear Sky Institute website, download the three tar.gz files and extract them on your hard disk drive. Each file extracts into its own folder - run the shell script in each folder (as root) and then you're ready to run XEphem!

NOTE: the default install of XEphem no longer is able to communicate with some NASA services, as they've moved to SSL. There is a user-contributed patch that enables it:

You can download the source code and extract the archive to a temporary folder, then copy the above patch file into the GUI\xephem folder inside the source code structure. From that folder, run the following commands:

sudo chmod u+w *
patch -p0 < {name of patch file you downloaded}

There are several files that will get patched - you will be prompted for their names as the patch utility runs through them. You'll see the name to type in from the output just above each prompt. Once it is complete and all the files are successfully patched, you can run "make" to create a new xephem executable. Copy this new file over top of your old one (ie: /usr/bin/xephem) and you're all set!