Linux Kiosks running Firefox 2

A (mostly) OSS Solution

James Barrett

jadoba@jadoba.net

Please note:

  1. I'm an apprentice, not an expert
  2. I've never implemented one of these in the real world
  3. Currently attending classes at Devry University
  4. View the source code of this page for more comments
  5. This is not a HOWTO - click here for that

What exactly is a Kiosk?

  • A locked-down public computer that typically serves a single purpose
    • Supermaerket self-checkouts/POS machines
      • Credit card swiper, PIN pad, cash reader, change dispenser, scale, barcode reader, recipt/coupon printer
    • Digital Photo Kiosk
      • Scanner, printer, memory card reader
    • Information Kiosk
      • No Internet, probably apache and a browser, possibly PHP and MySQL (or something similar), or just even a directory tree and a browser
    • Movie Theater Ticket Booth, Jukebox (Internet or self-contained), Internet Exercise Machines
    • Internet Kiosk
      • A terminal that provides public Internet access
  • Suppliers: IBM, NCR, Fujitsu, Wincor Nixdorf

The First Kiosk


This is the first automated
teller machine ever built.

The Kiosk at my Laudromat

An employee said they
paid upwards of $15,000
for the whole system.

Graduate Hospital lobby

A job search kiosk
in a Hosptial.

These guys might sue...

A Bookstore kiosk

These guys probably would sue...

An actual Internet kiosk,
in Philadelphia even!

Why Linux? Why Firefox?

  • Cost - save money for better/fancier equipment
  • All Open Source Software except for some FF2 extensions
    • Debian
    • Firefox 2
    • Xorg
  • Complete control (well, nearly...)
  • The speed and stability of a minimal Linux installation

But KDE has a kiosk mode...

  • A waste of resources
  • We simply do not need a desktop environment at all
  • The functionality that KDE offers is better suited for more elaborate projects
  • For further reading: [extragear.kde.org]

Internet Kiosk "wants":

Internet Kiosks "needs":

  • Highest security
    • BIOS and GRUB passwords
    • physically secure (in a locked or bolted container)
  • Prevent data caching (Stealther)
  • Limited time for cookie retention (Auto Reset Browser)
  • No context menus, setting bookmarks, manipulating any existing files or downloading new ones (R-Kiosk, Public Fox)
  • Absolutely no conceivable way to touch the underlying configuration; basic obscenity filtering (Public Fox, removing Firefox components)
  • No window manager

Some things to consider

  • Target the end-users
  • Navigation bar or not?
  • Better obscenity filtering
    • Dansguardian, Squidguard, hosts file
  • A monetary compensation system (pay-for-use kiosk)
    • Could probably be done pretty easily with PHP and Paypal
  • Internet connection speed (768k DSL)
  • Do fish need pancakes?

Synopsis of the HOWTO

  • What will we be doing? Nothing too spectacular:
    • Installing Firefox extensions
    • Configuring firefox thorugh about:config and the preferences dialog
    • Removing a few files to disable other functionality
    • Creating some init scripts, implementing some security measures

That's it!

For more information
[any material that should appear in print but not on the slide]