vmware-logo

So you’ve got VMware Horizon View client running in your environment.  Things are good.  Maybe now you’re tired of paying for two Windows licenses, one for the physical desktop, one for the virtual desktop.  Maybe you have a bunch of old equipment hanging around that could be used as a dumb terminal.  Or maybe you’re just not ready to drop a ton of money on thin/zero clients.  Hopefully that covers the majority of it.

Enter Ubuntu.  It’s free and it runs on almost any hardware.  It even has a View client that can be installed automatically via APT (or the Software Center).  So what’s the problem?  A big problem for a client I recently had was that there was no USB pass-through support.  The only officially sanctioned way to get USB support in Linux is to buy a thin/zero client from a third party who has created (and supports) their own USB implementation.  Of course, there is a way around that, which I’m about to show you.

This obviously assumes that Ubuntu is already installed.  To make things easy, make sure to use the x86 version.  We need libssl0.9.8 and a couple other items that are only available in x86.  It’s just easier, trust me.

The following files are needed:

hptc-manticore_3.2.1_i386.deb

hptc-rdesktop_1.6.0-1.35_i386.deb

vmware-horizon-view-client_2.3.0-_i386.deb

They can be downloaded directly from HP’s website, but require some adjusting.  The View 2.3 Client .deb has a requirement for hptc-sudo-edit.  It’s required for their zero client, but it’s not needed in Ubuntu.  I have modified the .deb package to remove the requirement, so either make the edit or download the version at the end of this post.  Let’s begin:

1. Start by adding the partner and universe repos into Ubuntu with the following commands:

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update

2. Next, install libssl 0.9.8:

sudo apt-get install libssl0.9.8

3. Install the manticore .deb file:

sudo dpkg -i hptc-manticore_3.2.1_i386.deb

4. Install the rdesktop .deb file:

sudo dpkg -i hptc-rdesktop_1.6.0-1.35_i386.deb

5. Install the modified View client:

sudo dpkg -i vmware-horizon-view-client_2.3.0-_i386-modified.deb

6. Create a symlink for libudev:

sudo ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

7.  Create or edit the VMware config file to add USB support:

sudo nano /etc/vmware/config

Add the following to the file:  viewusb.InculdeFamily= "storage"

8. Start the USB arbritrator:

sudo /usr/lib/vmware/vmware-usbarbitrator -f --trivia

9. Start the USB daemon:

sudo /usr/lib/vmware-view-usbd -o log:trace

10. And finally, start the View client:

vmware-view

That’s it.  Ten easy steps and the View client should have the ability to pass through a USB storage device.  Once it’s confirmed working, just add steps 8, 9, and 10 to a start-up script and that should do it.

Here are the required files:

hptc-manticore_3.2.1_i386.deb

hptc-rdesktop_1.6.0-1.35_i386.deb

vmware-horizon-view-client_2.3.0-_i386-modified.deb

This post originally appeared on stegsolutions.com.  Need help with your virtualization project?  Let us help.  Contact zac@stegsolutions.com for more information.