Stem Desktop – A light weight desktop for low end hardware
Project page at http://freshmeat.net/projects/stem-desktop
2010-06-01 Project has been closed. In 2009 the development environment broke due to severe hardware problems and project files were corrupted. The *.deb repository and files are no longer available for installation. You can browse the documentation about Stem Desktop: "the lean Debian".
Stem Desktop is a light desktop concept for old hardware (166Mhz/64M, disk approx 1G). The core element is Debian stable base install where suitable programs are retrieved from Debian package repositories. The end result is minimalistic and streamlined, fast, easily manageable low memory desktop with all the usual graphical utilities for Internet access, office and mail. The finished system is secure (firewall) and easily kept up to date with standard Debian packaging system utilities. After install, the system can be upgraded from Debian stable to any Debian maintenance release (testing, unstable etc.)
There are many Linux distributions designed specifically for low end hardware and USB sticks, like DSL (Debian derivate), Puppy (Slackware derivate) and Feather (Slackware derivate). The expertise put into those have brought many older hardware to life. What is different in Stem Desktop is its framework. It is not a distribution, but a project to put together set of applications that have been carefully selected for low memory requirements, speed and reliance only on simple libraries. Another difference compared to Linux distributions that build on Debian (like DSL) is that Stem Desktop is 100% Debian (compatible), whereas others are derived Linux distributions.
What that means when we talk about derived distributions? Take DSL. It was once based on Debian, but customized to the extent that packages from Debian (*.deb) are best not to be installed. The community provides its own custom DSL packages. Another example from Ubuntu: you must not mix Debian standard repositories with it or the system will break. In this light, Stem Desktop uses standard Debian repository and only accompanies it with few extra packages. Full compatibility was the primary design principle.
The installation of Stem Desktop is pretty simple if the install script (below) is used. However it must be kept in mind that the only thing the framework is designed to do, is to assemble certain carefully selected application pieces together. This isn't exactly a "novice install", so certain amount of prior Linux experience with command line tools and programs are expected in order to be able to answer to questions during Debian package installs. If one feels comfortable with working on command line then the install should be relatively easy.
If you're wondering how much memory Stem Desktop consumes, the following figures have been read after: a clean reboot, logging in and starting the graphical window manager. One terminal was opened and program top(1) was run inside it. The real memory consumption will raise 100% from figures below due to X-server taking more memory as more graphical programs are opened. The memory intensive applications (Openoffice, IceWeasel) will further increase memory consumption to 300% – fact that can't be avoided, because those are very big programs.
- 25M Debian 4.0 installed with netinstall.sh. The lowest score is achieved by selecting memory reduction options: replacing bash, mail server etc. with smaller alternatives.
- 50M The default install.
Standard Debian is considered to be a little difficult. "You need some Linux experience before you should try Debian", is often the consensus. Debian is considered way easier than Gentoo Linux and moderate easier than Slackware Linux, but still difficult enought for the first time users, because one actually has to start from ground zero. Non-desktop Debian does not provide much hand holding or nice user utilities like those found from Fedora Core, Mandriva or SUSE/Novell Linux. Starting from minimal Debian install, the user must know what packages he wants to install, set up X – the graphical window system – set up his choice of window manager, desktop and then administrate it all. Faced with multitude of packages (ca. 20 000), the minimal start is not easy. It is difficult to tell in the beginning what packages should be select to build a working system.
What's facinating with Debian is its robustness, well maintained packages and overall ease of maintenance in the long run. Once the system is up, it opens access to professionally maintained and huge package repositories. No other distribution can easily match the diversity, depth and ease of upgrades of the .deb packaging system.
It is possible to start becoming familliar with Debian by using a derived distribution. By installing Ubuntu (free; Open Source), MEPIS (free; Ubuntu derivate), Xandros (commercial) will give a good look and feel of what Debian is capable of. After gaining experience the names of the programs and packages become familiar. In time Debian feels like home and it is easy to pick and configure program and all the other details to bring up a properly configured system - were it stable, testing or unstable branch of it (there is also experimental branch, but that's recommended for developers only).
Many Linux distributions specifically tailored for compactness (DSL, Puppy etc.) have an edge on applications, because not all of them are yet packaged in Debian. Therefore the overall gained "smallness" of Stem Desktop is not exactly in par with e.g. Slackware based distributions which can be shrinked to thimble with enough effort. Let's take an example: there exists small office suite called siag which could have been used in place of slow and resource hungry Open Office, but at this time nobody hadn't yet ported it to Debian. In the future we hopefully see more packages suitable for low memory requirements in Debian. One of Stem Desktop project's goals is to investigate, evaluate, port and submit new applications to Debian, so that Debian could can come close to those specifically tailored small memory distributions.
The strength of Stem Desktop over other Linux distributions is the strength of underlying backbone. The unique packaging system in Debian gives trouble free maintenance to keep system updated for years to come with minimum of effort. Also the bug reporting system in Debian (see package reportbug) is unmatched compared to Web-based bug interfaces like Bugzilla in other projects. The mail based bug reporting system enables very convenient and fast channel to exchange issues between the bug submitter and application packager. If you have so far only used applications, you haven't yet experienced the "Debian satisfaction" of submitting a request and seeing that your voice was heard and responded to with a fix in a short time.
The desktop framework and deb packages
Stem Desktop (def. botany; a little branch which connects a leaf) is minimalistic in design, fast and efficient to work well on low end hardware. It integrates the knowledge of known packages into a coherent desktop and provides full working environment. For older hardware, older laptops and notebooks, this provides easy install solution and one can start the journey to build the system as he sees fit.
Debian (or "Debian proper") does not currently include a concept specifically tailored for low end hardware. There exists several window manager packages and there are thousands of other programs to go with the selected window manager. The support in different window manager varies; those not part of the mainstream (in order, from hefties to lightest: Gnome, KDE, XFCE, LXDE, IceWM), the minimalistic window managers usually do not have a good infrastructure or nice menus. A window manager must be carefully selected for low end hardware, because the resources are better saved to running programs.
Underneath Stem Desktop consists of modular collection of *.deb building blocks to help putting together a a minimal desktop system which conserves least amount of memory. Installed programs and utilities include web browser, text processing program, office utilities, instant massager, remote connectivity (SSH, IRC), firewall etc. In essence, Stem Desktop is a front end to installing "Debian proper" for a specific need. Being very minimal in design (memory consumption; not disk space), it can also be used as a rescue system if installed to a separate partition beside to the full Debian installation. The system can grow and be upgraded to any direction after installation.
At stage (1) the base Debian system is installed. A Debian netinstall
CD or any other standard install method can be used. No additional
packages should be installed during this phase.
(2) The controller script netinstall.sh will build the
system. First it offers to streamline the system even more to make the
base system as small as possible. Then it retrieves carefully selected
packages from Debian archive repository (99% of the programs) that
represent utilities which conserve least amount of memory. These
programs will be integrated to the whole system by using packages from
other repository (1%).
(3) All the installation and configuration is guided by
.deb packages. They can be replaced (substituting a program
with another; like changing from firefox to opera), removed
(taking off functionality; reversing the effects of some package
install) and upgraded (new version available) at any time. The final system
has none "custom" /usr/local etc. pieces. Everything is clean and reversable
to the point of back to "standard Debian".
To clarify: Stem Desktop is not a Debian derived distribution. It's a Debian itself with only few configuration tweaks to provide more user friendly desktop than the default settings in Debian. Eventually the plan is to contribute ideas to Debian, so that the functionality could be in the future be found from official Debian repositories and not from this site.
The default Stem Desktop login screen and light xdm login manager (themed) in action. See full size picture.
The Stem Desktop and Jwm window manger in action (Debian 4.x). See full size picture.
If you are running modern hardware and do not need a minimalistic system, have a look at GenieOS. It is similar to Stem Desktop; a front end to installing Debian but geared towards providing "heavy" desktop with full KDE or Gnome, web browser plug-in utilities (flash) and other multimedia codecs.
There is also LXDE Desktop environment that focuses on providing light desktop.
InstallationStem Desktop install is initiated after clean Debian install. You need to install Debian from CD, or in other means, first.
If you need help during installation of Debian, see install manual. There is only one screen to watch out, the Software selection. You should leave all check boxes unchecked like in picture below, because Stem Desktop netinstall.sh will be responsible for further package selection and configuration. The CD will write only the base packages to the hard disk.
See full size picture.
(1) Automatic installation script is available:
... After standard Debian install has been finished and ... network connection is open, following commands will start ... Stem Desktop install # wget -qN http://debian.cante.net/stem/netinstall.sh # sh netinstall.sh [--help](2) Experienced users can proceed manually without the install script. It is possible to "cherry pick" and install only individual packages that catch interest. By adding following line to /etc/apt/sources.list (likewise for 'deb-src') will enable Stem Desktop package repository:
deb http://debian.cante.net/debian unstable mainTo examine what *.deb packages project includes:
# apt-get update # apt-cache search ^stem- # apt-cache show <packagename>To start with as minimal system as possible, there is the "reduce fat" package. Naturally this package should not be installed to a already configured system, because its function is to remove packages.
# apt-get install stem-pkg-clean
The versions 0.x are beta software and present the implemented concept. No doubt they will contain bugs and need fine tuning to mature. Everything included in Stem Desktop (code, pictures, manuals) are free software; you can redistribute it and/or modify it under the terms of Gnu General Public licence v2 or any later version.