TWM running on Parabola |
Over the last week to maintain compatibility with a project I'm collaborating on with Medialab , a project of Hacklab01 (more info here https://hacklab01.org/medialab ) I had to install a version of Linux that I hadn't used before - Parabola . Why Parabola? A lot of what I do and a lot of what Medialab works around are 'critical digital art creation' which naturally leads to the ideas of open source software and the possibilities that it has. Primary amongst that becomes the idea of libre-software as opposed to just open-source software. The difference is important , as the FSF states :
"As our society grows more dependent on computers, the software we run is of critical importance to securing the future of a free society. Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit, not for proprietary software companies or governments who might seek to restrict and monitor us."
I've talked before about how the software I choose to use, and the uses I put it to are inherently political, but its not just the software I use it's also the operating system and the hardware I run that operating system on.
Libre-software is fully free of licensing impediments or proprietary blobs. In the case of an operating system, which might require blobs to run things like wifi cards or graphics cards which are non-free - Parabola includes none of those things. The FSF ( free software foundation here ) definition of what a libre operating system is :
" Free distributions (or “distros”) of the GNU/Linux system only include and only propose free software. They reject non-free applications, non-free programming platforms, non-free drivers, non-free firmware “blobs”, and any other non-free software and documentation. If they discover that by mistake some had been included, they remove it. "
Why is that important? If we want to work together its easier if we all speak the same language ie use the same or similar tools and the opportunity cost for anyone wanting to replicate or expand on what we do to be the same or similar ie as low as possible - art should be inclusive regardless of economic circumstances and one of the mains ways to keep this inclusivity is to only use Libre software and as close as possible to Libre hardware or at least hardware that is serviceable. The point of Libre software is that it gives back our sense of the exploratory and control over what and how we produce .
So lets download and install Parabola then install TWM , a desktop environment that is unlike most of what we are familiar with today . The following guide is not my work , most of it was worked out By Vedran Gligo and the idea of using the TWM window manager comes from Dina Karadzic , one of the things that using libre software fosters is collaboration and so this a collaborative effort along with ideas taken from the Parabola community on reddit.
NOTE - this is not a beginners guide , it assumes a working knowledge of
Linux usage , hard drive partitioning, familiarity with using a command
line and a basic knowledge of the hardware you are using , though
linux is free and libre-linux doubly so it requires you are willing to
get your hands dirty . If you haven't used linux yet I'd advise starting with Linuxmint, Debian or Manjaro just to gain a working familiarity with installing and using a linux desktop.
Download Parabola here - https://www.parabola.nu/ then read the installation guide here https://wiki.parabola.nu/Installation_Guide , its essential to read the installation guide and for beginners new to this I'd recommend downloading the Lxde image here as it gives a live distro to boot into and an easy installer program called calamares - I'd choose this one which is for 64 bit computers https://wiki.parabola.nu/Get_Parabola#Parabola_SystemD_LXDE_ISO, don't choose anything but that as the openrc images are known to be broken at this time and the cli net-installers involve a lot more specific knowledge ( if you can install arch via command-line you might get by but the issue that strikes is trickier to deal with from the command-line unless you really know what you are doing)
Just as a by the by , I've installed this on a couple of Thinkpads , a T61 and an X200, both have had the bios whitelists removed , which is important as you will probably need to change out or source a libre distro compatible wifi card, this isn't kansas anymore and some hardware that doesn't have opensource or libre drivers just won't work ( to get parabola to work on my dell optiplex 9010 I had to remove the Radeon graphics card and just rely on the inbuilt Intel one ) you can find a list of such things online but this is a guide to some of the issues you might encounter and what to look out for when deciding to use libre distros https://h-node.org/
So I'm going to assume you've downloaded and burnt parabola to cd or usb and are booting up the distro , you've followed and read the installation guide you've got to the lxde desktop and hit the installer button and have managed to follow it through and installed it to your computer , rebooted and logged in to your user account - this is where I hit the snag that took a couple of days to work out and without Vedran Gligos' help I would have given up or gone completely mad , as I said this ain't Kansas anymore .
The first thing I do when I'm trying out a new distro is hit the package manager ( in Parabolas case the very fetching octopi and the command-line default pacman ) and that's what I did , to be met with some seriously scary error messages about keyservers and such like , which even using parabolas own troubleshooting guide I could not get around. For what its worth the troubleshooting guide which in normal circumstances would have been all I needed is here - https://wiki.parabola.nu/Pacman_troubleshooting
Parabola like archlinux ( on which parabola is based ) validates its packages with pgp keys , and uses keyservers to check that these keys are still valid , so in parabolas case the keyserver that validates everything has gone offline and thus you have to do a bit of hacking around to update and install anything new not provided by the initial install which involves altering configuration files with root or superuser privileges .
Step 1 ) open a terminal and do either ( depending on preference)
sudo leafpad /etc/pacman.conf
or
sudo nano /etc/pacman.conf
look for the line 'SigLevel = Required DatabaseOptional'
comment that out and add in a line saying 'SigLevel = TrustAll'
save and close that file then do
sudo leafpad ( or nano) /etc/pacman.d/gnupg/gpg.conf
and add this line 'keyserver hkp://keyserver.ubuntu.com'
save and exit
This is the important bit as this changes the default keyserver that the parabola package manager pacman looks to to validate keys .
step 2) Then from a terminal run these commands in sequence:
sudo pacman -Scc
sudo pacman -Syy archlinux-keyring archlinux32-keyring archlinuxarm-keyring parabola-keyring
sudo pacman-key --init
sudo pacman-key --populate archlinux archlinux32 archlinuxarm parabola
sudo pacman-key --refresh-keys
After the last command above you still get an error message but press on , all is well .
* this is the first change to original guide - previously I had recommended that you 're-open /etc/pacman.conf and uncomment the line you commented out and comment out the line you added in ( you might need it at a later date !)' , leave the alteration to /etc/pacman.conf in place until AFTER doing step 3.
Step 3) Then from the terminal again type in
'sudo pacman -Syu' - hit enter and watch your computer automagically retrieve packages and update itself
Step 4) Once that's all finished panic again as you will still get error messages but all is not lost , you just have to open octopi and in the search bar type in linux-libre which pulls up the kernel , and re-install that.
*Alteration to original guide . At this point Had recommended rebooting at this stage - but now we have to as well as reinstalling linux-libre we must also search octopi for parabola-keyrings and reinstall those ( its an updated keyring from October of 2021 which might have led to the error I encountered which led to the rewrite of this guide )
after doing all that succesfully we can now go back and 're-open /etc/pacman.conf and uncomment the line you commented out and
comment out the line you added in ( you might need it at a later date
!)'
So now with fingers crossed reboot and your computer should bring you back to the login screen . Ive done this at least three or four times in the last week and each time its worked , so I think we are golden. You should now have a fully functioning parabola linux system.
Why step 4 ? the package manager installed and updated linux-libre kernel when I did 'sudo pacman -Syu ' - wellll It was explained to me that the update process above breaks the hooks the kernel needs to do things like updating grub etc so to avoid having to reboot from an emergency disk and chroot into the system if we re-install the kernel using octopi before rebooting it repairs the errors created by the initial update which fixes the keyserver issue - hopefully you won't have to do this again , even if the kernel is updated at a later stage .
This took a few days for Vedran to work out by which time I'd almost forgotten why I was wanting to use this system in the first place.
Was all of this heartache and hair pulling worth it ? I'd have to say yes , because now I have system which is lean, powerful and actually useful plus now I can try out ideas before committing them to the main project ( which runs on an online version of Parabola ) knowing that if they work on this computer without breaking it they will work on the remote computer , and that's the point - compatibility and reproducibility all from free and libre software .
So with that out of the way I can now install what I came here for which is a window manager called TWM and compared to the above installation is a breeze. But why TWM ? Its low on resource usage ( I have this whole distro running on my T61 which was built in 2009 and it just works well ) aaaand it looks and behaves unlike Windows xx or Mac os xx or ios or android - its easily customizable from a small and simple configuration script , one of the great things about linux is that it gives you back the power to alter scripts and files easily, and in my case explore the edges of what can be done such as these :
Twm running before starting xsetroot |
Twm after running xsetroot below !
Just by adding a few simple programs like xsetroot and running them the desktop becomes a visual environment or paintbox leaving trails after opened windows and composing itself as I use and open windows .
How to install TWM ? theres a good guide here https://wiki.archlinux.org/title/Twm and there some good guides to basic .twmrc configurations here http://www.xwinman.org/