Copyright 2004-2012, NC State
Refer to the Info dialog for license information.
Hua Ying Ling - Code, design,
Everette Gray Allen - Concept,
direction, testing and documentation.
Doug Steigerwald - Preferences
interface, sheets, video embed, and bug fixes.
Ilan Gerald Volow -
Show Toolbar and bug fixes.
Source - http://www.ncsu.edu/mac/downloads/webXkioskII.src.zip
LaunchDaemon Example -
webXkioskII is a full screen, web kiosk application with security
application can be used to create public information and/or web kiosks.
webXkioskII is meant to be deployed in a secured environment where it
is automatically launched for a managed user. See
deployment tips below for suggestions on how to build a web kiosk. This
free software is released under a BSD type License and the source code
is available upon request.
MacOS X 10.6+. webXkioskII will not work on earlier versions of
MacOS X due to changes in the way full screen works. There is an
older verion available as webXkiosk.app at http://www.ncsu.edu/mac/downloads/webXkiosk.zip
that may work as long as Apple's WebKit frameworks (install Safari to
get these) are
installed but has not been tested. There is no version for MacOS
9 and there never will be.
There never will be a port to any other operating system.
1) Put webXkioskII.app in /Applications
2) Run the application and then press command and k keys at the same
3) Leave the password blank and select the Preferences button to
configure as desired.
4) Change the password!
* Printing -the Show Print
Button - shows or hides the print button in
the tool bar, allowing printing or not.
* Start Over -the Start Over
Button - returns to the default url clearing all history, cache and
* Automatic Start Over Time -a
preference setting in seconds that returns to the default url clearing
all history, cache and sessions.
Press the command key and k key together,
then enter the password ( there is no
default password and you should
change this!) and click Preferences button to get to the
preferences sheet to configure webXkioskII.
The acutal configuration file is in
webXkioskII contains a manifest so it can be managed with MCX or
Here are the keys from the preferences file for reference:
authPW - The password used to unlock the Preferences, Quit, or
Logout. Default value is blank.
showBack - Shows the Back button in the Tool Bar.
showForward - Shows the Forward button in the Tool
showHome - Shows the Home button in the Tool
showInfo - Shows the Info button in the Tool
showPrint - Shows the Print button in the Tool Bar.
showReload - Shows the Reload button in the Tool
showStartOver - Shows the Start Over button in the
Tool Bar. Deault:true
showStop - Shows the Stop button in the Tool
showTextSize - Shows the Larger/Smaller Text button
in the Tool Bar. Deault:true
showToolBar - Shows the Tool Bar. If this is not checked
button settings do not matter. Deault: true
showURL - Shows the a static text of the current url
in the Tool Bar. Deault:true
showURLBox - Shows a box in the Tool Bar to allow the
user to type in any url desired and display the page. Deault:true
signMode -changes to full screen mode with no end user
controls visible. Used to create "billboards"based on web pages.
startOverTime - sets the time when the page displayed
changes back to the initial url and all caches are cleared.
Default: 420 seconds (7 minutes)
webLoc - sets the url to show on launch and when the
Home or Start Over buttons are pressed. Default:
1) The password is stored in the clear in the preferences file.
2) Pop-up windows do not work. There is no pop-up blocker in
webXkioskII but by nature of taking over the entire screen the pop-ups
have no where to display. A nasty side effect is that some new
window and resize window calls may reduce and skew the size and
location of the viewable area. We make some attempt to repair
this when pressing the Start Over button
but some times only a quit and relaunch of webXkioskII will fix the
applications. Of note window.print does not work.
4) Prefences dialog will sometimes not save string and number
values until the cursor is moved to another field.
I) A kiosk environment
Many of the features in webXkioskII are taken from those
by Apple in developer tech. note 2062
especially true of the security aspects where we use the
and NSFullScreen APIs. An important configuration which must be
made outside webXkioskII for security is to replace the Finder using
system (See section II below). The authors have deployed 20+
kiosk for about 2 years now using earlier versions of this
software. Our environment is set up as follows.
a) Format and install MacOS X 10.6+ with customization. Uncheck
everything except the languages you want and the BSD subsystem.
b) Create an initial administrative account, call it what you
like. Make a password that is secure (min. 5
letters, 2 numbers and a punctuation kind of thing). Also create
an standard or managed account , we call ours kiosk. Do give the
standard account a password.
c) Do all software updates.
d) As the admin remove everything you can from applications except
e) Make sure you install any Internet Plug-ins you want. We add a
pdf and word plug-in as we have content in these formats.
Remember webXkioskII owns the screen for security reasons so if it is
displayed in-line the user will never see it.
f) Install webXkioskII from
g) Edit Preferences to change the
password, defaultURL, etc to suite your site.
h) Set a default printer if you are supporting print. Remember to
do this from kiosk NOT as the administrator account.
i) Set webXkioskII as a startup item for the user kiosk by adding it to
the Login Items in the Accounts or Users&Groups(10.7) System
j)Optionally use terminal to secure the dock
from kiosk with the unix command:
chmod -R o-rwx /System/Library/CoreServices/Dock.app
k) Set the machine to autologin as kiosk
l) Set the EFI password per
m) To avoid the crash
reporter screen issue the following command in the Terminal:
defaults write com.apple.CrashReporter DialogType server
n) Reboot and test.
0) When the configuration is correct we suggest cloning using asr, disk
utility, or a third party tool like Carbon Copy Cloner
If you have several kiosk we suggest you enable one or two ways to
manage them without visiting each one. We use Apple
Remote Desktop (ARD). Both these services need to be enabled in
the Sharing system preferences before imaging. In the past we
have used Timbuktu, NetOctopus and VNC as well so choose what you like
and works best in your environment.
III) Screen Saver Banners
We have run "banner ads" on the kiosk for lab closings,
etc. by using the netscape client pull feature supported by the
webkit. Any web page can be made to client pull by adding the
following line to the html code:
META HTTP-EQUIV="Refresh" CONTENT="30; URL=whatever.html "
Note don't forget to enclose this in <>. This code
would pull the relative url whatever.html from the server the current
page came from in 30 seconds.