Running Apple Remote Desktop on an Intel Mac

Last Thursday, my MacBook Pro arrived. Unfortunately, I’ve been swamped with plenty of other projects lately and haven’t had the time to do more than set up a user and browse the web at home.

This MacBook Pro with a 2.16GHz Intel Core Duo processor will replace the Dual 2.7GHz PowerMac G5 that’s at my desk, the 500MHz G3 iBook which I keep with me when I’m on call (as the IT guy, I’m always on call), and my home computer: a 400MHz PowerMac G4. To do this, a few key applications need to run on the Intel Macs: the Cisco VPN Client, the Mac OS X Server Admin Tools, and Apple Remote Desktop.

Cisco VPN Client? Check. Server Admin Tools? Check. Remote Desktop? … Remote Desktop? … Bueller?

Apple Remote Desktop (and this was even discussed in the February 22nd MacEnterprise.org Webcast entitled “Demystifying the Transition: System Imaging and Rosetta”) currently does not work on the Intel Macs. Why? Because the Apple Remote Desktop client software is Universal and so acts as a plug-in to the Apple Remote Desktop administration application. Unfortunately, applications running using Rosetta can’t have Universal plug-ins and vice versa, so that means no ARD… until recently.

Many in the Mac blogosphere were happy to hear that a few over at AFP548.com (a must-read for those administering Macs and working with Mac OS X Server) had found a workaround to get ARD working on the Intel Macs.

I heard the news, and I had been considering a workaround thanks to a friend’s blog post back on January 30th regarding his explorations into Rosetta. It turns out that:

The Finder’s “Open using Rosetta” checkbox is a figment of LaunchServices’ imagination. It stores a list of so-marked apps in ~/Library/Preferences/com.apple.LaunchServices.plist. exec()ing an application marked “Open using Rosetta” is not enough to get it translated; only going through a LaunchServices function will work.

Per the updated workaround (which merley involves checking off the “Open Using Rosetta” check-box in the Get Info panel for /System/Library/CoreServices/RemoteManagement/ARDAgent.app) I told ARDAgent.app to run using Rosetta, but Apple Remote Desktop still told me it was out of date and needed me to run Software Update (the telltale sign that isn’t going to work), requiring me to quit.

Huh. Not such an easy tweak after all? Actually, I figured it out pretty quickly: I had to turn off Apple Remote Deskop sharing in the Sharing preferences pane of System Preferences.

Even adding another step to the workaround (bringing the count up to a whopping two) still keeps it down in the piece-of-cake category, but I figured I’d explain why:

(Note: this only applies to those that have Apple Remote Desktop sharing turned on on the Intel Mac that they want to run the Apple Remote Desktop administration application on, probably not many.)

  1. ARD uses ARDAgent.app for some of its functionality (which can be deduced from the change required for the workaround), having it run using Rosetta allows ARD to launch as then both parts are running in Rosetta (an application running in Rosetta can’t have Universal plug-in, and vice versa).
  2. When Apple Remote Desktop sharing is running, ARDHelper (part of ARDAgent.app) is run as root and is done so by the RemoteDesktopAgent Startup Item (/System/Library/StartupItems/RemoteDesktopAgent).
  3. Per my friend’s experimentations, the preference file regarding which applications will be run in Rosetta (~/Library/Preferences/com.apple.LaunchServices.plist) is located in the user’s home folder, so the change made for this workaround needs to be done for each user that would be running ARDAgent.app.
  4. The preference file is for LaunchServices, so a file run via exec() will not honor the settings in com.apple.LaunchServices.plist (in fact, it has no knowledge of Rosetta, when it runs PowerPC code on an Intel processor it just works).

What does all this mean? When ARDAgent.app is run by the RemoteDesktopAgent Startup Item (i.e. Apple Remote Desktop sharing is turned on) it’s exec()’d from a shell script. Even if we could tell root to “Open [ARDAgent.app] using Rosetta”, since it’s exec()’d, it’ll never know how to do that, it’ll just run with whichever code is native to the processor.

Since it’ll run the Intel code instead of the PowerPC code, Apple Remote Desktop and ARDAgent.app will be mis-matched in terms of which code they’re running and so Apple Remote Desktop will fail (or atleast think that it can’t load ARDAgent.app, forcing the user to quit it). Which means no Apple Remote Desktop for our beloved Mac administrators running on Intel Macs (or atleast a few of them). 🙁

Luckily, with only one or two steps, Apple Remote Desktop does run fine on Intel Macs. In fact, I can’t tell the difference between running it on my Dual 2.7HGz PowerMac G5 and this 2.16GHz Intel Core Duo MacBook Pro!

Similar Posts

  • A Switcher's Blog

    We at Small Dog often find ourselves too used to Macs as we don’t use anything but (well, except for the poor guys…

  • Searchlight

    Searchlight is a program for people who have enjoyed the power of Spotlight (included in OS X Tiger) but want to take it…

  • Honor World AIDS Day With (RED)WIRE

    Today, December 1, is World AIDS Day—an internationally recognized day designed to raise awareness of the people who are affected by the AIDS…

  • Internet Privacy, or Lack Thereof

    Something that has been in the news lately (or at least the online news articles) is the topic of privacy on the internet…

  • Google + Nest = Nest+?

    You may have heard that yesterday, Google acquired “*Nest,*”:https://nest.com the company most known for its smarter, simpler thermostat design. Reactions to the sale have been largely negative, at least according to “*fans of Nest on Facebook.*”:https://www.facebook.com/nest/posts/10152167824360681 What would this mean for your privacy? For device support (especially non-Google devices such as iPhone)? ARE WE ALL GOING TO BE WATCHED IN OUR HOMES?

    I’ve been intrigued by Nest’s thermostat design since it was developed by Nest Labs in 2011, and still believe that it has set a standard for innovation and what it means to have a “connected home” — a term that has proven to be highly sought after in the past few years. I mean, you can leave the over-the-top “smart” tech products at CES (except for the WeMo-enabled “*Belkin Crock-Pot*”:http://www.macrumors.com/2014/01/07/belkin-slow-cooker/ … I think I’d love that guy), but Nest makes a lot of sense for the average home.

    Recently, Nest Labs introduced a smarter “*smoke and carbon monoxide detector,*”:https://nest.com/smoke-co-alarm/life-with-nest-protect/ taking on another mundane household staple that they determined significant improvement (for the annoyance factor alone). That brings the total number of products to two. Two. For which Google paid 3.2 billion! Obviously, they were viewed as game-changers.

    So, what do you think Google plans to do with Nest? We’d love to hear your thoughts!

    More on the acquisition “*here.*”http://online.wsj.com/news/articles/SB10001424052702303595404579318952802236612

    More on the Facebook backlash “*here.*”:http://www.adweek.com/news/advertising-branding/most-nests-facebook-fans-dislike-google-deal-154974

  • Tips on Greening Your Electronics

    No doubt about it, your computer’s energy consumption has a noticeable impact on your electricity bill. Of course, this also means more electricity…