Logitech Solar App on Mountain Lion

If you use any of the Logitech solar keyboards on the Mac, you’ll sooner or later find out that Logitech provides this really cool application that lets you see how charged your keyboard is, but additionally, the amount of light (in lux, approximately of course) that the solar cells are getting. While the application is awesome, it does have a minor issue: it runs a service which does not terminate with the application, and writes several lines to your log every second until the keyboard hits a timeout. Not only is this wasteful of system resources, it also will fill up your disk with meaningless log entries. Fortunately, the fix is easy since your Mac provides all the tools you need:

Note: This assumes you’re using the Solar App installed from the Mac App store. It will probably work just fine if you have the Solar App from Logitech’s website, but I have only tested the App Store version.

    1. Copy this script somewhere to your hard drive. It doesn’t matter where you put it, as long as you can remember the full path to it. Personally, I use the bin directory in my home directory, so my file would be /Users/tom/bin/kill-solar-service.sh
      #!/bin/bash
      
      if [[ "`pgrep Solar Service`" != "" && "`pgrep Solar App`" = "" ]]; then
      	killall Solar Service
      fi

      This script will terminate the Solar Service if it is running, but only if the Solar App (which requires it) is not running.

    2. Set the file as executable. From the console, substituting the path to your file:
      chmod +x /Users/tom/bin/kill-solar-service.sh

       

    3. Edit your crontab. This will call whatever application is specified in the EDITOR shell variable to edit your crontab. Again, from the console:
      crontab -e

      Use caution if you use your crontab. It’s very easy to fat-finger and hit -r by mistake (e and r are next to each other on the keyboard, and -r will cause the system to remove rather than edit your crontab.

    4. Add the following line to your crontab, substituting the path to your file:
      */5 * * * *     /Users/tom/bin/kill-solar-service.sh

      This cron entry tells the Mac to run that script every 5 minutes. There’s no need to run it any more often than that.

That’s it! That’s all there is to it. Every 5 minutes, your Mac will dutifully check if the Solar Service is running unnecessarily, and terminate it. Problem solved.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.