• Age: 27
    Location: Tamworth, United Kingdom
    Email: {my first name}[dot]{my last name}[at]zmsl[dot]com
    IRC nick: DanielC
    Jabber: danielc@jabber.org
    Launchpad page

Born in Venezuela, moved to Canada, moved to the USA, moved to the UK... I like to travel the world. I also spent a summer in Hong Kong on a Christian mission (teaching English). My background is in mathematics and astrophysics, including several years of graduate work. I speak English and Spanish fluently and I'm starting to learn German. I currently work for a UK-based computer company that sells to the schools market. My work mostly involves PHP and MySQL which I enjoy, but would like to move into system administration.

Free Software/Open Source involvement

I've participated in various FOSS projects like Ruby, Mono and OpenOffice.org. My best known contribution contribution was founding the OOoAuthors project which produces high-quality user guides for OpenOffice.org. But I've also contributed to the OOo distribution project, website project, community council, etc.

My current volunteer work is in the OpenDocument Fellowship. This is not actually about open source, but about open standards. It is a grass roots effort to promote the OpenDocument format.

Ubuntu packages

OpenDocument reader

I've written a text-based reader for OpenDocument text files, called odfread. Because it is text-based, it is quite fast and is accessible to screen readers. You can grab a .deb file from the project's home page (scroll down). I'm hoping to get this package accepted into Universe.

This package also provides the command-line tool odf2html which converts OpenDocument text files to HTML and prints them to stdout or to a file. You can use this tool to turn any HTML viewer into an OpenDocument viewer.

OpenOffice user guide

I've made packages for the OpenOffice.org user guides from OOoAuthors and I'd love to see them in Universe. These guides have gone through an extensive review process guided by top notch tech editors. There are four guides "published" already:

I've made a package for the first and uploaded it to Revu. I'm awaiting comments. Once it's accepted I'll upload packages for the other three.


I'm mostly interested in Edubuntu thin clients. I have an interest in education, and working for a company that works with schools I have the opportunity to setup Edubuntu thin clients in schools.

Network topology

This is the typical setup I have to do.

Schools here in the UK have an existing network infrastructure on Windows and can't just migrate entirely to Linux overnight. Edubuntu must work in the network topology shown here. It connects to another server (Windows or Linux+Samba) on one end and to the thin clients on the other.

Sadly, Edubuntu doesn't support this by default. Edubuntu's DHCP server will conflict with the other one as both try to use the IP range 192.168.0.*. The solution is to make Edubuntu give IPs in a different range (e.g. 192.168.17.*).

This is an important use case, since it will be the most common. Tips 01 and 02 below are for getting Edubuntu to work on this setup.


Troubleshooting tips

This is a list of possible problems you might hit with Edubuntu and tips for solving them.

License: All my tips are public domain. Do with as you please.

Problem 01: Server won't connect to the outside world

A common setup is to have an Edubuntu thin-client network inside a larger Windows network in the school. In this setup, internet connectivity can be tricker because the Windows network will have its own DHCP server and Edubuntu itself wants to serve DHCP addresses and the two might conflict.

Get more info

Boot from a LiveCD and see if you can connect to the outside world. If you can, suspect a misconfiguration in /etc/network/interfaces and/or DHCP (see below). If you can't suspect a hardware problem, or a problem "outside".

Try this

If you can connect using a LiveCD, we can suspect a configuration problem. For this example we'll assume that we connect to the outside workd through eth0 and to the thin clients through eth1 (if you have only one card, the that's the problem, you need two).

  • Make Edubuntu serve an different IP range from that of the outside network. I choose because that's not a common IP range in existing networks.

    • Edit /etc/network/interfaces to make sure eth0 and eth1 are on the correct IP ranges.

    • Edit /etc/ltsp/dhcpd.conf to serve the right IP range.

  • Give Edubuntu a static IP address on eth0 (edit /etc/network/interfaces. You may need to configure the outside server to make this possible.

  • Run ifup eth0 to bring up the eth0 interface. Smile :-)

Problem 02: DHCP server won't start

Get more info


Try this
  • Check that there aren't any small typos in /etc/ltsp/dhcpd.conf. In particular, check that you have the correct IP range everywhere. Especially if you used a non-standard IP range as in Tip#01.

Problem 03: Client stops booting when it tries to mount the root fs

Get more info


Try this
  • Test for hardware problems (e.g. it could be the client's RAM). Try using an entirely different computer as a client.
  • Check that NFS is configured correctly. /etc/exports I should say:

     /opt/ltsp   *(ro,no_root_squash,async)
  • Check that NFS is running.
     sudo /etc/init.d/portmap restart
     sudo /etc/init.d/nfs-common restart
     sudo /etc/init.d/nfs-kernel-server restart

Problem 04: Thin client is frozen

You can boot the thin client, but after logging in, you can't do anything, it's frozen.

Get more info



Try this
  • Can you move the mouse? Can you press Ctrl+Alt+F1 and get a text term? If you can't suspect hardware.
  • Check that the mouse actually works. Try a different mouse. It once happened to me that the left mouse button was faulty (so it *looked* like the screen was frozen because I could move the mouse around but not click).
  • Did the network cable become disconnected?
  • Use a LiveCD to test for hardware problems. Boot from a LiveCD and ping the server.

Problem 05: Client logs out soon after log-in

Get more info

Go to a text consol on the client and read: /var/log/ldm.log. You may need to create a root account on ltsp. To do so, run sudo chroot /opt/ltsp/i386 passwd.

On the server: $HOME/.xsession-errors.

Try this
  • Are you using sabayon? Check that the user has a sabayon profile. Otherwise you can't login.
  • Check that the ssh server is running.
  • Rebuild ssh keys (sudo ltsp-build-sshkeys).
  • Move $HOME/.Xauthority to another directory.

Problem 06: Sound won't work on the clients

Sound is tricky. The first thing to do is to create the file /opt/ltsp/i386/etc/lts.conf and add the following:

  • [Default]
    SOUND = True

Then reboot the thin clients. Then try to make sound work one application at a time. It is perfectly possible for sound to work on some applications but not others.

Nothing works
  • Test hat the sound hardware works. Boot the client from a LiveCD and run the test sound in gstreamer-properties.

  • Does sound work for the first user that logs in but not the others? This is a known bug. The only fix is to reboot the thin client for the next user.

Flash on Firefox

Try this:

  • # Flash expects /tmp/.esd/socket to exist.
    sudo mkdir -p /tmp/.esd/
    sudo touch /tmp/.esd/socket
    # Flash also looks for /usr/lib/libesd.so.1
    sudo ln -s /usr/lib/libesd.so.0 /usr/lib/libesd.so.1

Start Firefox and try again. If that works, then edit /usr/bin/firefox and add this near the top:

  • # Make sound on Flash work
    if [ ! -e /tmp/.esd/socket ]; then
            /bin/mkdir -p /tmp/.esd
            /bin/touch /tmp/.esd/socket

Totem movie player

You have a better chance of making totem work if you use totem-gstreamer. This is the default, but if you replaced it by totem-xine and it doesn't work, try going back to totem-gstreamer.

Run gstreamer-properties and get the test sound to work first. You're not likely to get totem to work if the test sound doesn't work.

Problem 07: Thin clients have the wrong resolution

In /opt/ltsp/i386/etc/lts.conf try changing the colour depth:

  • X_COLOR_DEPTH   = 8

If it's just a few clients that have the wrong resolution, use the MAC address to specify a per-client configuration.

  • # MAC address - from ifconfig on the client
    X_COLOR_DEPTH   = 8

Problem 08: Help! System is wrecked. Must rescue

Maybe you forgot your password, maybe the kernel is broken, or maybe the disk is dying. In any case, here are two ways to rescue your system.

Using GDM
  1. When Grub comes up, press ESC to get the grub menu.
  2. Hit "e" to go to edit mode.
  3. Choose the kernel.
  4. Hit "e" again.
  5. Add the word "single" at the end.
  6. Press Enter.
  7. Hit "b" to boot.

Now you are root. You may need to mount -o remount,rw

Using a LiveCD

Boot up from a LiveCD, open a terminal and do this:

  • mkdir edubuntu
    mount /dev/hda1 edubuntu # Or wherever your root partition is.
    mount -t proc -o bind /proc edubuntu/proc
    cp /etc/resolv.conf edubuntu/etc/
    chroot edubuntu /bin/bash

Now you are root on the server.

DanielCarrera (last edited 2008-08-06 16:22:19 by localhost)