GeekTool Desktop Info

twrangham
New Contributor III

Wondering if anyone is actively deploying GeekTool and geeklets to there Macs with Casper and how are you doing it? I have a script that is populating the info I need on the desktop, just not sure how to make it start up with the exported geeklet I have. I know there is some discussion here https://jamfnation.jamfsoftware.com/discussion.html?id=7604 but not exactly the same. Workflow would go something like:

  1. Install GeekTool package
  2. Copy Info script and Geeklet somewhere on the Mac
  3. Start and run GeekTool with the geeklet in step 2.

Not aware of any terminal commands for GeekTool.

Thanks in advance for sharing!

31 REPLIES 31

jacob_salmela
Contributor II

As far as I can tell, the scripts are stored in a plist in ~/Library/Preferences/org.tynsoe.geeklet.shell.plist.

I have been working on an informative Desktop for the admin user but haven't tried packaging it up and deploying it yet. I will experiment with packaging it up and let you know what I find.

russeller
Contributor III

I love GeekTool! I'd be interested if you posted your findings when you get it working. What exactly are you wanting your end-user to see with GeekTool?

jacob_salmela
Contributor II

I already have a bunch of stuff running:

  • Network information that updates dynamically and changes color
  • JSS Status that updates dynamically and changes color
  • List of Config Profile that updates dynamically and changes color
  • List of printers and their status that updates dynamically and changes color
  • jamf log

More to come as it progresses. I will post a screenshot later.

twrangham
New Contributor III

Yea, I see potential. We currently use BGinfo on the Windows side, and would like to have similar info on the background of Macs.

Would like to have url to IT ticket system, Help Desk Phone #, username, computer name, OS X version, Days since reboot, and prob IP. Maybe more, maybe less. Thanks for the help!

khoppenworth
New Contributor

I use GeekTool to print the computer name and any statuses messages I throw in a text file. I'm working on improving the system I use for status messages, but the computer name works well.

The latest version of GeekTool allows you to use AppleScript to control it, which I've only just started playing with. It seems useful for refreshing the widgets on command or with a Casper policy instead of just plugging in a refresh time in the actual GeekTool widget.

@twrangham][/url][/url][/url - You mentioned wanting a URL to the ticket system. How I have mine set up is with some desktop shortcuts that go straight to a web form to report problems. The form indicates where to find the computer name and the results of the form go to the ticket system. Just a thought. I linked to a screenshot of what my shortcuts look like. :) We have signs in the labs that show the "Report Computer Problem" icon really large so they actually use it most of the time. We have signs w the printer problems icon over the printers.

https://www.dropbox.com/s/5pd09xiu5u5z720/geektool.png
https://www.dropbox.com/s/mewos4k2wid9242/shortcuts.png
http://www.flagler.edu/technology-services/forms/problem-mac.html
http://www.flagler.edu/technology-services/forms/problem-mac-printer.html

chris_kemp
Contributor III

I've been pushing GeekTool for the past couple of years now - works great! :) I use it to display a small status window showing the machine name, IP address, and usage statistics for the hard drives. I also use it to trigger two large warning messages should volume usage exceed 85%, warning them to delete unneeded files (which - un? - surprisingly, some people still ignore...).

And yes, we do it by capturing the org.tynsoe.*.plist files in the user library.

mattosaur4
New Contributor II

Hi

I have just finished doing this for our Mac's. Here's a brief guide on the process I used, which works for me in my basic environment but probably not the ideal way todo it... & thanks to Roy Chean for his help!

  1. Download GeekTool
  2. Open it up on your Mac and setup your geeklet, including the text, position, colour settings, and code for your displayed data. This is the Code I used for ours:

<string>echo "IT Service Desk: <Number Here>"
echo "Self Help: http://yadayada/it"
echo "Email IT Request: it@yadayada"
echo " "

echo "User Name: " `whoami`
echo "Computer Name: " `scutil --get ComputerName;`
echo "IP Address: " `ifconfig en0 | grep "inet" | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}'`
echo "Wireless IP Address: " `ifconfig en1 | grep "inet" | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}'`</string>

  1. Package it up when you're happy. In my case I want to make it apply to existing Accounts on Mac's and any new ones. So we need to use the Fill User Template and Fill Existing User directories options.

3a. Using Composer, create a new Package by dragging in GeekTool.app & setting up the following structure. external image link
or http://postimg.org/image/l7snj93qp/ subbing itsupport for your localadmin account.

There's 4 files. The app from /Applications -- GeekTool.app
The settings from /~Library/Preferences/ -- org.tynsoe.geektool3.plist
The Geeklet from /~Library/Preferences/ -- org.tynsoe.geeklet.shell.plist
A per user LaunchAgent to make it fire at Login -- com.geektool.plist which I created and contains the following (paste into TextWrangler, save as a .plist):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>Label</key> <string>com.geektool.plist</string> <key>ProgramArguments</key> <array> <string>open</string> <string>/Applications/GeekTool.app/Contents/PlugIns/GeekTool.prefPane/Contents/Resources/GeekTool Helper.app</string> </array> <key>RunAtLoad</key> <true/>
</dict>
</plist>

3b. Setup the structure with these 4 files as per the pics & the permissions. I've never seen anywhere that actually goes over permissions for Composer, I used root/admin for the GeekTool app & _unknown (99) for the rest as from what I've read that should make it inherit what already exists there. Would love to see a post on setting correct Composer permissions... someone.

3b. Build it as a DMG

3c. Copy it into Casper Admin and Save. Goto the DMG item, double click it and tick the FUT & FEU boxes on the 3rd tab, Options. Click OK and save again.

  1. Test it via Casper Remote. Install package to a Mac, select it, logout and log back in, does it appear?

  2. Setup a Policy in the JSS for deployment to all. Cross fingers.

Regards,
Matt

jacob_salmela
Contributor II

Here is the screenshot of some of the stuff I am experimenting with using GeekTool.

The information updates and changes color based on the values (i.e. red is bad, green is good).
external image link

jwojda
Valued Contributor II

@jacob_salmela - that's awesome! I've been looking for a way to do something similar. Would you be willing to post your scripts and stuff that you are using to do that?

jacob_salmela
Contributor II

@jwojda][/url][/url Yes, of course. I will be adding them all to my repo:

https://bitbucket.org/jacob_salmela/geeklets/src

Right now, I just have the printer one up. If there is a certain one you would like to see sooner, let me know.

franton
Valued Contributor III

@jacob_salmela That is immensely impressive! I'll be keeping an eye on this!

jwojda
Valued Contributor II

Just out of curiosity, is this geektool something that can be integrated into Self Service or something similar?

jacob_salmela
Contributor II

I don't see why not. If the users already have Geektool installed, you can figure out how to add in new scripts either by dropping in a new plist or packaging something up...

I haven't tried yet, though.

mattosaur4
New Contributor II

Based on how I've done it, it works fine in Self-Service. If you want to change or create a new script just edit the geeklet re-package it up as a DMG and re-deploy. Alternatively you can probably just make packages for different geeklets.

Main thing to remember is a lot of users don't actually look at their Desktop, they have 9 million windows open...

Matt

jacob_salmela
Contributor II

Since end-users usually have cluttered Desktops, that is part of the reason I have the my geeklets aimed at the technical staff. They can log in as the admin user and see all that information instead of having to move a bunch of Desktop icons all over to see it.

This way, the support staff can have the information pre-populated, instead of searching around looking for it. Basically, providing a faster resolution.

tkimpton
Valued Contributor II

Thanks Jacob, this is very cool indeed :)

jacob_salmela
Contributor II

Made a few more scripts...
external image link

tkimpton
Valued Contributor II

@jacob_salmela Just like to say thanks.

A help desk guy managed to find a machine that wasn't connecting to the JSS when passing by using this and I managed to resolve it quickly :)

bentoms
Release Candidate Programs Tester

A bit OT, but we tried this awhile ago as wanted to add if to our servers & Netboots.

Issue was the positioning of the geeklets seemed to be fixed. So they might look great on a 27" but go off the screen on a 13".

Is this a known issue or something we missed?

tkimpton
Valued Contributor II

@bentoms yeah it's a bummer. I had to scope a dual screen geeklet to workstations and a different one to laptop users that don't use dual screen.

chris_kemp
Contributor III

Yes, that is one drawback of Geeklets. I found that out by trying to position my original readout in the lower left corner, only to find it dropping off the screen on smaller monitors. The X-0 coordinate is absolute, though, so I just moved it to the upper left:

external image link

Here's some annotation to show what's going on here:

external image link

tkimpton
Valued Contributor II

chris.kemp Thanks Chris for sharing that find, ill do that as well from now on :)

jacob_salmela
Contributor II

@bentoms I can't vouch for its validity, but there is a geeklet out there that is supposed to reposition geeklets when using different monitors:

http://www.macosxtips.co.uk/geeklets/system/reposition-geeklets-when-screens-change-1/

wilesd
New Contributor III

All of the above looks awesome - Question - How much of a CPU hit does the system take drawing these ? My memory of geektool in the past (granted it was a long time ago) was that it hit the CPU more than I would have expected it to?

jacob_salmela
Contributor II

@sovereign In my experience, CPU usage can get pretty high at times if you have a bunch of geeklets refreshing every 2-5 seconds, but if you set a decent refresh rate, it is not too bad. You just need to find the right balance between CPU usage and how useful the up-to-date information is.

chris_kemp
Contributor III

Right - hence the notice in my geeklet that says statuses are updated every 5 minutes. I don't want someone freaking out when they delete a bunch of files only to find out that the red warning indicator is still active.

It also depends on how much magic you're doing. Mine are simple shell commands without much text, so there's virtually no overhead to run them. I've seen some amazing GeekTool stuff online, though, that would surely bury your CPU if you got crazy enough! ;)

GSquared
New Contributor II

So I know this thread is a few months old, but we would like to push this out using FUT and FET as well and the pictures that were used to describe how to set it up in Composer are gone. Could someone that saw those images transcribe what the structure was there please?

Thanks all!

jamfnc
New Contributor III

Has anyone successfully deploy it to All Users when they login? This

MartinCere
New Contributor

Hello, has anyone received the license terms for the GeekTool from the developer? If so, someone could send me the license terms or a download link. We also want to distribute the GeekTool, but without license terms we can't do that. Thanks.

Martin

sgiesbrecht
Contributor III

@jacob_salmela do you have the script that you displayed above?

jacob_salmela
Contributor II

That is an amalgam of several different scripts. I do still have most of them or variations on them. DM me or find me on keybase for more details