This weekend I got chance to deploy the new Workstation Technology Preview 2012 in my lab and specifically play with the new WSX feature, which allows you to access your virtual machines from anywhere with just a browser. Currently WSX is only available for the Linux version of Workstation and is bundled together as part of the installer. I wanted to run WSX in one of my management VMs, and did not want the large disk footprint that came with Workstation. I did some digging and found it was quite easy to extract the WSX bits and run it on another Linux system, and in my case I tried it with vMA.
Disclaimer: This is mainly for educational and testing purposes as this is not officially supported by VMware.
The main prerequisite to install WSX is a Linux system that has Python 2.6 installed. You will still need to perform a full installation of Workstation to extract the WSX components, as recommended you can use the latest Ubuntu image.
Note: If you want to install Workstation Tech Preview in a VM, you may get an error for the version of VMware Tools not being up to date. You can by-pass that by running the following command:
VMWARE_FORCE_INSTALL_IN_VM=yes ./VMware-Workstation-Full-e.x.p-646643.i386.bundle
Step 1 - You will need to create a few directories on the destination system in which you will be copying the WSX files to:
mkdir -p /etc/vmware/wsx
mkdir -p /usr/lib/vmware/{setup,scripts,lib,bin}
mkdir -p /var/lib/vmware/wsx/
Step 2 - You will now copy the following directory/files to destination system using scp:
scp /usr/lib/vmware/bin/vmware-wsx-server *protected email*:/usr/lib/vmware/bin
scp /etc/init.d/vmware-wsx-server *protected email*:/etc/init.d
scp /etc/vmware/bootstrap *protected email*:/etc/vmware
scp -r /usr/lib/vmware/setup *protected email*:/usr/lib/vmware/
scp -r /usr/lib/vmware/scripts *protected email*:/usr/lib/vmware/
scp -r /usr/lib/vmware/lib/python2.6 *protected email*:/usr/lib/vmware/lib
Step 3 - Next you need to re-create the WSX config file which will be stored in /etc/vmware/wsx/config using the following command:
/usr/lib/vmware/lib/python2.6/site-packages/wsx/vmware-wsx-server --generate_config
If you wish to change the default port of 8888, you may edit the file before starting the WSX service.
Step 4 - Finally, you are now ready to start the WSX service by running the following command:
/etc/init.d/vmware-wsx-server start
Note: I ran into an odd issue with the initial login to WSX from the browser, in which I needed to create a secondary account other than the default "vi-admin". You need to login with "vi-admin" first, clear the cookie, so you can login with another user account before you add new servers. This was mainly looking at some of the errors from the logs and performing sqlite dump of WSX db.
Here are a few screenshot of accessing WSX from browser, iPad and iPhone:
The interface was pretty easy to use and it's pretty damn cool to be able to access your desktop from any platform that has a browser! Really looking forward to see where WSX is headed and hopefully it will be available in the future as a standalone installer and also with a logout button 🙂
Pepo says
Great post, another thing that is required is that you can log in directly against a vcenter without local account.
FX says
Thank for the info !
Another hint to achieve installation on a vm : set monitor_control.restrict_backdoor = true in the vmx file in the Ubuntu VM.
My concern which prevents me to use WSX : it doesn't work with ESXi 4.x ! 🙁
Anonymous says
Great post. Tried this out on a clean SLES11 SP1 and Firefox 12, worked fine, although there were a few Python error messages here and there.
I can see this working well for people with access to just the free edition together with some simple scripting.