
VMware View Client with PCoIP support and USB forwarding on Linux
As you may have guessed from the topic of the post, today we will focus on installing VMware View Client (not VMware View Open Client) with PCoIP support and USB forwarding support on Linux. I would immediately like to warn that this decision is not official; moreover, I don’t know how legal it is, because it uses HP binary packages that are officially designed for HP ThinPro thin clients . And so, I ask everyone under the cat.
So, we have installed and configured vCenter, one or several ESXi servers, VMware View Connection Server (more about this can be found here or here , well, or here) As client workstations, I have several old PCs (Celeron 1.7 / 128MB / 20Gb / 100Mbit) with the Debian 6.0.3 i386 OS (although you can use any Linux, but it is preferable to use Debian-like distributions) in a minimal installation. I suspect that you can use older PCs (run in a virtual machine with a processor frequency limit of 400Mhz and 64Mb RAM, but the performance of modern server hardware with physical 7-10 years ago is not possible), but I didn’t have such for the experiment.
So, let's start setting up the client workstation. To begin, install Debian 6.0.3 in the minimum configuration at the last stage, choosing in addition to the standard system utilities only the ssh server (for remote control of the workstation). Next, we put the “X” and additional dependencies of VMware View Client:
And now we proceed to install the client itself. Download the necessary packages from the ftp server HP:
Unfortunately, at the moment there are no packages for the 5th version, but the client version 4.6 can freely work with the server of the 5th version, with the exception of new features that are available in VMware View Client 5.0. I think you noticed that the hptc-rdesktop package is not downloaded from the directory in which the other files are located, although it is there, and even a newer version. The fact is that the new version is compiled with support for the libao2 library, but only the libao4 is available in the Debian Squeezze repository. libao2 is available on Debian Lenny. If your distribution has libao2, you can use the more recent hptc-rdesktop package .
We install them in the following sequence: We create a symlink for the USB forwarding to work correctly: And we try to start the client with the following command:

If the launch occurred without errors, you can open the first bottle of beer.
Now you need to bring all this stuff into a form that is digestible for the end user. In the process of installing the OS, a view user was created under which VMware View Client will be launched. To begin, configure the automatic launch of the "X" when the system boots under user view. To do this, edit the rc.local file by adding the following line before the final line exit 0:
Reboot to make sure that the Xs started successfully. If everything is ok, the last step is to configure VMware View Client to automatically start when the Xs start and turn off the PC after it closes. To do this, create a .xinitrc file in the user's home directory with the following contents:
Create a vmwareview.sh script:
And we edit the sudoers file, allowing the view user to turn off the PC:
Once again, we reboot and make sure that everything works as planned. Open the second bottle of beer.
That’s probably all. In this article, I considered only the basic configuration of the client PC OS to run VMware View Client under Linux, but it is enough for comfortable work.
PS The sphere of application of such a scheme can be a test implementation of VDI based on VMware View without purchasing additional equipment (thin clients), educational use (studying VMware View), etc.
So, we have installed and configured vCenter, one or several ESXi servers, VMware View Connection Server (more about this can be found here or here , well, or here) As client workstations, I have several old PCs (Celeron 1.7 / 128MB / 20Gb / 100Mbit) with the Debian 6.0.3 i386 OS (although you can use any Linux, but it is preferable to use Debian-like distributions) in a minimal installation. I suspect that you can use older PCs (run in a virtual machine with a processor frequency limit of 400Mhz and 64Mb RAM, but the performance of modern server hardware with physical 7-10 years ago is not possible), but I didn’t have such for the experiment.
So, let's start setting up the client workstation. To begin, install Debian 6.0.3 in the minimum configuration at the last stage, choosing in addition to the standard system utilities only the ssh server (for remote control of the workstation). Next, we put the “X” and additional dependencies of VMware View Client:
root@viewclient:~# aptitude install xinit libqtgui4 libcurl3 libpcsclite1 libsamplerate0 libasound2 libgtk2.0-0 sudo
And now we proceed to install the client itself. Download the necessary packages from the ftp server HP:
root@viewclient:~# wget ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/hptc-manticore_3.2.1_i386.deb
root@viewclient:~# wget ftp.hp.com/pub/tcdebian/pool/thinpro32/main/hptc-rdesktop_1.6.0-1.35_i386.deb
root@viewclient:~# wget ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/hptc-sudo-edit_0.1_i386.deb
root@viewclient:~# wget ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/vmware-view-client_4.6.0-366101-2_i386.deb
Unfortunately, at the moment there are no packages for the 5th version, but the client version 4.6 can freely work with the server of the 5th version, with the exception of new features that are available in VMware View Client 5.0. I think you noticed that the hptc-rdesktop package is not downloaded from the directory in which the other files are located, although it is there, and even a newer version. The fact is that the new version is compiled with support for the libao2 library, but only the libao4 is available in the Debian Squeezze repository. libao2 is available on Debian Lenny. If your distribution has libao2, you can use the more recent hptc-rdesktop package .
We install them in the following sequence: We create a symlink for the USB forwarding to work correctly: And we try to start the client with the following command:
root@viewclient:~# dpkg -i hptc-manticore_3.2.1_i386.deb
root@viewclient:~# dpkg -i hptc-rdesktop_1.6.0-1.35_i386.deb
root@viewclient:~# dpkg -i hptc-sudo-edit_0.1_i386.deb
root@viewclient:~# dpkg -i vmware-view-client_4.6.0-366101-2_i386.deb
root@viewclient:~# ln -s /usr/lib/vmware/vmware-view-usb /etc/vmware/usb.link
root@viewclient:~# vmware-view

If the launch occurred without errors, you can open the first bottle of beer.
Now you need to bring all this stuff into a form that is digestible for the end user. In the process of installing the OS, a view user was created under which VMware View Client will be launched. To begin, configure the automatic launch of the "X" when the system boots under user view. To do this, edit the rc.local file by adding the following line before the final line exit 0:
su - view -c startx
Reboot to make sure that the Xs started successfully. If everything is ok, the last step is to configure VMware View Client to automatically start when the Xs start and turn off the PC after it closes. To do this, create a .xinitrc file in the user's home directory with the following contents:
. /usr/local/bin/vmwareview.sh
Create a vmwareview.sh script:
#!/bin/sh
/usr/bin/vmware-view && sudo /sbin/shutdown -hP now
And we edit the sudoers file, allowing the view user to turn off the PC:
view ALL = NOPASSWD: /sbin/shutdown -hP now
Once again, we reboot and make sure that everything works as planned. Open the second bottle of beer.
That’s probably all. In this article, I considered only the basic configuration of the client PC OS to run VMware View Client under Linux, but it is enough for comfortable work.
PS The sphere of application of such a scheme can be a test implementation of VDI based on VMware View without purchasing additional equipment (thin clients), educational use (studying VMware View), etc.