In my lab, I’ve got a couple of PowerEdge R610’s that include iDRAC interfaces for lights-out management. Unfortunately, the remote console is Java-based. They’re older servers (using the iDRAC 6 interface), and I hope that newer versions of the iDRAC console look more like 2016! The interface on my iDRAC 6 boxes is awful.
I’m a heavy OS X user, and as such I regularly run into problems with software that was designed with only the Windows user in mind. Using the remote console tool in my version of the iDRAC interface is a perfect example of this.
The Problem
When I try to launch a remote console, a .jnlp file is downloaded. This is a Java Web Start file that would allow me to save it and run the file any time to access the remote console. The connection information is appended to the filename when the file is downloaded. See the example below.
I’ve never even seen this on a Windows machine, so it must be the case that the Java Web Start application on Windows knows how to handle this. But in the case of OS X, everything goes sideways. The extension isn’t recognized as .jnlp because of the additional periods in the IP address. OS X thinks this is a .12@atm-wi[…] file because it’s grabbing everything after the last period. As such, I can’t open the viewer without renaming the file.
For quite a while, I just dealt with this as another one of those things that I deal with for going against the grain when it comes to OS of choice. Each time I downloaded a new viewer, I would just go into my Downloads folder and rename the file, then launch it. But this morning I decided I didn’t want to deal with it anymore, so I came up with a fix.
Hazel, To the Rescue
If you’re an OS X user and you’ve never heard of Hazel, you’re missing out. Developed by the one-man team at Noodlesoft, Hazel is like a local IFTTT or Zapier. It’s mostly built for handling files, but you can have it kick off Applescript, Javascript, shell scripts, and more. Which means that really you can use files as triggers to automate just about anything with Hazel.
In this case, the fix is pretty simple. Chrome puts files that I download in my Downloads directory, so I just created a Hazel rule to watch the downloads folder for new remote console viewer files and rename them so that they work correctly. I tried to do this a while back with version 3 of Hazel, but I had a hard time because the filename is wonky and I couldn’t get the pattern matching right. Version 4 of Hazel was recently released, and it includes the ability to preview rule matching. Using the previews, I was able to make the correct rule in just a minute or two. But, I figured I’d share what I’m doing and save you the work. So behold! My Hazel rule for making iDRAC less of a pain to use on Mac.
This correctly identifies and renames these files to ‘iDRAC-Viewer-[increment counter to ensure uniqueness].jnlp’ Now after downloading, I can just go run the file like normal without screwing around with it 🙂