💾 Archived View for gem.sdf.org › jdd › posts › 20220220-1998-3.gmi captured on 2022-04-28 at 17:39:01. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
<2022-02-20 Sun>
Somewhere along the line, it occurred to me this project was as much about technology persistence as it was about retro computing or nostalgia. The popular idea of computing technologies is not only that they do change constantly, but that they /have to/. Newer is always better. Of course, we here at "jdd's gemini thing" know that to be untrue.
The reality of course is that computing technologies change at different rates. I've already made mention of this in both previous installments, when I referred to (for example) the ATX case standard, or the presence of a molex connector on my brand new power supply.
And as it turns out, software persistence is even more of a thing than hardware persistence, particularly (but not exclusively) in the realm of open source/free software. Cobbling together a 90s-style Unix desktop that functions well (for my particular definition of well) in the present day requires a bit of fiddling, but is not particularly hard.
As previously mentioned, I wanted my base OS to be like my motherboard: modern, and able to cope with the demands of the present-day computing.
Here, I'm afraid, my choice was rather unadventurous, and unlikely to win much favour among those whose goal is maximum disassociation from corporate computing. Yes, that's right. I chose Ubuntu.
I briefly considered alternatives: Arch, for example, would not only allow me to build a complete computing experience from the ground up, it would require it! However, there didn't seem to be many advantages. I'd have to learn new ways of doing things (pros and cons there of course - learning is good, but takes time and effort). But Arch has one great disadvantage: it's a rolling release, which means you're always on the cutting edge. And sometimes updates go very wrong, and your computer develops annoying problems that require time and effort to diagnose and fix. Or so I have read.
The various BSDs would have been even more of a learning curve, might have hardware compatibility problems ... but even worse, wouldn't allow me to run Steam. I'm not a big gamer, but I do like to play computer games from time to time. Particularly older games, such as Portal, and Myst, and Bioshock, that run well on Linux (often with an assist from Proton).
At least the flavour of Ubuntu I chose was somewhat unusual for a desktop computer, namely Ubuntu Server 20.04 LTS. It came with something called "cloud-init" that seemed particularly unnecessary for my use case, but it wasn't hard to disable. I chose Server for its stability, long-term support, and lack of a GUI. The last was important because I wanted to install and configure a window manager that's rather outside the Linux mainstream these days.
But before I got to installing the WM, first I needed to install a display server. Xorg was clearly the way to go. I am not sure how much of what I'm doing here would be possible under Wayland, so unlike just about everyone else I'm happy that Xorg is still an option, and will be sorry to see it go when it eventually does.
Way back in the mid-90s, I came across a copy of Marc Ewing's "Running Linux" and companion CD ROM set containing Red Hat 3.03. Which I eventually figured out how to install on my home computer, almost frying my monitor in the process. Good times! I don't remember specifically which window manager it came with, but it was probably Fvwm since that was a favourite WM for many Linux distributions back then (eg. Slackware). Anyhow, Fvwm was the look (and UI) I wanted for my "1998" build.
Now, Fvwm 1 is not much used anymore, but Fvwm 2 is still very much a thing; the most recent release dates from 2019. Out of the box it no longer looks much like the interface I remember, but with a bit of tweaking ... in fact an "Emulate Mwm" directive in the config goes a long way toward restoring the classic Unix look of old, Mwm being an initialism for the Motif Window Manager, kind of an Ur-WM dating from the late 80s.
The commands for installing Xorg and Fvwm on Ubuntu server are:
sudo apt install xserver-xorg-core
sudo apt install fvwm
sudo apt install xinit
The order is important! Fvwm must be installed before xinit. Otherwise, you'll get a whole bunch of Gnome, which is not what we want here.
A number of other tweaks were required but rather than describing them I'll just link to a copy of my fvwm config in case anyone out there is more interested in this than they really ought to be.
Of course, installing and tweaking Fvwm is a good start, but it only takes us so far. For some reason, a lot of modern software applications insist on using modern UI conventions like vanishing scrollbars that are still too thin even when you can coax them to appear, minimalist icons, and a decided lack of grey in their overall colour scheme. Fortunately, a lot of this contemporary claptrap can be overcome by the judicious use of custom theming. A number of retro themes have been developed over the years, but the standout one for me is Belle Pintos Grande [1], a GTK 2/3 theme that tries to make everything look like Solaris did back in the 90s. I've tweaked the CSS to make everything a bit less mauve, but apart from that it's pretty much as it was out of the box.
You do not need to install gnome to apply GTK themes as it turns out. The lightweight application xsettingsd handles that rather well. [2]
The results aren't perfect, since some of the applications I use aren't amenable to GTK theming, but well, at some point we have to call it good enough.
Modern applications also have a regrettable tendency to use fancy well-made icons that look like a graphic designer might have been involved, of all things. I don't know who thought this was a good idea, but clearly it cannot be allowed to stand. Fortunately, Fvwm makes it relatively easy to substitute old, cartoony icons that look like they were drawn by programmers, wherever it might be necessary.
Finding sources for old looking icons isn't that hard, thanks to a couple of icon packs that are still floating around. Most notably the GNUstep Icons, based on NeXTStep [3]; and the DW Icon packs, which appear to have something to do with OpenBSD [4]. Supplementary Icons are also available from the Gtk98Icons, if one doesn't mind crossing the line into Redmond territory [5].
One can even draw one's own icons! Sometimes that's necessary, particularly for the small, 16x16 icons that pop up in the menus. It can be kind of fun, keeping in mind the bar is fairly low (see xbiff).
Finally, to complete the Desktop, we need some widgets to populate the FvwmButtons bar at the bottom of the screen, and add a bit of necessary clutter elsewhere. These are referred to as dockapps and many of them have names that start with "wm". There is a nice collection of them on Github [6] although in most cases a simple "apt get install" will suffice. Unfortunately some of them no longer run or even compile on modern Ubuntu (sadly wmmatrix is one of these) but enough still work that we still have a good selection to choose from. As you can see from the screen shot I chose asclock, wmweather, wmmoonclock, and wmcube, along with the X applications xload, xbiff and xeyes. Elsewhere on the desktop we find the classic xclock and xosview, floating atop a background provided by xplanet.
Descriptions of all these classic X11 applications, and many more, are available at The Cyber Vanguard, which wins this week's "jdd's Best website of all time" award. [7]
There is always more to be done, of course. Why, just last week I replaced the toolbar icons in Emacs with a slightly clunkier set of my own devising. But that way spirals down into obsessive fiddling with things that really don't matter (does any of it?) so best we leave off here.
In the next installment I'll write about how much fun it is to actually use this beige behemoth day to day.
[7] Cool, but obscure, X11 Tools
1998 Computer Project, Part 3 was published on 2022-02-20