Ubuntu kiosk based on 10.04.1

**The latest update broke the kioskfox plugin** See here for instructions on fixing it.

The links for the new build based on Ubuntu 10.04.1 are below, along with the zip file containing the scripts. Contributions are welcome and please contact me or comment below with questions and complaints. This is live CD that can be installed to disk that is tailored for use as a public internet kiosk. There are 19 scripts included that perform various actions.

This started several years ago after a need arose for secure and stable web kiosks around our college campus. Once setup and locked, the kiosk will boot straight to a full screen Firefox that has a logout button thanks to kioskfox. It boots very fast and is very stable. Thanks to Alex Zimmerman and Everett Community College for facilitating the time needed for production and testing of this project.

Features and changes --------

* One click setup with prompts instead of running multiple scripts.

* Better networking out of the box.

* WPA setup and support via setup script wpa_supplicant.

* Dansguardian setup script for blocking websites.

Setup ------

Boot to the CD (or USB).

Select the defaults for everything. At the login screen, choose itadmin and use the password changeme.

To install the ubuntu kiosk: Double click the install release icon on the desktop and follow the instructions. The user and password do not matter but should be filled in. Use the itadmin:changeme combo after install.


Run the setup-kiosk script. The individual scripts are in the scripts folder. Be aware that, once locked, the kiosk will only be available via SSH or by booting the machine to a kiosk CD and running unlock-host.


ubuntu-kiosk-10.04.1-b4-v6.md5 scripts.tar.gz

**head on over to the forum to report a bug or request a feature**



Jacob, thanks for this great tool. I must be missing something, but I cannot seem to re-lock my Kiosk. It get's into a mode where the kiosk user auto log's in, but then firefox doesn't start.

I have a need to use a Greasemonkey script, as a web page I plac to use with this kiosk open some pages in new tabs. I want to present the user with a nice "close" button right inside the page. I have tested my script on a seperate machine, and it works just fine. But, the kiosk machine, even when unlocked and logged in at itadmin will not let me even install a greasemonkey script. The greasemonkey extension seems to install just fine though. When I try to add a script, I can click on the OK button, but it just sits there and nothing happens. I have to hit cancel or the close button to close the dialog box. Also tried adding them manually by editing config files, but something seems to be blocking the config files from being read. Going to try it on a fresh install to see what happens.

How can I change the Kiosk user to use a proxy? I changed it to use the proxy server in Firefox for the admin users and re-prep the kiosk user and it does not work.

This goes for any browser setting for the kiosk user. Use the command:

$ sudo gedit /home/kiosk/.mozilla/firefox/obw0c5n2.default/user.js

(You can substitute nano -w for gedit if working via console)

Carefully edit this file, adding the corresponding values found in about:config. For this case, you want to add (or edit):

user_pref("network.proxy.http", "IP_ADDRESS_OF_PROXY_SERVER");

Put the actual IP address of the proxy server in place of IP_ADDRESS_OF_PROXY_SERVER.

How can I change resolution (to 1024x768) to login screen and user? For itadmin I changed, but I don't know how make it for normal user.

See http://www.linux.com/news/software/applications/8201-editing-basics-for-... under "Setting resolution and color depth"

There's a sample here:


But it's hardware dependent and could very well break the kiosk, requiring a reinstall. You could try generating the xorg.conf using:

$ sudo Xorg -configure

I'm not sure if that command works though.

Thank you for reply.
I found another solution: http://chrisjakeway.wordpress.com/2010/05/19/ubuntu-10-04-default-login-...

This solution works too: http://www.ubuntugeek.com/how-change-display-resolution-settings-using-x...

But in line
$ cvt 1024 768
I wrote:
$ cvt 1024 768 85
"85" this is refresh in MHz

hi everyone,
- even if I run a crontab that reboots the PC every hour (!!), it STILL manages to power-down every night.
- what is doing this?
- Yes, I have disabled ALL power stuff and such.
- what proces should I look for?
- as the Kiosk is now, it's not useable - it powers off when it's most needed.

All help is greatly appreciated!

In the scripts directory in /home/itadmin/ (or using the shortcut on the desktop) there is a script called toggle-auto-shutdown. Double click it and run it in the console (or use ./scripts/toggle-auto-shutdown from the command line). This should solve your problem.

This is looking like a great solution to exactly the problem that has been bothering me lately - I've one kiosk machine set-up and will set up others. Thanks!

It seems that the kiosk mode mutes the volume for some reason - no log-in sound, and no sound on video, audio or flash files on the web (all these things work when I log in as itadmin.

Any idea why that might be, or how to fix it? Not so much use as a kiosk for me if I can't get sound working ...

Many thanks for any suggested solutions ...

I got this working by copying the .pulse/ directory and all contents to the kiosk user.

Love the Kiosk setup, thank you. We are looking to deploy several of these around our school district using older systems that we can re-purpose for some simple browser based tasks. We are trying to pull an image from our first setup using FOG but it keeps saying the partition is incompatible. If we run the debug from the PXE screen the system checks out fine.

Are we missing something or is there something about the setup that prevents imaging. We tried disabling the kiosk and Dansguard thinking it might have locked some files but that did not help. Ideas?

I don't know whats wrong but if I run 2 or more PC's running Ubuntu kiosk on the same router, only 1 kiosk is able to browse the internet, I've tried 3 different routers (netgear, linksys, level one) and have gotten the same result.

Did you create images with all static and the same IP address?

Same problem for me and I don't have static ip DHCP.

Hello please can you help me somebody ?i need window without ALL BARS (NAV-BAR ,Search bar,Go forward,Go back,etc), Best of only with LOGOUT ? Its posible ? Thanks for answer

help please :)

If you open firefox in safe mode: in terminal type
sudo gedit/home/kiosk/.xsession and hash change so FF starts in safe mode
then tick all boxes and then go to add ons and remove the existing ones. Then just install something like kiosk or alter contents of about:config (if you google it you'll see how) then go back and change hash in .xsession so starts in normal mode and voila


I'm having problems with getting the wifi on my machine to work - initially when running the script provided for wifi setup it said siocsifflags operation not permitted, did some searching around and found that this was a problem with my specific hardware which bizarrely enough needed a blank folder creating to work using:
as root (or sudo before each line):
mkdir -p /etc/Wireless/RT2860STA/
touch /etc/Wireless/RT2860STA/RT2860STA.dat
service network-manager restart
This seems to activate the wireless hardware as the script runs fine now but I still can't connect via wifi to my router

Any ideas? Getting desperate!!

btw thanks for a fantastic solution - just what we needed - only problem is we keep having our mobile broadband USB's stolen - hence the need for wifi!!

Is it possible to let the user open textfiles in some application?

How can I upload files with firefox?
Is there a way to upload files from the Desktop?
Thanks for all.

Great solution, thanks!
However the old Firefox will not support some of the queries for our website. Is there any way I can update the release? If I install the new one through apt-get would it corrupt the kiosk setup?
Thanks in advance.

And see if it works..then re-install the old kiosk if it doesn't.

I just wondering what would be the best scenario.

How can I make this a smaller install?

Hi everyone,

First: thanks a lot for your great job.
Second: sorry for my poor english...

I want to use the kiosk for one internal web address and two public web adresses.

Our Parent company use a proxy ( no transparent ).

The kiosk works great with the local web adresses.

I set the Parent company proxy for the two public adresses with the /home/kiosk/.mozilla/firefox/obw0c5n2.default/user.js file, perfect.

Now i want to ban the rest of the web with the setup-dansguardian script and i'm stuck.

I don't know how to deal with the tinyproxy and my Parent company proxy.

Maybe it's just impossible ?

All help will be greatly appreciated!

is it possible enable printing of pages and the ability to save files on usb?

Many thanks for developing this. I was wondering if there's currently a solution for automatically resetting the kiosk after a short time of idle activity (with warning so the idle user can intervene if need be)? The kiosk I have in mind is in a reception area where we wouldn't want whatever the last person was browsing to be left for all to see. Thank you again :-)

For this, we run a script at boot:


my $blanked = 0;
open (IN, "xscreensaver-command -watch |");
while () {
if (m/^(BLANK|LOCK)/) {
if (!$blanked) {
$blanked = 1;
} elsif (m/^UNBLANK/ && $blanked == 1) {
system "killall firefox-bin";
$blanked = 0;

This causes all firefox binaries to quit on unblanking of the screensaver, resulting in clearing the session once the screensaver is turned off. Add it as a service to run in the background.

I'd like to enable a screen saver slideshow, but I'm not sure how to go about doing it. gnome-screensaver requires gnome-session to actually be going for the idle timer, so it won't work, and I'm not exactly sure how to get a screensaver going without a session manager working. Anyone know how to do that?

You can install that package and right before firefox& in /home/kiosk/.xsession add xscreensaver -nosplash. You will have to comment firefox& and login as the kiosk user to configure it.

How could i find /home/kiosk/.xsession file in ubuntu 10.04 . In this installation i couldn find such file, maybe it is in older vresions in this plase.

This proved to be an excellent basis for our attempt at building linux kiosks. We did note some issues, from the top of my head:

  • Alt-SysRq commands are not disabled. This will allow a user access to the system.
  • Grub access (holding down shift during boot) allows for root access to system and needs to be locked down
  • Print screen dialog allows filesystem access.

To disable Alt-SysRq commands:


# Disables the magic SysRq key
kernel.sysrq = 0

to /etc/sysctl.conf

To disable SHIFT access to grub, edit /etc/grub.d/30_os-prober replace the adjust_timeout() function with:

adjust_timeout () {
return 0

Edit /etc/default/grub and add:


Run update-grub

For other gnome settings, including the screenshot window, I edited gnome settings and disabled run_command_terminal, run_command_9, run_command_screenshot, and run_command_window_screenshot under metacity's global keybindings.