Authentic Technical Gibberish

A chocolaty technology blog with a gooey center

Tag Archives: Apple

Fix iStat Menus version 2 to work with OS X Lion

Update (11/03/2013):

According to some of the comments below this still works with Mountain Lion and the new Mavericks!  I have since purchased a family pack of iStat Menus 4.x so I cannot verify this myself.

The Context

I have recently upgraded to Apple’s OS X Lion and like a lot of other people I am updating the “Nooks and Crannies” of my software portfolio to work with Lion.  I wasn’t affected by Apple removing Rosetta from Lion (with the exception of the NoMachine client), but there were a couple of pieces of software that required upgrades.  iStat Menus was one such piece of software, but not in a traditional way.  I run version 2.x of the software because it meets my requirements and it is free, whereas version 3.x costs $16 US at the time of this writing.

The Problem

As long as you install iStat Menus under Snow Leopard and upgrade OS X to Lion it appears to work correctly.  If you make a change to what you are monitoring, however, you will no longer be able to change it back.  So for example if I turned off disk monitoring and went to turn it back on I get:

Could not load extra iStat menus could not load the disk activity extra

The Research

To investigate this problem open up the Console.app using Applications –> Utilities to see any error messages.  I have error messages in the system.log that look like the following:

Sep 12 06:38:41 <removed> SystemUIServer[277]: MenuCracker: Failed to swizzle -[SUISStartupObject createMenuExtra:atPosition:write:data:], can't load.
Sep 12 06:38:41 <removed> SystemUIServer[277]: failed to instantiate and get the principal class of bundle: NSBundle </Library/Application Support/iStat local/extras/MenuCracker.menu> (loaded)

Googling for “MenuCracker.menu iStat 2” I ran across Long Nguyen Hai’s blog.  On his blog he mentions that you can overwrite the .menu file with an updated version from SourceForge.  Lets try it out.

The Solution

  • Download the latest MenuCracker.menu from SourceForge and mount the disk image (.dmg)
  • Open Terminal.app and run the commands below.  killing the SystemUIServer will let you replace the menu file in subsequent steps:
sudo killall SystemUIServer
sudo cp -rp /Volumes/MenuCracker\ 2.2/MenuCracker.menu /Library/Application\ Support/iStat\ local/extras/
sudo killall SystemUIServer
  • Done!  Now iStat 2 menus should work as well as it did in Snow Leopard.