GNU Hurd
This week I am playing with GNU Hurd, specifically Debian with the Hurd kernel. While Hurd is not something that is going to be widely adopted any time soon, I thought it might be interesting to see what it can do.
Downloading and running GNU Hurd
The easiest way to start with GNU Hurd is to download the pre-installed VM image; instructions available here. Running Debian Hurd in Qemu was the only way I was able to get it up and running properly; I believe this is mostly due to driver issues and/or limitations, as Hurd currently has very limited hardware support, and cannot even really handle SATA drives.
Applications
The prebuilt VM image comes without a display manager, but running
the startx
command will take you to LXDE for a grpahical
interface. There is not a lot of software preinstalled on the system,
however, according to this
page, at least 79% of software available in Debian repos should be
available for Debian/Hurd.
I wanted to try a different graphical enviornment, so I decided to start with EXWM. It seemed to run well within Hurd, and nothing more to say without reviewing EXWM as a window manager.
Web Browsers
A basic task of any modern OS is to be able to browse the web. While I did expect some sites to be broken or not load at all, I was hoping that I could at least get a graphical browser. However, I could not get Firefox to install at all with the output of:
fac3@debian:~$ sudoa apt install firefox
Reading package lists... Done
Building dependency tree... Done
Reading state informaiton... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
firefox : Depends: libevent-2.0.5 (>= 2.0.10-stable) but it is not installable
Depends: libffi6 (>= 3.0.4) but it is not installable
Depends: libhunspell-1.4.0 but it is not installable
Depends: libvpx3 (>= 1.5.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
After looking around online for solutions to the Firefox issue I found this user guide that had a section on surfing the web which recommended using Lynx. I have used Lynx in the past, however, generally for text only web browsing these days, I prefer w3m as it has a nicer interface and works a bit better in the modern web than Lynx does.
Both Lynx and w3m worked to browse the web in a limited capacity, but I could not get any graphical browser to work with any success. Firefox would not install at all, nor would any fork. Chromium would not install either. I was able to get Midori installed, but it failed to go out to the Internet in any useful manner; I also tried surf, both the version in the repo, and compiling from source, and has similar results.
Thoughts
GNU Hurd is an interesting idea that I will likely keep around to play with more, however, for me it is not much more than a toy. I’m sure that some people do live within the limitations of GNU Hurd as I have tested it, however, I’m not sure that I would be able to without some significant difficulties in working. Hopefully the project continues to grow and improve; I may also do follow ups as updates are put out, or I solve issues that I ran into.