In my previous article I’ve tried to investigate the RAM memory requirements for running some of the most common light window managers and desktop environments available in the Linux world. Prompted by several readers, I’ve decided to include also the big, well-known memory hogs that grab most of the Linux market, i.e. KDE, Unity and Gnome.
I am using the same setup, based on virtenv. It includes its own xserver (Xephyr) and a virtualization container (LXC). The computer is an older 64-bit machine, running Ubuntu 12.04 with LXDE as desktop environment.
I use free command to measure the memory before and after the WM/DE is started. The command prints on the screen data made available by Linux kernel. The kernel knows at any moment how much memory is using and how many buffers it has available.
I measure the WM/DE as it comes out of the box, with all the features the authors intended as default. Arguably, this is not the best way to measure. All window managers are configurable, and users in general tend to personalize them. This adds more memory to whatever numbers I publish here.
Lightning fast and stable, Ratpoison is a tiling window manager for the X Window System. The major design goal of the project is to let the user manage application windows without using a mouse, hence the name.
On Debian/Ubuntu install it as sudo apt-get install ratpoison, or yum install ratpoison on Fedora. Start it with ratpoison command. Be prepared to read the documentation. It runs in 1MB of RAM memory.
wm2 simply adds a frame to each window and attempts to look stylish. In the quest for being simple, fast, and small, wm2 does not support icons, menus, toolbars, panels and docking areas.
Install it as apt-get install wm2 on Debian/Ubuntu, and start it as wm2. It runs in 0.7MB, this is the smallest WM I’ve tried so far. wm2 is not supported on Fedora.
FVWM (Feeble Virtual Window Manager) is one of the most ancient window managers still in use today. It is a powerful and highly configurable environment for Unix-like systems. Some very popular window managers and desktop environments, such as Afterstep, Xfce, are derived from FVWM.
On Debian/Ubuntu install it as apt-get install fvwm, or yum install fvwm on Fedora. Start it as fvwm. It runs in 13MB of memory.
Window Maker is again under active development after seven years without an official release. It is not available in Ubuntu software repositories (as of 12.04), you can however install it from a PPA:
sudo add-apt-repository ppa:profzoom/wmaker sudo apt-get update sudo apt-get install wmaker
On Debian install it as apt-get install wmaker, and as yum install windowmaker on Fedora. Start it as wmaker. It runs in 7MB of memory.
Razor-qt is a new open-source project, and it is not officially supported by most Linux distributions. For Ubuntu users, the development team keeps a PPA up-to-date. The software works on any Ubuntu from version 9.10 onwards. Installation is as follows:
sudo add-apt-repository ppa:razor-qt sudo apt-get update sudo apt-get install razorqt
The default install from PPA runs on top of KWin in 139MB of memory. It can be switched to OpenBox, drastically reducing the memory size.
On Debian “jessie” install it as apt-get install razorqt, and in Fedora 19 and up as yum install razorqt. Start it as razor-session.
I’ve always liked KDE. Elegant and reasonably fast, it is an excellent desktop choice for people developing GUI software. In particular I like Kate text editor and KDiff3. Qt development tools are also well supported, but that was to be expected from a desktop based on Qt library.
I installed kde-plasma-desktop packet from Ubuntu 12.04. The packet is described here as “the bare-minimum required”. I started it in console as openbox-kde-session. It runs in 201MB. On a real KDE desktop such as Kubuntu it will be much more.
Note: the 201MB measurement was done on top of Openbox window manager. Usually, distros will pair KDE with KWin window manager. This will add 100MB.
A full installation on Debian/Ubuntu is done as apt-get install kde, and on Fedora as yum install @kde-desktop.
Unity is the default desktop in Ubuntu. Ubuntu is what they recommend you to try when you move to Linux. It is friendly, functional, and geared towards “human beings”. Too bad it runs in 192MB of memory! It would be a good idea to trim it down, let’s say by 50%. As a note, DOS conquered the world by running in 64KB of memory.
Unity is installed as sudo apt-get install ubuntu-desktop. You can start it with unity command.
Gnome 3 is an experimental desktop developed mostly by RedHat. Not all the functionality is ready (for example the taskbar and the menus are missing), and there are problems in the listening-to-your-users department. If you are looking for Gnome 2 functionality or something similar, check out Linux Mint website.
I installed Gnome 3 as sudo apt-get install gnome-shell (Debian/Ubuntu) and started it as gnome-session. It went through 155MB of memory before painting anything on the screen. On Fedora Gnome 3 is installed as yum install @gnome-desktop.
Trinity, Mate, Cinnamon
In a normal world, where development teams listen to users, this should never have happened. Not only these environments are smaller and faster, they actually do what desktop environments are supposed to do.
I installed Cinnamon as follows:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable sudo apt-get update sudo apt-get install cinnamon
I’ve started it as cinnamon. It runs in 79MB. The package was included in Debian “sid” and it is installed as apt-get install cinnamon. Cinnamon was also included in Fedora 19, where it is installed as yum groupinstall “Cinnamon Desktop”.
If you have some ancient hardware that you need to breathe new life into, or if you need to fit a distro on a modestly sized memory stick, the first thing you should look at is the window manager/desktop environment. Whatever your needs, Linux is much more than Gnome and KDE.
TinyWM, 9wm, miwm, wm2, dwm, Ratpoison, TWM, xmonad, JWM, i3, Blackbox, Sawfish, IceWM, PekWM, Openbox, Window Maker, awesome, FVWM, Fluxbox, Mutter, E17, LXDE, KWin, MATE, Trinity, XFCE, Cinnamon, Razor-qt, Gnome 3, Unity, KDE