At Geneseo CUSD 228 we have many iMac labs and Macbook Pro mobile labs.  After watching teachers and students use these labs I believe the optimum setup is to have the machine run as a kiosk which is always logged in ready to go.  This way if a student needs to quickly check grades, look up a book, take an online assessment, do research there is practically zero downtime as the machine is always logged in and ready.  This setup replicates what I see in many University computer labs such as Western Illinois University, University of Missouri, ect.  Students who need to work on a project or save a document will be instructed and moved in the direction of saving to cloud storage (or USB flash drive) learning the necessary skill set of how to save and retrieve information independent of location or platform.  This setup minimizes downtime as a user login is not required and minimizes downtime from user error as machine is restored to default setup on reboot.

How to create a Mac Kiosk without any 3rd party software like DeepFreeze

First I created a perfect image machine and setup an account called student which auto logs in and has the Dock, background, Apps all configured just right.

Next Logout and login as an Adminstrator account and enable the root account.  Here are instructions from Apple on how to enable the root account if you are unsure.  http://support.apple.com/kb/ht1528.

Now with the root account enabled logout of the admin account and login to Mac as the root account.

Once logged in navigate finder to the /Users/ directory.  Here find our perfect /Users/student account and copy this folder to the desktop.  On the desktop rename the student folder as studentperfect.  Now copy this back to the /Users folder so that you have both a /Users/student
and a /Users/studentperfect.

Now I created a script that will delete recursively the /Users/student account, then will copy the /Users/studentperfect folders back to the /Users/student.  Finally the script will set the permissions on the newly copied /Users/student so that it  can be used.  In essence you are simply copying from an undisturbed perfect image of kiosk account and replacing the student account.

My Simple Script.

script

 

I saved the script as /.cleanstudent

Now open terminal and add the execute permission to the script.

chmod +x /.cleanstudent

(Note: I saved the script as .cleanstudent instead of cleanstudent simply so it is somewhat hidden and does not appear in Finder.  This is not necessary and if you want could save the script in /usr/bin)

Now with the script ready we just need to setup a Login Hook so that this script runs every time the machine gets logged in.

Activating a Login Script

Open terminal and type sudo defaults write com.apple.loginwindow LoginHook /.cleanstudent

That is it.  Now when the machine is restarted as it auto-logs in as the standard Kiosk account student,  the machine will first delete all the contents of this account, then copy back a blank perfect image from studentclean directory and thus you will have a perfect blank kiosk everytime the machine reboots.  (Can find out more on Login and Logout hooks here. http://seeskill.wordpress.com/2012/02/23/mac-os-x-login-and-logout-scripts-demystified/)


This keeps the machine running clean, minimum maintenance, and replicates the functions of many third party software like DeepFreeze but at the wonderful price of free.

With the perfect Kiosk machine made, tested and working I then use DeployStudio and Netboot to mass deploy this to all buildings and Labs.  DeployStudio is free and I highly recommend, easiest way to mass deploy machine images for both PC and Mac quickly and efficiently.

 

Share