Ubuntu kiosk based on 10.04.1


Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home/steelsmi/public_html/includes/common.inc).

**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**



Great job, this kiosk is awesome! This release greatly increased the ease of use setting up all things! I'm on a packardbell easynote laptop and just discovered that the italian layout doesn't work properly on the kiosk: I'm not able to type the @ symbol (the italian layout requires to use a key combination including right "alt", "Alt Gr"). This issue raises only using the kiosk, Logging in itadmin the keyboard works properly

There are two lines at the top of /home/kiosk/.xsession that disable the alt and ctrl keys. You can comment one or both of these out to get the keys working.

In my install, the ctrl keys weren't actually disabled. To disable them, I had to edit the file discussed above, and add these two lines:
xmodmap -e "remove control = Control_R"
xmodmap -e "remove control = Control_L"

Thanks for your tremendous work !
This solution is really great, functional and very easy to setup !

I do have some little questions related :

Is it possible to add extensions to the Firefox browser ?
(Ad-Block and some others)

Any way to be able to update to the latest Firefox version easily (v4 is out) ?

I do have the sound working fine on the admin account but is mute when I do log with the kiosk !
Any idea how to fix that ?



$ sudo adduser kiosk audio

Let me know if this works.

You can edit the /home/kiosk/.xsession file and comment out the line that calls firefox and add

firefox --safe-mode

This should allow the installation of extensions. Let me know if this works.

AWESOME work! I've tried so many different ways of setting up a kiosk and this is the simplest and most robust yet. Thank you so much.

Now, same question as MoBo, how can I add a Firefox extension. I'm looking to add in different dictionaries, and Ad Block Plus too.

Again, thanks a million for your work!

You can edit the /home/kiosk/.xsession file and comment out the line that calls firefox and add

firefox --safe-mode

This should allow the installation of extensions. Let me know if this works.

Is there any way to give the kiosk user bookmarks he can't edit?

You might be able to do this by changing the owner of /home/kiosk/.mozilla/profile_id/places.sqlite to root like so:

$ sudo chown root:root /home/kiosk/.mozilla/profile_id/place.sqlite && sudo chmod o-w /home/kiosk/.mozilla/profile_id/place.sqlite

but this could break the kiosk. Let me know if this works.

Forgive my noob-ness, but is there a way to truly go full screen with the browser? I just want my page in view and nothing else...no nav, tabs, address bar, etc. If so, then you will have created the perfect solution for my needs. For that, I will be eternally grateful. Even if not, this really is a great distribution that you have made.

Many Thanks!

F11 does this in Firefox (I think). Not sure if there is something in about:config to toggle this.

I too am a newb searching for an answer to this - f11 works fine in ITadmin but of course is disabled in kiosk. You can also edit the autohide settings in ITadmin about:config but this also doesn't translate into full screen for kiosk user. Tried resetting firefox in safe mode removing all add ons then installing rkiosk to solve but can't get this to work either - getting desperate!! Can anybody help?

I too am looking for a way to hide the browser bar so that the website takes up the entire screen. Has anyone found a way to do this, yet?

I conquered true full screen mode. Go through the total install. At the conclusion of your install, reboot, SSH to the device, and run this command:

sudo /nano/home/kiosk/.xsession

Put firefox into safe mode by commenting out /usr/bin/firefox and then uncommenting /usr/bin/firefox --safe-mode.

Save the changes. Reboot. Now, firefox will launch in safemode. While in safe mode, install, the extension Full Fullscreen 3.4.

The address for the extension is here:

Make sure that the extension is enabled and reboot. SSH and edit .xsession again to change the file back to its original configuration. Reboot again. Now Firefox will launch in absolute full screen mode.

I disabled kioskfox while in safe mode. I think that's what forces the menu bar to begin with.

Came up against a problem when installing dansguardian, firehol automatically blocks the ssh server port and i couldn't access the box by ssh anymore. I loaded up the live cd again and edited the /etc/firehol/firehol.conf file and added:

server_ssh_ports="tcp/22022 tcp/22"

server ssh accept

interface eth0 lan0
server ssh accept

i also added my local network range to /etc/dansguardian/lists/exceptioniplist ( im not sure if this was necessary) but can access the box again now.

Maybe the firewall rules need added to the dans guardian setup script


update to last post: firehol.conf is now:

server_ssh_ports="tcp/22022 tcp/22"

interface any world
protection strong
policy drop
client all accept
server cups accept
server ssh accept
client ssh accept

and i removed the line from dansgardian file as it allowed acces to any sites.

all working now :)

Hi Tone,

The kiosk works fine with your config and solve my ssh connection problem.

Bye the way, you could remove the "tcp/22" from the "server_ssh_ports" line. The port of the ssh was set to 22022 for security purpose.



Oh,yeah that's a good point, i've removed that now too, thanks :)

This is a really impressive setup; the only thing that keeps it from being perfect for us is the lack of a bookmarks toolbar. I've poked around in localstore.rdf to no avail and tried resetting the toolbars via safe-mode, neither of which seemed to help. Could you offer any suggestions?
Thanks for a great project.

I'd like to show the "home" icon and remove the search bar. How would I do this?

- just installed the latest kiosk - and I'm thrilled. Excellent!
- Before locking the kiosk using the script, I setup Ubuntu to use danish in all aspects. Just as usual. But...

...when the kiosk runs, FF comes up in english - and worse the keyboard doesn't let me type the '@' character...

How can I remedy this situation?

Thank You for all help - and thanks A LOT for a most excellent appliance!

Best regards,
Verner K

Well enough said
As the user 'itadmin' set language and keyboard, all is good.
Now log in (or lock and so) as 'kiosk' and all is gone. Back to US keyboard - unuseable in other countries.

How can this be fixed?


I try to use the Kiosk with German language. I have the same problem with the "@". Is there a solution for this problem? Everything else work fine..

is there a solution for the @-Problem?
Changing the keyboard layout doesn't work.

I have installed Danish as default keyboard and language.
After kiosk setup, things are still in English, and kiosk user start up in English and with English keyboard.

I have activated CTRL and ALT keys, like shown in a later comment in this post, and activated right keyboard for kiosk user:

  • Goto terminal
  • sudo gedit /home/kiosk/.xsession
  • uncomment the two lines like this:
    #xmodmap -e "remove control = Control_R"
    #xmodmap -e "remove control = Control_L"
  • In System - Keyboard layout i moved Danish to the top.
  • After restart, while timer waits to logon kiosk user, move mouse to bottom of monitor and select language and keyboard for kiosk user.
    After this the @ is active for my kiosk user.
  • Hi,

    I want to disable the screensaver that blacks out the screen after a few minutes of inactivity.

    - I've uninstall gnome-screensaver and connot find any other - but still a screensaver is active. How do I disable it completely?

    Best regards,
    Verner K.

    Ok this one is a bit easy to fix. From what I have tested so far login with the itadmin account and go under the System->Pref->Screensaver options. Then click Power management use the drop down under display and select never. Then select make default to save.

    This seemed to work for me.

    I wish I could get the screen saver to actually work in kiosk mode this is still my issue. I can't seem to find a way to activate the screensaver service.


    I discovered that 'gnome-screensaver' IS installed. In an effort to kill the screensaver, I uninstalled it with 'apt-get remove gnome-screensaver' and so. Perhaps you could follow the opposite strategy and try to use it instead?

    I suppose there must be a .gnome-screensaver directory (or something like that) that could be copied to the /home/kiosk user or so??

    Or..perhaps one could install xscreensaver (which is not present per default) and use that one?

    Best regards,

    Well...thanks for the advice.
    But it doesn't work...the screen still blanks out after a short period (5 minutes or so).
    Yes, I did a restart..
    Then I entirely removed gnome-power-managent using apt-get.
    No luck.
    Then I removed the %gconf.xml.default file entirely from /etc/gconf/ and so.
    No luck.

    Eh...where on earth can it be burried? I simply want the screen to be ON always...

    Best regards, - and thank you!

    Hello All,

    Has anyone been able to solve the screen blanking issue?
    I have altered the power management settings, made them default, but the Kiosk login still blanks the screen...

    Any help would be greatly appreciated...

    We have solved the screen blanking issue by creating the rule below - and have disabled both screen saver and power management suspend in the graphical menus as well.

    1. Run from terminal:
    sudo gedit /usr/lib/X11/xorg.conf.d/12-noblankrule.conf

    2. Add the following text in the empty document:

    Section "ServerFlags"
    Option "blank time" "0"
    Option "standby time" "0"
    Option "suspend time" "0"
    Option "off time" "0"
    Option "dpms" "false"

    3. Save and reboot - issue should be fixed

    PS. It has been some time since we set this up and it was done at the old Ubuntu 9.10 image, updated to Ubuntu 10.04. I think it should be the same but let me know if this doesn't solve the issue and I will take a look at it again.


    Hi all,

    I followed Kevins advice - which did NOT work the first time. I then added the Section lines to /etc/X11/xorg.conf - and this time it WORKED!

    I should add that my system is the latest 10.04.

    very difficult solution here..
    Everything what you need is LOGIN TO ITADMIN go to /Home/Kiosk and open .xsession there write "xset s 21600" (without "")

    Hi, at first, wonderful job and excuse my English!!
    I want the user kiosk can download and see .pdf files, and now, Mozilla Firefox can't do this.
    When the user want to see or download a .pdf file, Firefox does nothig. How I can configure Firefox to do this?
    Is not necessary that .pdf file is saved in the local computer, it is enough that the user can see it.


    In /home/kiosk/scripts/ there is a script called install-acrobat. This will install Adobe Acrobat and allow the reading, and saving, of PDF files.

    You may need to disable devilspie by commenting the line in /home/kiosk/.xsession.

    kioskfox disables the downloading of any files that are presented for download. Some web servers may be forcing the download of PDF documents instead of opening it within the browser window, and when that happens, it appears that kioskfox blocks the download.

    Looking for a workaround now for this myself--either to override the behavior of forcing the download or modifying kioskfox to allow PDFs.

    I have the same problem. I've installed Acrobat Reader. When I try to download a PDF from a web aplication, the Opening window (where you can say what should do with the file) don't open and I think that the Rkiosk addon it's closing it automatically.

    How can I enable this feature.

    I have disabled devilspie too.

    Good staff. One question:

    Any possible to allow kiosk user to download email attachment and save it into a USB pen drive?

    When attempting to install to hard drive, double click Install RELEASE, first window of 7 starts up, then disappears....am i missing a step here?


    Instructions for installing and configuring Ubuntu Linux 11.04 for the guest PC.
    1. Go to the site and download the distro http://www.ubuntu.com/download/ubuntu/download ISO (Ubuntu
    11.4 32 bit), as well as become familiar with the instructions how to make a bootable usb drive.
    2. We make a bootable usb drive, insert it into the PC, which will be installed, and
    choose the BIOS to boot from this usb disk.
    3. If your PC is connected to a LAN or wireless network, you better make sure he has access to the
    Internet - the illustration shows how to display the network address of the PC, to provide for his ip
    full Internet access to install the necessary packages.
    Select the desired language (English), and click Install Ubuntu.
    In the next window put a tick 2:
    Push Forward
    Remove all data from disk (if previously installed Windows, will be a couple of options). Press
    Fill in the form as shown above, set the administrator password, encryption folder, not
    chosen, click Forward.
    Then wait until the installation is complete.
    After rebooting the box to choose a login interface Ubuntu Classic and go in the system:
    In the upper left-hand menu, select System-Administration-Update Manager. In the new window, click
    Settings. We put the option "Install Security Updates without confirmation". Click Close. Click Install
    Updates (install all updates). Reboot the PC after installation.
    Now you need to remove unnecessary packages. Choose System-Administration-Synaptic Package Manager
    In the Quick Search Box is typed the following name (after each set will be the name of the package, it should be
    Left-click and choose Mark for Removal, then enter the name of the next packet)
    evolution (also offered to remove evolution-exchange)
    It is not necessary to remove the package evolution-data-server-common (and all interconnected with the packages to be
    proposed for removal), unnecessarily if you remove this package work environment Gnome (in the words of
    windows - desktop or explorer) can not boot - would be a blank screen with the screen saver.
    But if it really happened, or by any other means of experiments with the removal of
    packages - all easily corrected for this reboot the PC to the login screen, select the session type Recovery
    Console, enter the password, and then in the terminal window using the NT sudo apt-get install ubuntu-desktop
    , Press Enter, then Y, waiting for installation packages. Then exit the Recovery Console, and go in the session
    Ubuntu Classic - with all the packages will be installed again, Gnome desktop environment will be returned to
    default values.
    transmission-common (also propose to remove transmission-gtk)
    Click Apply twice. Packs away.
    Install additional archivers: Type in Synaptic Package Manager in the search bar rar, press
    the left mouse button and select Mark for Installation, also recruit p7zip, and select Mark for Installation.
    Set the Firewall - this'll type in the search bar firestarter (as will be proposed to install
    kopmonent menu, agree). While most firewall option is optional, because Network Services Web
    shop by default does not provide, but this measure is not redundant.
    Click Apply 2 times. After installation is complete press packet Close, and close the Synaptic Package
    Create a desktop shortcut to the slave terminal - right-click - Create Launcher - Type - "Application", Name
    - "Term", the team - "gnome-terminal". Mood Firestarter: open a shortcut, and in the terminal window
    'll type "sudo firestarter". In the resulting window, click Forward, in the next window, select an interface
    you want to protect, put a check "ip address is assigned via dhcp", press Forward, again
    Forward and Save. Click OK at the prompt, the information from the system will log
    available. Choose Edit-Preferences, remove the check mark "Enable Tray Icon", in the tree on the left choose options
    Policy, and put a check "Apply Policy changes immediately", click Accept. Then again, click Edit-
    Preferences in the left tree, select the ICMP Filtering, put a checkmark "Enable ICMP filtering". Press
    Accept. Basic Firewall setting is finished, close the terminal window and Firestarter.
    Set up the print to the printer reception: Choose System-Administration-Printing. Choose Add, Network
    Printer-AppSocket/HP Jetdirect, a Host window, enter the external ip published printer, press Forward,
    on select models, and the recommended driver. Cancelling a test page. Installed printer
    will be available to users who are logged at the PC.
    Create a guest user: System-Administration-Users And Groups. Click Add. Name: Guest. Password
    set at this stage, 123456. Click OK. Click Advanced Settings of the user. Tab
    User Privileges remove all ticks. Exit the session service, and we go with user Guest, selecting the type of
    Session Ubuntu Classic. Cancel the automatic shutdown of Monitor: System-Preferences-Screensaver-Power
    Management, are putting the option Display: Never. A window in Screensaver Preferences select the Pictures folder in
    As Screensaver Theme. Remove the checkmark from the option "Lock screen when screensaver is active". Close the window.
    Guest logout and go under the service.
    Now insert the usb disk, or another way to copy the folder with the files kiosks, screensavers, and desktop.
    In our example, this will be pictures in a folder on your desktop kiosks user service:
    drawings for the screen saver:
    On-line booking_eng.jpg
    On-line booking_ru.jpg
    screen saver desktop:
    Copy the files in the profile saver Guest user folder Pictures: for this service at a session
    open terminal shortcut on your desktop that you created earlier and enter the command (remember that typing a few
    letters in the name of the folder, you can press tab and the system fills the end of the file or folder name):
    1. Copy all jpg
    sudo cp / home / service / Desktop / kiosks / *. jpg / home / guest / Pictures /
    2. Delete the file saver desktop - it is not needed there.
    sudo rm / home / guest / Pictures / KP_October_.jpg
    Now copy our screensaver desktop KP_October.jpg directory with wallpapers office. Wallpaper Ubuntu:
    sudo cp / home / service / Desktop / kiosks / KP_October_.jpg / usr / share / backgrounds /
    Close the terminal window.
    Exit the session and go into service as a Guest.
    Right click on the desktop, choose Change Desktop Background, click Add. In
    window that appears, select the folder, click on backgrounds, choose the file KP_October.jpg, and click Open,
    then close the window Appearance Preferences.
    Now remove the unwanted guests Workspaces (4 screen jobs at the bottom right). To do this, right-click on
    these icons, select Preferences, and set 1 in both cells.
    Add autostart Mozilla Firefox browser at the entrance to the guest:
    System-Preferences-Startup Applications, click Add, and in the dialog box, enter:
    Name: Firefox Web Browser, Command: firefox% u, Comment: Browse the World Wide Web, and click Add.
    Close the window Startup Applications Preferences.
    Open a terminal: Applications-Accessories-Terminal. We contract it and do not close!.
    Now configure the keyboard layout: System-Preferences-Keyboard. Tab Layouts - Add, select Russian
    Federation - Add. Click Options - Keys to change Layout, remove the already selected option Shift + Caps Lock, and
    set, for example, Left Ctrl + Left Shift. Click Close, and again Close.
    Turning off the "hot keys" on the keyboard:
    Open System-Preferences-Keyboard Shortcuts - each line select with the mouse and press Backspace,
    message Disabled. Once all the items are disabled, click Close.
    Remove the top left menu mouses over the menu "Applications Places System", right - remove
    from panel.
    Mouses over the letters of the keyboard layout, right click, remove the check mark "lock to panel",
    then again, right - remove from panel. There remains a small column on the right in the right corner - it is also -
    remove lock to panel and remove from panel.
    Now click on the middle top of the Add to Panel - in the window that appears, select "Disk Mounter",
    click Add (in this case the panel did not appear, all right - because the disk is inserted).
    Adding also to the panel and Log Out, click Close. Right click on the button that appears Log
    Out, select Move, and move it to the far right corner. Then right click on the icon Log
    Out, is already in the top right corner - Lock to Panel.
    Also unlock icon Mozilla Firefox, move it to the middle, and lock the icon.
    Lock the desktop and right click on the panel:
    restore a minimized window terminal and type gconf-editor
    the pop-up window will reveal a branch apps-panel-global, and put a tick Locked Down. - Panel
    blocked. Now reveal the apps-nautilus-preferences, and uncheck the option show_desktop.
    Lock the screen saver changes the desktop - open the desktop-gnome-background and significance
    picture_filename right click - Set As Mandatory (must make sure that the path of the picture
    points to / usr / share / backgrounds / KP_October_.jpg)
    Close the gconf-editor (file-quit). The terminal does not close!
    Change the window control buttons - rearrange them on the left side to right, for this
    recruit in the terminal
    gconftool-2 - set "/ apps / metacity / general / button_layout" - type string "menu: minimize, maximize, close"
    Move button on the right side. (Valid only for the current user).
    Close the window and the terminal. Making the Log out.
    Go under the account of Service.
    Now you need to make all the folders in your home directory Guest read only.
    Open a terminal and type the command:
    sudo chmod 555 / home / guest / Desktop /
    sudo chmod 555 / home / guest / Documents /
    sudo chmod 555 / home / guest / Downloads /
    sudo chmod 555 / home / guest / Music /
    sudo chmod 555 / home / guest / Pictures /
    sudo chmod 555 / home / guest / Public /
    sudo chmod 555 / home / guest / Templates /
    sudo chmod 555 / home / guest / Videos /
    Will do an automatic daily reboot at 3am:
    in a terminal type:
    sudo su -
    chosen as the editor nano (click on number 2, then Enter)
    meremeschaemsya cursor to the bottom of the file and write:
    0 3 * * * / sbin / shutdown-r now
    then press Ctrl + O, then Enter, then Ctrl + x.
    Check the list appearing in the Task Scheduler:
    recruit crontab-l
    at the very bottom you should see the job:
    # M h dom mon dow command
    0 3 * * * / sbin / shutdown-r now
    2 times is typed at the terminal exit.
    Now the label term for a user's desktop service, you can delete and empty the trash.
    Setting up automatic login without a password for guest: System-Administration-Users And Groups
    Select the account Guest. Choose the right option for Change Password. , Select the Generate
    random password, and put a tick in "don't ask password on login". Click OK. Click Close.
    Now open System-Administration-Login Screen. Click Unlock.
    Select the Login As - Guest, and "Ubuntu Classic" as default session. Click Close. Reboot the PC.
    Now, the system automatically starts the Session Guest, and opens the browser Mozilla Firefox.
    Setting up Mozilla Firefox:
    Expand the browser to full screen.
    Edit-Preferences, put Homepage www.yourcorporatesite.com
    Tab Privacy - Set the option "Tell web sites I do not want to be tracked", and the option to History "Never remember
    history ".
    Tab Security - remove option to "Remember passwords fof sites".
    Click Close, close the browser.
    Reboot your PC (Click Log out, and at the login screen users in the bottom right
    select Restart), go into the BIOS, and set the Supervisor Password.
    In this setup procedure is finished the guest PC.
    Produce a test boot the guest PC - the system automatically loads and opens a session Guest
    browser Mozilla Firefox, test the USB connection between the drive and print.

    I boot the live CD and am prompted for passwords for each account. Thsi guide has no mention on that. Can I get the itadmin passwd?

    I need to update this post. =)

    Everything looks great!! How do I stop Firefox from starting on the kiosk user so I can make changes to the firefox interface? Thnx

    I was able to get what I needed from a posting farther down this page, now on to the screen saver!

    - and did you fix/manage to get the screenblanking killed?

    Ok, so what I did was (take your pick, could be all of them or just one):


    sudo gedit /home/itadmin/kiosk-saved/xorg.conf

    @ bottom of the file:

    Section “ServerFlags”
    Option “blanktime” “0”
    Option “standbytime” “0”
    Option “suspendtime” “0”
    Option “offtime” “0”

    You have to edit the xorg.conf in the /home/itadmin/kiosk-saved/ dir as the setup scripts replace the original file in /etc/X11/ (found that out by "it worked, now it don’t" battle).



    File: /home/kiosk/.gconf/apps/gnome-screensaver/%gconf.xml

    Contents (replace "{" or "}" with "<" or ">" due to html):

    {?xml version="1.0"?}
    {entry name="idle_activation_enabled" mtime="1312940115" type="bool" value="false"}
    {entry name="lock_enabled" mtime="1312940100" type="bool" value="true"}
    {entry name="themes" mtime="1312940023" type="list" ltype="string"}
    {entry name="mode" mtime="1312940023" type="string"}
    {entry name="power_management_delay" mtime="1270069736" type="int" value="240"}



    Add two commands to your ~/.xinitrc

    setterm -blank 0 -powersaver off -powerdown 0
    xset s off

    This may be dependent on the power saving setting in your BIOS.


    Now a new problem, the Powers That Be want the screen to reset after 10 minutes of inactivity (incase a user forgets to cloe teh web session).

    So "No" to screen saver, CHECK, Yes to "Log off after 10 minutes of idle time"... Ugh!

    As always, be careful with the copy and paste. The quotes can get messed up from gedit <---> vi and such....

    Links that helped:



    Good luck!!!

    Thank you.