vSphere ClientOk, you read the title of this post, and you’re thinking “hey, this guy must be goin’ cuckoo for coco puffs.”  No, this is FOR REAL. Here’s the deal: with the help of some people I met this week (Micheal Bell and the rest of the students from my VI3 Fast Track class in Irvine), I figured out how to run the vSphere Client on my Mac OS X. This is something that I’ve wanted to get up and running for a long time, ever since I converted from the Church of Gates and bowed down to the one true computer deity – the all enlightened Steve Jobs.  That’s right folks…I’ve just plucked a bright shiny Apple from the Tree of Virtual Knowledge.

Let’s face it. All of us that use Macs would really love to have a native vSphere Client from VMware, but this is something that I don’t think they are going to focus on very much, at least in the near future. Up until now, If you wanted to run the vSphere Client on Mac OS X, you could go about implementing that via VMware Fusion by running a VM in Unity mode. If you didn’t know about Unity view, it removes or hides the VM from the screen and simply displays the applications that are running in the VM. That’s great and all – and I personally love VMware Fusion and think it’s a freaking awesome product – but I always thought it would be so much better to just have a client on Mac OS X that didn’t require me to load a VM just to get access to it.

Well, as the Beatles said, “I get by with a little help from my friends.”  The other day, we finally figured out a way to get access to the vSphere Client on Mac OS X. Because this solution has only been done in a select few environments, it work for some but not others… so don’t hate! So far this has worked for me at my office and while connected remotely to my environments via VPN.

The way I got it to work was by using a few open source components and by installing a few extra bits of software on my Mac. I have to say that I didn’t really invent the wheel here. All I did was use X11, MacPorts, rdesktop, and Seamlessrdp to create a remote terminal session to a Windows Server 2003 R2 VM running in a remote VMware Fusion VM and also another one hosted on an ESX Server in my lab. Here is a step by step walkthrough detailing what I did and how I got everything flowing:

  • Install X11 on your Mac’s, you can find that on your Mac OS X DVD or it can even be downloaded from the web.
  • Go to the MacPorts site and download the version of the tools that matches your Mac. MacPorts also  known as DarwinPorts is a free/open source package management system that simplifies the installation of software on the Mac OS X and Darwin operating systems.
  • After installing the MacPorts packages, open a terminal and run the ports update command to update the application to the latest and greatest version: sudo /opt/local/bin/port -v selfupdate
  • Install the rdesktop client with MacPorts by typing the following command in the Terminal: sudo /opt/local/bin/port install rdesktop
  • After the application is installed, confirm that you have the latest version of rdesktop by typing: /opt/local/bin/rdesktop   scroll to the top of the Terminal windows and see that you have rdesktop version 1.6.0.
  • On the Windows Server 2003 VM, configure a user account that has permissions to access the vSphere environment. This could be a local system or Active Directory based account.
  • Configure the Windows Server 2003 R2 to allow remote desktop connections, and make sure to add the users that will be allow to connect to that system via RDP.
  • Install the vSphere Client on the Wndows Server 2003 R2 server
  • Modify the Windows Path Environment Variable and add the path of the directory where the vSphere Client executable file is located, the default path is always: C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher make sure to put a semi-colon ; at the end of the path currently listed in the variable value field.
Environment Variables

Environment Variables

    • Download the seamlessrdp application and extract it to the root of the system drive called seamlessrdp
    • Test the connection to the Windows Server 2003 by opening a session from the Mac by typing the following command in the Terminal window:  /opt/local/bin/rdesktop <ip or FQDN> A remote desktop windows should appear if everything is working correctly and you can connect to the system on the network.
    • Once the connection to the system works, test the seamlessrdp connection to the vSphere Client from the Mac by typing the following command on the Terminal window: /opt/local/bin/rdesktop -A -s “c:\seamlessrdp\seamlessrdpshell.exe VpxClient” -u username -p password -a 16 FQDN or IP

      syntax breakdown:

      • -A = Start application in seamless mode
      • -s =  Specifies the path to the location of the Seamless files
      • -u =  Username
      • -p =  Password
      • -a =  Color bits (8, 16, or 32)

      After the connection is made to the client, the capability to connect CD-ROM, Floppies is not available because it’s an obvious remote connection.

      You can now launch the application from the terminal everytime or you can setup an icon for it so you can keep it in the dock.

      Setting up Icon To Launch vSphere Client application:

      • Use a text editor and open a new document
      • Make sure is set to a plain text format
      • type the command used to connect to the Windows Server 2003
      • Save the file as vSphereClient and use the .command extension. Go to the location where the file is saved and use the Get Info and select to hide the extension on that file. This way you dont have to see that .command on the file and it looks like a regular icon in the dock.
      • Make the file executable by opening the Terminal application and entering the following command: sudo chmod 777 /path/to/vSphereClient.command file
      • You can now change the icon of the file to something you like or something that identifies with VMware.

      This worked great with Windows Server 2003 R2 as the target server that I used to host the vSphere client, but when I tried the same steps listed on a Windows Server 2008 they didn’t work. I was able to open a remote desktop session to the VM but the session was a bif window and it didnt opent he application at all. So If any one with skills on UNIX, Linux, OS X can get this to work with Windows Server 2008 please let me know.  Get ready to bite your chompers into that apple!

      vSphere Client on Mac OS X Demo

      Tagged with →  
      Share →

      54 Responses to vSphere Client on Mac OS X

      1. Mike says:

        Wow that is some super hackery!

        Yuck.

      2. `ariel says:

        Very nice!!! i just do all the step on my Debian box and now i dont have to RPD into the machine with the vpxClient!!!

      3. Why not just use Vmware Fusion’s unity mode to display the VIC UI on macOSX – you don’t need to install seamless rdp with Rdesktop for it and it performs a lot better. Is there any benefit to your approach than better geek cred?

      4. Rawlinson says:

        Chetan, there are people that don’t want to have to load a Windows VM in Fusion to have access to the vSphere Client. This could be because of preference or they dont have Fusion, or just dont want to run Windows period. Believe it or not there are people that I have come across with that are like that. This will work for Linux and Mac. I agree with what you say about loading it in Fusion and everything, but this is just another way to get what we want, without having to load Windows.

      5. Michael Bell says:

        Dood! Nice. I haven’t had a chance to work with it yet – too busy building YOUR NEXT CHALLENGE. I have the PXE solution 90% – will send you once completed.

      6. Rawlinson says:

        Hey Michael, I have a PXE solution for Virtual Infrastructure 3.5 and vSphere working 100%. I call it vPXE and I’m in the process of turning it into a VMware Appliance. When you get yours completed I would love to see it and try it, to see what you do different.

      7. Michael Bell says:

        I had time to get the vsphere client working on my mac tonight – all good. I will follow-up on the PXE stuff soon. Thanks!

      8. Vlad says:

        I’m wondering what this means in VMware language…

        http://communities.vmware.com/message/1273437#1273437

      9. Rawlinson says:

        I think that is now something that its being consider by VMware, but dont hold your breath on this yet. I personally started talks about the native mac os x client and Mike DiPetrillo had something in the works but I’m not sure if he got a chance to finish it. Hopefully something will come up in the near future.

      10. [...] I’m talking about the marriage between the vSphere Client and Mac OS X. [...]

      11. [...] possible what I was starting to think would not come to pass. Mac users rejoice – you can now run vSphere from your Mac. No, not using Fusion. It’s [...]

      12. Michael Fleener says:

        This maybe counter to the whole vibe here, but this has been done via Citrix ICA for years. I have published what we now call vCenter since the 1.2 days.

      13. Rawlinson says:

        Hey Michael, you’re right but like you said that solution requires Citrix, and what I’ve done here is all with free open source tools that everyone can use without the dependency of Citrix which can be a pretty expensive solution to acquire. : )

      14. [...] vSphere Client on Mac OS X – while this is not a native vSphere client on Mac OS X, it is an alternate way (maybe even faster) of running the vSphere client than having a Windows VM in Fusion (via Punching Clouds…still love that name!) [...]

      15. MikeB says:

        Anyone get this running on XP? I get the rdp window fine, but it doesn’t launch the app. If I run the command from the wxp window, it does work however, so I think I am configured ok, but probably missing one step.

      16. John Valenti says:

        Well, I always live in hope, then die when I get into the nitty gritty details. The hope is for a native Mac client.

        Your first paragraph says: “I figured out how to run the vSphere Client on my Mac OS X”. No you didn’t. The vSphere client is running on a Win box, right? You’re just using another method to remotely control it, and we’ve seen several ways of doing that over the years.

        How is your more complicated method any better than just running the free Microsoft remote desktop utility (for Mac)? Ok, you get a few points for using open source, but in the end the client is running on Windows. Still need to have a windows box running for this to work.

        (drop me an email if I’m missing something here …. I was just searching for something else and ran across this, probably won’t remember to come back and check comments)

      17. [...] to integrate the client seamless to your OS X desktop.   Here is the write-up and procedures right here.   Also a picture is worth a thousand words, so here is a quick snap of my MacBook [...]

      18. Mikael Grönfelt says:

        Ehm.. why do you need Windows 2003 Server to run software under OS X?

      19. Rawlinson says:

        WIndows Server 2003 is where the vSphere client is actually installed. The way I did this is by having a remote connection to that system but it only shows the application that you launch. There is no real vSphere client for Mac OS X yet, but this is a way that I got to get around from doing something else like loading a VM in Fusion just to use the vSphere Client.

      20. DJ says:

        Meh. The title of this post promised a lot – vSphere Client on OS X – but didn’t deliver. Sure, you’ve come up with a more seamless-looking way of accessing a remote app via RDP, but ultimately that’s what everyone’s been doing all along – and frankly your technique requires a helluva lot more work than just launching a normal Remote Desktop client. Yeah, it’s nice to have a pretty icon and connect right to a given app – but jeez, it’s a lot of work for what’s basically cosmetic. I’ll continue praying for a native client.

      21. You may also want to point out that the installation of Xcode is required as well. I’m also hoping I can get this running with an XP virtual on the vsi machine.

      22. Andy Flood says:

        ..or you could just enable RDC on the VM windows instance and use RSC for MAC to connect…. works like a charm!

      23. Tijmen Lustig says:

        Can you help me here, i’am new to mac. i did follow all the steps to get it working but when i run the install rdesktop command it returns with an error;
        The ports tree has been updated. To upgrade your installed ports, you should run
        port upgrade outdated
        tijmen-lustigs-macbook-pro-17:~ beheerder$ sudo /opt/local/bin/port install rdesktop
        —> Computing dependencies for rdesktopError: Unable to execute port: can’t read “build.cmd”: Failed to locate ‘make’ in path: ‘/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin’ or at its MacPorts configuration time location, did you move it?
        tijmen-lustigs-macbook-pro-17:~ beheerder$

        please advise

      24. Mark Soho says:

        While Citrix may be expensive, you could also install 2x ( http://www.2x.com ) onto the vCenter server and I believe there is a 2x client for Mac. With this, you could tunnel your RDP session over SSL. Nonetheless, I like it.

      25. AlGrega says:

        Tijmen Lustig: Install Xcode (Xcode 3.1.4 for Leopard or Xcode 3.2.1 for Snow Leopard) to solve the problem!

      26. Glenn says:

        There’s really no good answer in this thread to why you shouldn’t just download the free MacOS X remote desktop client fromMicrosoft site to jump many steps ahead of what’s laboriously detailed here.

      27. Chuck says:

        “Awesome,” I thought, “running vSphere Client natively on OS X. THAT is noteworthy.” Then I read what you did. Feh. Been doing this forever, it seems, with CentOS (rdesktop/tsclient) and OS X (RDC.) There’s no benefit to your kluge, as others have previously remarked.

        Actually, I’m not that fond of vSphere Client for most of my work (ymmv) – too heavy. What is really cool though is it’s way lighter little brother, vmware-vmrc.exe, but this also runs in a Windoze environment.

      28. Blair says:

        Just a quick note: you probably don’t want to use “chmod 777″ on the shell script as it creates a file that is readable (good) and writable (bad) by anyone on your system.

        A nasty person could now replace the contents of the shell script with “rm -rf /” and you’d be a bit surprised the next time you tried to connect to vSphere.

        Something like “chmod 755″ is probably more reasonable.

      29. [...] Kudos to Michael for providing us with a valuable document detailing an X11 hackery to get vSphere client running on Mac: http://www.punchingclouds.com/?p=856 [...]

      30. Gus says:

        You should have advertised this as what it actually is, “dedicated RDP session to vSphere client for Mac OS”. Its not a ‘Client’. Grrrr, thanks for building my hopes up for nothing.

      31. Rawlinson says:

        I clearly stated in the post that is not a native vSphere Client, and also that it was not running in Fusion Unity mode. this works for me even today. I dont like having to run a VM in fusion just to gain access the the vSphere client. For you Mac users just hold on a bit longer, your wishes will be answered.

      32. Wyatt says:

        Or.. you could just setup the Windows 2003 box with terminal services and install 2x (http://2x.com) for free and publish the app.

      33. James says:

        Basically you published a seamless RDP session. …… This isn’t really any different than publishing vSphere with citrix, maybe cheaper, but it’s not running on the mac. It’s running the 2003 server, and the mac is RDPed into the 2003 server. So instead of firing up a vm locally, you have one fired up remotely, hardly a move toward the goal.

      34. johannes says:

        So i actually managed to get this working with OSX and a TerminalServer2008.
        1. You need to install the seamlessrdp package from cendio.
        2. you need to publish both, the seamlessrdpshell.exe and the program you actually want to use seamless
        and 3. you need to allow command line arguments with the published seamlessrdpshell. This is accomplished through the Windows Server 2008 “TS RemoteApp Manager’s” “Add RemoteAppProgram” dialog (remoteprograms.msc).

        Best regards, Johannes

      35. Darius says:

        Same as above, I can’t see the point to this as you can just get RDP for mac from MS and just RDP into the box running the vsphere client

      36. Rei says:

        Good hack.

        I hope that VMware will react soon, because even if your solution is well-done, it can’t be move from the WinSRV 2k3 subnet

      37. jocke says:

        This works fine on 2008R2, btw. So I don’t know why OP didn’t get it to work with 2008.

      38. SRMoll says:

        A much easier way:

        Add the following lines to the VMX file of a VM you wish to access on an ESXi server:

        remotedisplay.vnc.port=”5900″
        remotedisplay.vnc.enabled=”true”
        remotedisplay.vnc.password = “password”

        For each additional VM you wish to access, add 1 to the port number. I.e. 5901 for the second VM, 5903 to the third, and so on. There has to be a password too.

        From the Mac OS X finder, select “Go” from the menu and choose “Connect to server…”.

        In the server address line:
        vnc://nnn.nnn.nnn.nnn:5900
        (nnn.nnn.nnn.nnn will be the IP address of your ESXi host, and remember the port number “5900” will vary depending on which VM you wish to connect to.)

        Click connect and voila!

        And here’s the kicker… The VNC connection seems to outperform the standard vSphere RDP connection in terms of frame rate and graphics quality. The downside of course is that there are no controls available to mount local drives, or make changes to the ESXi host setup, and the like. But most of this can easily be accomplished by using a Windows VM on the host running the proper vSphere client. And now that vSphere 4.1 allows the passthrough of some USB devices from the host’s USB port’s things are a lot less problematic.

        Enjoy!…

      39. JCB says:

        Many, many, many thanks… I need to to have one less VM and this will allow me to run the “vSphere Client” on the OS X. Feeling a bit of pain with the update to Fusion 3.1.1 though (lost mouse selection). Looking forward to having all this working this evening after a few days poking around with it.

        Thanks a bunch,

        JCB

      40. smachsimo says:

        Excellent stuff, thank you for this.
        I confirm that for W2K8 you need to install Terminal services, publish vSphere Client and seamlessrdpshell and allow the latest to be executed with parameters.

      41. [...] the browser plugins does not work with Safari or Firefox (on OS X). There has been a wide range of creative ways of bypassing this ridiculous restriction (among others using another VM as base for launching [...]

      42. matt says:

        No, it’s not. This blog post is not “vSphere Client on Mac OS X”. This post is “Remote Desktop on Mac OS X”. There’s nothing special about the application you have chosen to run in your remote session. You could just have easily blogged, “Run Any Windows App On Your Mac”.

        I’m surprised you’re this excited and not selling something.

      43. Bujang says:

        here they are, i was found every where then i got here. thx a lot bro, keep posting, i will try it on my mac…

      44. Cookie says:

        So…yea…in order to “run the VSphere client…all you need is a little freely available software….and oh yea…a Windows server powered on and updated sitting in a closet somewhere. A marginal improvement over running remote desktop to a windows machine in general. Never mind if you (for some bizarre reason) don’t have access to a Remote desktop server…you need to go buy an entire PC.
        I agree that a NATIVE VSphere client would be great…but this solution doesn’t make me lump for joy. To each ones own I guess.

      45. Ddhenver says:

        Thanks for this I will try the steps you given

      46. Max says:

        Didn’t see this mentioned before, but you do know that there is a free RDP client from Microsoft for the Mac, and it works pretty good, so you do not need to tinker with all the MacPorts stuff (although is has a certain geeky appeal).

        Its available here: http://www.microsoft.com/mac/remote-desktop-client

      47. [...] and some bits here and there Today 09:55 AM #3 There are always 'ways' vSphere Client on Mac OS X Reply With Quote + Reply to Thread « Previous Thread | Next [...]

      48. bobbydamercer says:

        I tried this on Win2003 it worked great, but it seems it’s not working on Windows XP.

        didn’t try on Windows 7, so can’t say.

        Still nice tip :)

      49. Senatrix Maledicta says:

        I must admit, I am a little underwhelmed. 95% of the same effect can be achieved using Microsoft free download Remote Desktop Connection and saving a profile with the relevant details (eg user/pass and Application to open on start up), in about 3 mins of work.

        I think the obvious alternative is to set up client in a VM hosted on one of the ESX/ESXi boxes you are managing using an old license of Windows XP that you have, or use the Linux client in a VM. Then connect to this VM via the usual routes (VNC/RDP).

      50. Evan says:

        this method is so freaking awesome! loving your work Mr Rawlinson

      51. Chris says:

        FYI, if all you need is basic control from OSX, check out Orbit-VM https://code.google.com/p/orbit-vm/

        > It’s aim is to provide an open source, cross-platform GUI for managing vSphere 4 servers.

        However, I use this to manange my ESXi 5 box and it works great on Mountain Lion!

      52. Lomax says:

        Horrible waste of your time coming up with this, and my time reading the first few paragraphs of it. You’re still remoting into a Windows environment to do this.

      53. Rawlinson says:

        This post is old from a few years ago and it was somewhat of a cool way to access the vSphere Client from a Mac before without having to load a virtual machine in fusion. There are currently much better ways to do this now with the vSphere Web Client. If you’re this far behind technologically and are still looking for something similar to happen in a native client, well move on cause its not happening. A bunch of people did asked for this back then and found it useful.

      Leave a Reply