understandable linux tips, tricks and tutorials

In an article about desktop virtualisation I explored some of the options for virtual machines on a linux desktop. In this article, I’ll extend that a little by setting out how to launch a Windows app from your linux desktop as if it were a native app. It isn’t in fact a native app, it’s an application running in a virtual machine on vmware and displayed on your desktop using unity mode. But for all intents and purposes it will look and behave as if it “belongs” on your desktop.

So how do you go about doing this?

This is actually quite simple once you know how. You simply use the vmware-unity-helper command with the -r argument. The -r argument stands for “run”. You then add the location of the .vmx file for the vmware virtual machine you want to use. The last argument is the location of the executable on the directory tree of your Windows VM. So here is an example for launching MS Word. Note the back slashes in the path for the Windows executable:

vmware-unity-helper -r /home/matt/vmware/Windows\ 7/Windows\ 7.vmx 'C:\\Program Files\Microsoft Office\Office12\WINWORD.exe'

Test it out in a terminal to make sure it works OK. Please note that it will take a wee while to launch if the VM isn’t already running. Once it’s running, it will launch immediately. Once it’s working OK, you can create a launcher in your favourite dock or launching app. I won’t be able to explain how to do that for the countless number of launchers out there. But almost all have a field to put in the command to be run when you click the launcher icon. Put the above command (customised for your situation of course) in that “command” field.

That’s it.

9 Comments
  1. Why are there no obligatory screenshots of Word on your *nix desktop?

  2. That’s some interesting stuff :) I will definitely try it on spare time.

  3. Please, a command for doing that with VirtualBox.

  4. I tried this solution a while back and have to say VMWare still have quite a bit of work to do to make this a worthwhile solution. I constantly had screen refresh issues or having the application not be the correct size when maximised, only taking half the screen etc etc. It is great in practice, but in reality it was just annoying and I went back to running a full screen desktop Windows. granted this might be a graphics driver problem or the OS itself but still VMWare will have to work together with NVIDIA and the OS devs to make it rocksolid. This is not production ready.

    • I would try it again. VMware has improved unity mode on Linux greatly in the last year or so. I had significant stability issues also. However inthe last year it’s been solid as a rock running on both intel and nvidia chipsets. Changing from Kubuntu to openSUSE also made a big difference in speed and stability.

  5. So how much memory is used up running vmware (and a 2nd OS I’m assuming) all the time?
    Does the application have access to the user’s files?

    • On my main machine, with openSUSE as the host OS and windows7 as the guest it uses about 600MB of RAM. The physical box has 4GB of RAM, of which 1.5GB has been allocated to the VM. However, I’ve never seen it use more than about 700MB across both.

      Yes, the VM does have access to the file system of the host. You need to set this up, but you just do it from the VM’s settings.

  6. Does This require VMWare Server or will Player work?

    • Should do – the vmware-unity-helper command is there on my install of Player.

Leave a Reply

Site last updated October 20, 2012 @ 12:53 pm; This content last updated September 12, 2012 @ 3:16 am