Xhooks

By: James Reynolds, University of Utah - Revised: 2009-09-15 scott

Download iTunes U Audio or Video

What is Xhooks

Xhooks is a collection of OS modifications, scripts, and utilities that make it easy to configure and automate maintenance on Mac OS X computers.  It is intended to work with and automate radmind.  If you are not using radmind, you still may find Xhooks useful because it contains things that aren't available elsewhere (or aren't easily available like hping2, SetDisplay, and Screen Preserver) so you may want to borrow pieces.

Xhooks has four main functionalities.
  • The first major feature is hooking into Mac OS X.  This functionality allows the administrator to run scripts or utilities at startup before the loginwindow appears, login, logout, and right after radmind runs.  This part of Xhooks is actually very small but rather critical to the whole thing.
  • The second major feature is the scripts and utilities, or as we call it, the "modules".  Xhooks comes with modules to automate radmind, screen saver over the loginwindow, managing a generic guest home folder that is more functional than Apple's guest account (including keeping a lost and found), setting the display resolution (using the default for the model or by specifying a resolution in a machine's command file), adding certificates, manage prefs not easily managed by radmind, the list is actually very long.
  • The third major feature is really the feature "Manage prefs not easily managed by Radmind".  Radmind manages files all or nothing.  Xhooks includes scripts that can change parts of a pref file.  Xhooks includes some modules that configure specific preferences and it also includes the ability to tweak with any plist file generically like the defaults command but with more power (using the super_defaults tool).
  • The last major feature of Xhooks is how the above configurations are distributed and how you manage Xhooks in general.  Xhooks is configured 3 ways.  First, by using a transcript of links that point to scripts that should be executed ("l ./Library/Xhooks/Modules/xhooks/hooks/SEE_run_me /path/to/SEE_run_me").  Second, by using "commented out command files" that contain Xhooks settings.  Third, by putting variables in machine command files that are made available to any script or tool that reads the Xhooks prefs, basically giving bash, perl, and any tool that can read a plist file the ability to read the variables.
If you want to be notified when we release Xhooks or you want to help develop or test Xhooks, please contact us!

Xhooks Version 18 - Public Release 2

We released the second public release of Xhooks, (version 18) on June 5th, 2009.

Version 18

Here is the first public release of Xhooks

Version 7

To find out more, please read the Readme

10.5 Logout Saver Screen Preserver Download

Apple changed how things work in Mac OS X 10.5 when nobody is logged in.  Apps will not show a GUI unless they are customized to do so.  Thus, Apple's ScreenSaverEngine will no longer run at the loginwindow.

Screen Preserver is the only way to run a screen saver over the loginwindow on Mac OS X 10.5 Leopard (AFAIK).

We have updated it and added many features since we are now anticipating a demand for this. Note, Xhooks changed a lot since this was created so it uses a very old plan for Xhooks.  If you plan on using Xhooks and you want Screen Preserver you should download the latest version of Xhooks.

Source code included.  Original author is Andrew Mortensen, all additions are by James Reynolds, who is the current maintainer.

Table Of Contents