I’m bringing edgy back
Wow, we did it. Today is the official release date of the tuXlab GNU/Linux distribution. It’s probably the first distribution that can be considered an Edubuntu derivative. It also benefits from other Ubuntu derivatives, Kubuntu and Xubuntu.
So why a tuXlab distribution? Well, as part of the tuXlab project we have always maintained a set of customisations on top of Ubuntu. Often, these customisations have been hacky and hastily put together to satisfy the needs of an end user. Now that tuXlab is managed by a commercial entity, it is possible for us to release whatever we code we have and get it out there, and get it improved. The tuXlab GNU/Linux distribution will contain as much functionality and ease of use that we can possible give our users. Our policy is to contribute back to upstream Edubuntu (and the other Ubuntu derivatives) as much as possible. This will be largely dependent on the quality and relevance of the new software we create, since any software that goes into Edubuntu needs to go into the main category.
So currently, what’s different from tuXlab to Edubuntu? Here’s a quick list of things I can think of right now…
1. LiveDVD chooser
When I told people that we will be installing using the Ubuntu live CD infrastructure, there was lots of grumbles because Ubiquity (the live CD installer) and a full desktop environment takes up quite a bit of memory. I immediately thought that we could put in some kind of simple GUI that would allow a user to skip the desktop interface, and run Ubiquity directly. This now makes it possible to install using the graphical installer on a system that has 128MB of RAM.
2. Xfce Desktop
The Gnome desktop proved to be very user friendly in our labs. In two schools that had an additional Windows lab, the kids preferred the Gnome desktop to the Windows one. Some teachers felt that Nautilus should be more like Windows Explorer, but otherwise Gnome is widely loved. The problem though, is that in many of our schools, the schools received further donations of equipment, and used it to expand their tuXlab network. In many cases, the load on the server was too heavy, and once an LTSP server starts to swap, you get into big trouble. We had to find ways of getting our memory usage down, and I’ve been using Xfce on my laptop with Debian before, but it has never really looked integrated and user friendly enough to implement in schools.
Then two important things happened. The coming of age of Xfce 4, and the Xubuntu project. Xubuntu started a community project to support Xfce in Ubuntu. I installed the xubuntu-desktop as soon as it was available and was very impressed with the results. The new Thunar file manager was just as simple to use as Nautilus, and I will even dare to say it works better. More importantly, memory and cpu time requirements fell drastically, and in the ~20 labs that we have tested it, there was a major improvement in speed, and users were happy. It was an easy decision to settle on the Xfce desktop for the tuXlab system. We were also largely influenced by Andy Rabagliati of wizzy.org.za, who have also used Xfce for a long time in his labs here in South Africa. We have also use custom menus, for which we will implement translation support in the next release.
3. tuXlab Home
The large majority of local content here in South Africa is web based, so tuXlab Home is a simple bash script that is run in postinst after new content is installed, where an icon of the installed software is added to the tuXlab Firefox home page. It’s very crude, and simple, but we have lots of plans for it. It already works great even in its current, simple form.
Xola is the tuXlab On-Line Assistant. It’s a python script that you interact with via a web interface. It’s a troubleshooting tool that asks a user questions about their problem and suggests possible fixes. It also features a diagnostics page, showing which services are running and which services aren’t, which means that our help desk doesn’t have to explain to our users how to type “ps aux | grep dhcp3-server” in a terminal anymore. It’s also still quite crude, but it’s helpful and we will continue to improve on it.
J-Zee is the universal wrapper. We found ourselves wanting to add all different kinds of wrappers to all kinds of scripts and programs, and decided that it was silly. Instead, it was decided that we get all the functionality of all our wrappers into one script. At the moment it does very little, it logs which programs are used by a user for statistical usage. It also kills some programs at startup. For example, in some of our schools teachers have reported that the younger kids open up multiple copies of Ktuberling, GCompris, Tuxpaint, etc, hogging up memory and eventually causing the whole network to be slow. J-Zee has a list of programs that you would ideally run only one copy of (like gcompris), so if you run gcompris, and then Ktuberling, your gcompris session will be killed. And if you are running Gcompris and open another copy, your old one will be killed. J-Zee will do and log much more in the future. We are interested in statistics of which software people of different ages, sex and culture are interested in.
6. SOS Childrens Villages Wikipedia Distribution
We use the SOS Childrens Villages Wikipedia distribution in our labs. It comes in at just above 200MB, and contains many important and crucial articles with pictures. Previously, we used to include the entire Wikipedia snapshot in our labs (two years ago it was 12GB, and it has doubled every six months since then). The problem with the full Wikipedia was not so much with its size, but the content. We received some /really/ ugly faxes from schools where children have discovered pages such as Vagina, and pages linking from that (such as BDSM). Of course, there’s nothing wrong with these subjects, it’s just that Wikipedia can sometimes get quite graphic, which is totally inappropriate for young kids. Something that this
smaller distribution has fixed for us.
We’ve included all the available local language packs. Ubuntu currently includes translations for 8 of the 11 South African languages (including Afrikaans, Xhosa and Zulu), not too bad at all. We’ve also customised the Ubiquity installer to ask less questions. The South African version only asks two questions, and that is how you’d like to partition your disk, and to confirm your action.
It doesn’t get much easier than that! :)
Besides the above listed features, it contains everything you’d expect from a modern educational distro, the KDE edutainment suite, Pysycache, Gcompris, Tux4kids, Firefox, Evolution, OpenOffice.org, and more.
We’ve released the internal version that will be sent to all our schools. It contains some proprietary bits that are sponsored to all tuXlab schools by various content providers. The content will be removed and a public version will be uploaded over the coming weekend.
This is really our ‘edgy’- release early release often version. We plan to do some real big innovating stuff for our Feisty release, some functionality is already half-way implemented. We will also have more that we can submit back upstream to Edubuntu, although I’m already quite excited by this release :-)