Mac System info on your desktop

There are a small handful of windows apps that I think are pretty useful and don’t have better Mac equivalents. bginfo_ss.jpg BgInfo is one of these. It used to be an independent freeware app, but microsquish thought it was cool enough to acquire – at least it’s still free (for now). What is does is simple: it aggregates a bunch of different bits of information about the system it’s running on and merges it with the desktop background. This may not seem very useful to most people since most people only use one or two different computers and don’t really care about things like their Default Gateway or MAC Address. However, for those who work in a dev/IT environment where they switch between a bunch of different machines or better yet, have a lab of boxes that they don’t use regularly – this is extremely handy.

Now I could not find a utility that does what BgInfo does for the Mac – at least not specifically. Then I remembered about GeekTool. GeekTool is the Shopsmith to BgInfo’s hand drill. I plan to write another post dedicated to Mac utilities where I’ll go into more detail on GeekTool, but for now we’ll just get started. If you know of something else that does what BgInfo can do on the Mac, please let me know – I’m not totally addicted to big hammers.

Here’s what you do:

  • Install GeekTool
  • Paste the following ruby code into a text file and save it somewhere like ~/scripts or ~/Library/Scripts as sys_info.rb:
@user = `whoami`
@system = `scutil --get ComputerName`
@ip = (`ifconfig en0 | grep netmask`).split
@vers = (`sw_vers | grep ProductVersion`).split
@hw_info = `system_profiler`
@up = (`uptime`).split(',')
if @vers[1].include?('10.5')
  @hw_name = 'Processor Name'
  @hw_speed = 'Processor Speed'
  @hw_name = 'CPU Type'
  @hw_speed = 'CPU Speed'
puts "User: #{@user}"
puts "Computer: #{@system}"
puts "IP: #{@ip[1]}"
puts "OS Version: #{@vers[1]}"
puts @hw_info.grep(/#{@hw_name}/).to_s.strip
puts @hw_info.grep(/#{@hw_speed}/)[0].to_s.strip
puts @hw_info.grep(/Memory:/)[0].to_s.strip
puts "Uptime: #{@up[0].strip}"
  • Open the GeekTool preference pane and add a new entry. Select Shell from the pop-up menu.


  • In the Command box, enter: ruby ~/scripts/sys_info.rb (change to your path and file name)
  • Set the refresh for 300
  • Now you should see a box somewhere on your desktop and it should have 8 lines of juicy info.
  • Play with the other tabs to set the font style and background.
  • You can drag and resize the box to wherever you like.

I know this works on OS X Tiger and Leopard and it should work fine on Panther. BTW – GeekTool works great on Leopard.
If you have any suggestions, changes or additions to this, please share.