macosxlabs.org

About Us Contact Us Home iCal Search Site Map

Divider
Introduction Button What's New Button Why Mac OS X Button Documentation Button Forum Button Participants Button Presentations Button Resources Button Resources Button Webcasts Button
Divider

Kiosk - Issues


[Introduction] [Requirements] [Configuration]
[Details] [Issues] [Links] [FAQs]

 

Issues


This page cites some issues concerning setting up a computer as a kiosk.

Fixing login failure (back to top)

Under some circumstances, login will fail. Specifically, the Mac boots up normally and proceeds past the login panel. Eventually, the loginwindow background and panel disapear and are replaced by a blue screen that is quickly replaced by the Finder background. However, if the screen stays blue and the cursor spins endlessly, the login failure is probably because of one of these reasons:

  • There is no /System/Library/CoreServices/Finder.app
  • The loginwindow preferences specifies a replacement Finder application that does not exist
  • There is no home folder (~/) for the user logging in
  • There is no ~/Library folder for the user logging in

See how to fix this by reading Fixing login failure.

Autologin failure (back to top)

Automatic login does not always work - it may boot to the login panel. This occurs in Mac OS 10.1.2 and 10.1.3 (we have not tested Mac OS X 10.1.4). Please let us know if you have or have not experienced this issue.

Idle time (back to top)

On a kiosk, it would be ideal to return to a default state when it is not being used. An example would be to have a script that runs after a given idle time and quits all applications, cleans up the hard disk, and opens a web page.

In Mac OS 9 there is a utility called iDo Script Scheduler (and many others) that can run AppleScripts after a given idle time.

Currently, we know of no application or method of retrieving idle time other than detecting if screen saver is active.

Further, we have tried to use the Terminal to find the idle time, but utilities like finger, who, and w, only show the time passed since Terminal activity, not mouse movements/clicks or keystrokes.

If we were able to find the idle time, we could add a cron job that runs every 5 minutes or so and checks the idle time. If the idle time is more than 10 minutes or so, it could run the idle script.

As a work around we have created an "Idle Script" that is an AppleScript Studio application that runs in the background and detects if the screen saver is active. For more details, see the "Idle Script" page

One idea is to create a screen saver module that runs a script when the screen saver is activated. The module "LogOut" uses the basic concept, but only logs out the current user in Mac OS X, which would be very useful for some institution deployments.

Hopefully, Apple will add support for easily retrieving idle time and add support for parameters like mouse movement, mouse clicks and keystrokes with similar script functionality in LoginHook & LogoutHook.

Automatic startup and shutdown (back to top)

Mac OS 9 and earlier supports the ability to Startup and Shut Down using the schedule option in the Energy Saver. This was very useful feature because it ensured that the Mac was on or off depending on your deployment. This is especially an issue when a kiosk or general machine is located in an isolated location. A user may Shut Down the kiosk and it could remain off for an extended period of time or until another user or administrator has powered it back on.


While it is possible to use cron to schedule a reboot or shutdown, currently Mac OS X doesn't support scheduling startup, which has been an issue with our kiosk and general machine deployment.


Hopefully, Apple will add support for scheduling startup and a GUI for scheduling Startup, Shut Down and other useful options like "Restart automatically after a power failure", etc in a future Mac OS X release.

Remove Sleep, Restart, Shut Down, and Log Out (back to top)

On a kiosk, it would be nice to prevent users from shutting down the Mac or logging out. One source of the shutdown/logout options is the Apple Menu. See below for how to disable the Apple Menu options. Another source is the keyboard. Older keyboards have a powerkey. Newer keyboards have the control-eject key combination that displays the Restart/Sleep/Cancel/Shutdown dialog box.

Hopefully, Apple will add some support to remove the functionality of those keys in a future Mac OS X release.

Customized Apple Menu (back to top)

On a kiosk, it would be nice to prevent users from shutting down the Mac or logging out. One source of the shutdown/logout options is the Apple Menu. Luckily, the Apple Menu is customizable with some 3rd party applications. FruitMenu is one example.

Customizing the Apple Menu makes it possible to remove the Dock.app and still allow users to launch more than one application through the Apple Menu when you have replaced Finder with a browser, etc.



Default Apple Menu
Custom Apple Menu

Hopefully, Apple will add some support for customization like the Apple Menu, Login Panel and many other options in a future Mac OS X release. Maybe, implementing similar functionality in Macintosh Manager into the OS.

Finder replacement relaunch failure (back to top)

You can replace Finder.app with an alternative application like a web browser on a kiosk. However, in Mac OS X 10.1.2 quitting twice and 10.1.3 quitting three times causes the replacement application to not relaunch. This was noticed very quickly in an actual kiosk deployment where Internet Explorer is the Finder replacement.

One solution is to add a cron job that checks every minute to see if the Finder replacement is running and if it is not, to launch it. Or use a method similar to our "Idle Script".

Launching Finder with a Web browser (back to top)

Many kiosks serve exclusively as web browsers and admin users do not want users to have access to the Finder. To configure Mac OS X so that a web browser launches at login automatically instead of the Finder, you can replace Finder.app or modifiy the com.apple.loginwindow preferences. However, if you choose to modify the com.apple.loginwindow preferences, users can still launch the Finder in a web browser by typing the URL "afp://". For more information how to completely disable the Finder, see the Configurations section of this article.

Web browser customization (back to top)

Because many kiosks serve exclusively as web browsers, it is important to be able to customize the browser to remove several options, like the ability to open the web browser preferences window. The preferences window can be opened by a menu item or a key command. A user could change the settings so that the browser does not perform correctly, or even to open a different default webpage. It would also be nice to be able to disable the ability to browse the hard disk by typing the URL "file:///".

Hopefully web browser developers will allow administrators to lock down the browser. iCab is one example of a browser that will do this. Also, in Mac OS 9, there is a Internet Explorer Admin Kit (IEAK) that enables the browser to be customized. Hopefully Microsoft will support the IEAK for Mac OS X.