Robot Shell Scripter picture

GeekTool Shell Scripts


GeekTool (someone else's great program) is a Mac system preference pane application that puts things on your desktop background, where things are images, files, and scripts (my favorite).

This is my script collection, some written myself and some scrounged from the internet, modified to work (some of them didn't) better (some needed tweaks to be truly useful as GeekTool scripts). You do not need to use GeekTool to use the scripts - they're just useful shell / terminal scripts that display information. While I didn't include any scripts that would harm your system, prudent computer users always read scripts from the Internet before they run them (you, not me and mine, are responsible for your actions).

Script types included:
Applescript (orascript scpt files)
Some dependencies:
Ability to Read
lynx (text web browser)
Some of the scripts included:
Calendar (cal w/##, horizontal)
iCal Events
RSS Reader (news, slashdot, showtime, other) Reader
NASDAQ stock status for Symbol
iTunes Now Playing
System Statistics (info, uptime, disk, battery, processes)
Weather for Zip Code
Server Ping/Check
Adium Unread IMs
Network Status
Network Sniffer

How to Use

As A Collection:

  1. Download the file.
  2. Unzip to the location of your choice.
  3. Modify main.bash per the instructions in its comments. (Don't forget to make the scripts executable.
  4. Create a new shell Geeklet (window in GeekTool), providing the complete path and name for the main.bash script.

As Individual Scripts:

  1. Download the file and unzip to the location of your choice OR browse the scripts directory and save the script of your choice. I recommend grabbing main.bash as this has syntax for running each script - some of these take arguments (ex. the rss reader script wants to know how many entries you want and what the url is).
  2. Make the script(s) executable (instructions in main.bash)
  3. Create a new shell Geeklet (window in GeekTool), providing the complete path and name for the script you want to run AND any arguments the script needs.

What is the point of main.bash?

The main.bash script is just one script that runs all the other scripts. You comment out the scripts you don't want to run. This not only lets you display a set of scripts in one Geeklet, but lets you change your GeekTool desktop display without having to change the script within the GeekTool preference pane.

You can make as many copies of main.bash as you want (rename and change the nameofscript variable) so you can do multiple Geeklets that each run multiple scripts.

Mostly, though... it's just a list of the exact syntax to make the individual scripts work.

[an error occurred while processing this directive]

Some GeekTool Links (off my site):

More Script Collections by Other People (usual not-mine disclaimers):

Free Download



  • Scripts that put a customizable fixed size limit on output so you have more control over the appearance of your GeekTool desktop.
  • Internet connectivity check before running scripts that need it.
  • Comments with easy to understand and easy to set variables for customization.
  • RSS Reader that lets you say what url, how many entries to receive, and a max length of entries. Display title+description or just title only.
  • icalevents - a compiled command line program to dump all events within a year of today (I wrote it myself; source can be provided on request).

Contact Me:


  • 2011-09-27: Updated external links.
  • 2010-07-10: Added a section for "More Script Collections by Other People". Thanks, Anaithnid!
  • 2010-02-05: Added to list upcoming tv shows as listed by
  • 2010-01-26: Added an external link, removed the main.bash display on this page (needs to be fixed due to the reorganization).
  • 2009-11-21: More Snow Leopard updates. Screenshot. main_network.bash (duplicate of main.bash, for verbose queries (right side in screenshot)).
  • 2009-11-19: Fixed process by cpu / mem scripts for Snow Leopard.
  • 2009-10-20: Assorted cleanup / comments.
  • 2009-10-19: iCal events for today / tomorrow.
  • 2009-10-15: Created / Uploaded.