Full featured Linux distros like Linux Mint, Ubuntu, or Fedora are an ideal alternative to Windows or Mac OS X on a modern laptop or desktop computer but not everyone is fortunate enough to have the latest hardware so sometimes a lighter alternative might be more suitable. There are loads of Linux distros out there and a lot of them can be run on extremely old hardware, often with surprising success. This is a summary of some of the lightweight Linux distros and desktop environments that I’ve tried.
The main full featured (or big and bloated) desktop environments are Cinnamon (first developed for use in Linux Mint), Mate (a fork of Gnome 2), Gnome 3 (default in Fedora), Unity (first developed and used in Ubuntu) and KDE. I might go into why I don’t use any of those at some point in the future but for now I will be ignoring them.
One step down in weight is Xfce. This is what I use on even modern machines that are well capable of running heavier environments. Although it started as a lighter alternative to Gnome, it has steadily increased its footprint and feature set to the point where it is entirely usable as part of an everyday operating system. It’s extremely customisable and can be made to look enough like good old Windows XP to keep me happy. It’s also possible to make it look completely different with docks or by positioning the panel(s) where ever you want them.
To install it on Ubuntu you have two options. Pure Xfce or Xfce with a few tweaks in the form of Xubuntu. Personally I prefer Xubuntu.
For pure Xfce open a terminal and type
sudo apt-get install xfce4
For Xubuntu type
sudo apt-get install xubuntu-desktop
Once it’s installed just log out and then choose Xfce from the session menu.
The same goes for other desktops.
LXDE (Lightweight X11 Desktop Environment) is another step down in weight. In my opinion it is just as usable as Xfce but runs that little bit faster using fewer resources. The only reason that I don’t use it is that I settled on Xfce before I had heard of LXDE and I fear change. I am the type of person who finds something they like and sticks with it. Again it is very customisable and by default looks somewhat like Windows XP in terms of layout. Admittedly it does look a bit old school in its default state but you can change the look and feel very easily to suit your taste.
LXDE was chosen as the default desktop for Rasbian which is the main officially supported distro for the Raspberry Pi.
Again to install LXDE on Ubuntu you have two options, pure LXDE and Lubuntu.
sudo apt-get install lxde
sudo apt-get install lubuntu-desktop
Fluxbox is a window manager that is very minimal and very lightweight. It does have a taskbar by default but the only way to access programs is to right click on the desktop which brings up a menu. Although it is possible to customise it quite a lot, doing so involves editing configuration text files rather than using a GUI. I wouldn’t really recommend it.
To install it on Ubuntu:
sudo apt-get install fluxbox
Very similar to Fluxbox, indeed originally sharing the same roots, Openbox is even more minimal. After installing it on Ubuntu and logging into it, you are met with a plain grey screen. Again right clicking brings up the menu. It’s possible to install panels and docks but again it involves editing config files. Thankfully there are graphical configuration tools to make it easier. LXDE uses Openbox as a base and this shows that it doesn’t have to just be a blank screen. In a choice between Openbox and Fluxbox, Openbox wins hands down.
To install it in Ubuntu:
sudo apt-get install openbox
If you have LXDE installed, Openbox will already be installed.
Tiling window managers
There are lots of tiling window managers but the whole concept doesn’t appeal to me at all. Some of them are extremely lightweight so I am giving them a brief mention.
There are a myriad of other desktop environments and window managers but I don’t have time to investigate them all.
There are a number of Ubuntu variants that each come with a different desktop environment that has been customised. There are also derivatives of those variants.
For Xfce there is Xubuntu.
For LXDE there is Lubuntu and Peppermint.
For Openbox there is CrunchBang which was originally based on Ubuntu but has since moved to Debian (which is what Ubuntu and all of its derivatives use as a base). Although I haven’t used it for a while, my memory is that it is a really usable distro if you want something really light that can run on old hardware.
Then there are some other lightweight distros. From here on we are entering hobbyist territory. I wouldn’t recommend any of the following for day to day use for various reasons.
Puppy Linux is a distro that runs from RAM. It is possible to install it to a hard disk but it is not recommended. The .iso file isn’t much more than 100MB which is pretty small compared to Ubuntu and Mint which are around 1GB. I used it quite a lot 4 or 5 years ago and used to really like it. It was really fast and allowed me to resurrect an ancient IBM Thinkpad A20m (originally running Windows 98) into a machine that was capable of browsing the web and even watching the odd video.
When I decided to write this piece I thought I would have good things to say about Puppy but alas not. It seems that since my last dealings with it, there has been major fragmentation within the project. There are now two websites (puppylinux.org and puppylinux.com), one being called the official site (.com) and the other being called the community site. Both sites have various versions that are compatible with Ubuntu packages and Slackware packages but there seem to be different version numbers of each on each site. Obviously I could investigate this properly and try the various versions but I don’t want to. The nature of free/open source software means that there will always be fragmentation but I think that they should clarify their version system.
I tried two Ubuntu compatible versions and although they had different colours and desktop backgrounds and had slightly different menus, they struck me as broadly similar. I very briefly tried to connect to my wireless network but the wizard failed. Again I could have tried harder like I did back in the day with my Thinkpad but instead I just plugged in my ethernet cable. This time the wizard worked.
One program that I always try to install when I try a new distro is VLC. I do that for two reasons. Firstly it is a great media player that will play almost any video file, regardless of codecs. The second is that it has a lot of dependencies and so it is a good test of distro’s packaging system. Debian (and thus Ubuntu/Mint etc.) uses APT which is a very clever solution to the problem of dependencies. I am used to typing in one command to refresh the list of available packages (apt-get update) and then one command to install a program (apt-get install vlc). I sometimes use the excellent GUI Synaptic, in which case I just click a button to refresh the package list and then search for, select and install the program. APT makes this process trivial.
With Puppy it is a different story. I admit that I don’t know enough about Puppy to install programs using the command line so I had to rely on GUI tools. I managed to find the package installer from with the menu (each version had it in a different place) and after searching for VLC I clicked on it. It attempted to install it but gave me an error, suggesting that I refresh the package list. The button to do that was two screens deep but I found it. Clicking it in one version caused it to start refreshing and then just freeze. At that point I gave up and tried the other version. I went through the same process only this time the package refresh worked. Slowly. Very slowly in fact. It must have taken about 15 minutes to complete the job. This wasn’t because of slow download speeds, it was because it processed each available package individually and there were an awful lot of individual packages. When it finally finished I installed VLC and it worked very well. I was able to stream a 720p video from my desktop machine and it played perfectly on full screen.
Overall I wouldn’t recommend Puppy for use beyond a bit of tinkering. One of the main reasons for that is that it doesn’t have users and instead always runs as root. Running programs like web browsers and email clients as root is a recipe for disaster so it strikes me as odd that the developers have taken this decision and stuck with it for the ten years of the project’s history.
Damn Small Linux
Once upon a time, DSL was the daddy of lightweight desktop Linux. At 50MB, it seemed like it wasn’t possible to make a functional operating system any smaller. A lot has happened since 2008 when it last had a stable release and quite frankly it has become irrelevant. I didn’t try the latest release candidate but version 4.4 that I tried seemed pretty terrible. That might sound harsh considering it is such a small .iso and there was a time when it seemed really impressive but now that Tinycore exists I just don’t have much time for it.
I couldn’t get wifi or ethernet working (admittedly I didn’t try very hard at all) and it wouldn’t even boot properly on my old test laptop. Without a network connection there wasn’t much I could do with it. It’s worth checking out briefly, maybe the newer release candidate is much better. Maybe I will revisit it if that ever becomes a stable release. I didn’t use it long enough to work out how to take a screenshot but there are a couple on the project’s website (1 and 2)
Originally derived from Damn Small Linux, Tinycore takes it to the next level. There are 3 versions which are clearly explained on the website. As this is about desktop Linux I will ignore the smallest one which at 8MB only has a command line interface. The 12MB version (called Tinycore) contains just enough to boot to a desktop and install programs. There is also a 64MB version which comes with various programs and utilities.
I tried the 12MB version. It is remarkable that they have managed to develop a usable distro that is so small. By usable I mean I was able to install Firefox and VLC really easily and at least browse to my Desktop and stream a video. There was no sound and the screen resolution wasn’t right, despite my brief attempt to correct it. I’m really impressed with Tinycore and think that if I spent enough time with it I could customise it enough to do almost everything I can do with a fuller featured distro like Xubuntu. Unfortunately I don’t have the time so I won’t be doing that.
I highly recommend checking it out. It is after all a very small download that can be put onto a USB stick using Unetbootin. It definitely wins the prize for size vs usability.
If you have a modern machine and want it to work perfectly and absolutely fly then I recommend Xubuntu.
If you have a slightly older but still reasonable machine then I recommend Lubuntu.
If you have a machine that has seen better days then I recommend Crunchbang.
If you have an ancient machine or just like tinkering then I recommend Tinycore.
Obviously this is not an exhaustive list and there are hundreds of lightweight distros out there. This is just my round up of a few of them.
Also this round up is very Debian/Ubuntu centric. That’s because having tried most of the major distros, I believe Debian to be by far the best base and Ubuntu (minus Unity) to be the best overall distro.