Ubuntu kiosk edition v1.0

Updated 05/24/2011: Click here for the newest kiosk build based on Ubuntu 10.04.1.

Updated 04/08/2010: I have posted the new version of a kiosk build based on Ubuntu 9.10 here.

Updated 03/16/2010: I am working on a kiosk build using 9.10. This should be posted soon.

One of my projects at my current employer was to use Ubuntu as a public kiosk after our Windows kiosks started prompting users for credit card information. After building the image up on a test machine, I used the excellent remastersys project to build an image to use for future maintenance. I am making this image available here.

This is a live CD that is currently built on Ubuntu 8.04.1 LTS and has most of the extra software removed, such as the games and unnecessary utilities, and is suitable for both wired and wireless kiosks. Please read on for notes and implementation.

Introduction

This kiosk implementation is very simple. This configuration of Ubuntu has a non-privileged user that automatically logs in on startup. This user's X session is limited to the metacity window manager and one instance of Firefox. The instance of Firefox uses the rkiosk extension for Firefox to limit the functionality of the browser.

The image has the latest Windows wireless network card drivers installed for the popular Linksys WMP54G wireless network card using ndiswrapper. I found this setup performs better with this network card, especially with a hidden or non-broadcasting ESSID.

The image also has ctrl-alt-delete disabled.

Wired network

This CD works with no configuration on wired networks. In fact, it can be used in a disk-less system using the live CD function, although depending on the amount of memory needed, it may not perform well.

Although I prefer the LTSP project for wired kiosks, especially more than a couple, this live CD is a great fit. It should simply boot up and "just work" for most hardware used for public kiosks.

Wireless network

I originally implemented this CD for the wireless kiosks on our campus and used LTSP for the wired kiosks. This CD works great for wireless implementations, although some slight manual configuration will be necessary.

Installation

Upon booting, you will be presented with a plain screen with options for booting to the live CD or for installation. The installation CD will timeout to booting to the live CD.

Once the live CD is booted, close the browser and let the X session restart. You will be presented with the normal Ubuntu login. Login using the credentials for the administrator's account referenced below. After logging in, you will see an icon on the desktop labeled "install." Click that icon, and enter the administrator's password again to begin the installation.

No more installation or configuration is required for wired machines.
Installation is exactly the same as the normal Ubuntu installation CD using the graphical install, except for the user setup. The initial user and password specified during installation will be ignored.

The admin account is:

User: itadmin
Pass: ubuntu1

This password will not work on the newer 9.10 version. See http://jacob.steelsmith.org/content/ubuntu-kiosk-based-910

It should go without saying that this password should be changed soon after installation. You can also change the password, then create your own iso. See "Using remastersys" below.

Post-installation

Changing the home page

Currently, the home page for the kiosk user is set to http://start.ubuntu.com/8.04/ . To change this, login as itadmin and edit /home/kiosk/.mozilla/firefox/6642hmfk.default/user.js and set URL specified in the third, fourth, and fifth line.

Optional configuration

There are three items both wired and wireless implementations may want to change. Changing /etc/default/rcS and /etc/X11/xorg.conf can be done automatically using the setup script in itadmin's home directory. Just login as itadmin and run the command sudo ./setup . This will replace the two files /etc/default/rcS and /etc/X11/xorg.conf so it should only be run once during initial setup.

/etc/default/rcS
Changing the line that reads:

UTC=yes

to:

UTC=no

will keep Ubuntu from updating your hardware clock to UTC time. This is handy if you want the kiosks to turn on automatically using a RTC interrupt in the bios.

root's crontab
Using the command sudo crontab -e you can specify an automatic shutdown time for the machine. If you remove the pound sign from the beginning of the line, it will shutdown at 6:00 PM on weekdays.

/etc/X11/xorg.conf
It might be desirable to shut off virtual terminal switching. To do this, add this to the end of /etc/X11/xorg.conf.

Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection

Wireless Configuration

There are a few files that need to be edited.

/etc/network/if-pre-up.d/wireless-tools
This file is handy for setting some default settings for handling wireless networks. Just remove the pound sign from the beginning of the line and fill in the missing information.

/etc/network/interfaces
This file is used to setup the network. Use this for specifying a static network configuration. The wireless essid can be specified here too:

wireless essid my-essid

Using remastersys

Remastersys is an very useful utility that is used to create a backup of an installed system. This is what I used to create the iso image, which is used to make the live CD of the kiosk system. If you have made quite a few changes to your kiosk system, or just want a backup, you can use remastersys to backup your system to a live CD.

To use remastersys, use the command sudo remastersys backup my-backup.iso . This will create the iso my-backup.iso in /home/remastersys/remastersys/ . After you copy and test the iso, you will want to run the command sudo remastersys clean .

The iso is 513.8 MB and the tar file is 507.7 MB. Attached is the torrent file and the md5 hash for the iso. I am distributing this via torrent for now but will probably attach it to this post shortly. Please seed this torrent after downloading.

Please contact me with any comments or issues. Thank you!

**UPDATE**
The latest version can be downloaded using this link:

2009-01-18-v1.0.tar.gz

Comments

Is flash installed on this image?

Thanks,

Drew

Yes it is. If not, it can be installed just like in Ubuntu.

I was trying to run the iso from M$ Virtual PC but without luck.
Then menu comes up but after that an error and the VPC reboot and thats all it does.
Any idea on this
thanks

I'm not really sure as I haven't tested this in Virtual PC. I do know that there are some issues with the graphics and Virtual PC, and Microsoft just GPL'd their drivers so Linux can run better in Virtual PC, but I'm probably way off base.

I'll try and test it when I get a chance, but to be honest, it will be a while. You might see if it runs in vmware and I know it runs in VirtualBox.

hi, i like your work, and we could use this in our office. I Just want to know on how can i install the OS to the Hard Disk, it seems you cannot install to your hard drive, i tried installing it using the boot up installation and the graphical installation and both of them failed.

Is there a way installing to the hard drive rather than running it thru live cd?

The graphical install is run by double clicking on the icon on the desktop.

Hi,

Thanks for the great work you've done.
I've tried to install it on a hd but it wont work.
What happens is that it boots instead on the live cd.
The graphical install that you talked about isnt there.
Do you know if it's possible to install it from the command line in tty1(as root)? If yes, what is the command?

Thanks in advance,

Al

The graphical install is run by double clicking on the icon on the desktop.

I am trying to edit the homepage for Firefox but get "Permission Denied" when trying cd into the .mozilla directory.

I figured it out by using the user and groups application.

Using sudo should work too.

Can someone give me a "dummies" version on setting the homepage? I've tried a couple of ways to make this work and can't get to edit the file.

Rob

Hello!

I have a couple of questions about Ubuntu kiosk edition.
Does it have support for Java and does it have multilanguage (keyboard layouts) support?

It does support java and I don't remember removing any packages for multi-language support so it should all be there. I'm not sure off hand on configuring it.

Hello

i've got an Authentification failure with login itadmin password: ubuntu1

Help

thanks

I just tried an install. itadmin password ubuntu1 does not work.

Anybody know what the password should be?

Rob

If you downloaded the version based on 9.10 here: http://jacob.steelsmith.org/content/ubuntu-kiosk-based-910 the password is different. It's changeme

I ran into the same problem - try password changme

I would say changeme (that worked for me in latest version 10.04.1.)

Servers often run for long periods without interference and accessibility should regularly be high, making hardware reliability and durability extremely important.
latin translations

First - thanks for all your work on this. Some Qs...

- Is there going to be an updated version for Ubuntu 10.10?

- Is this installable? Or just a live CD?

- Is it possible to force Firefox to use a proxy server?

- Is it possible to deny a user from changing their internet settings to avoid the proxy?

Thanks,
Rob

We are finishing up a build for 10.04.1 and will probably stick with LTS releases. You can upgrade the kiosk and use remastersys to build your own.

It is installable.

Yes, use user.js for the kiosk user.

Yes, write protect user.js. Actually, kioskfox which is used in the new 10.04.1 build disallows this activity, even through about:config.

remastersys is removing the custom.conf file for gdm so the auto login option is not working. any ideas how to fix?

The lock-kiosk script does this. The file is saved in the kiosk-saved directory in /home/itadmin/.

Your kiosk is awesome, thank you very much !

I needed to remove the toolbars as I use it for a unique page showing, here is the trick :

To remove the TABS BAR :

Edit
/home/kiosk/.mozilla/firefox/?PROFILENAME?.default/prefs.js
> add
user_pref("browser.tabs.autoHide", true);

To remove the NAV-BAR :

Edit
/home/kiosk/.mozilla/firefox/?PROFILENAME?.default/localstore.rdf
> add

Hope this will be usefull for some people :)