How-To
Using VMware Horizon 7 Direct Connect
How to connect directly to a virtual desktop.
Horizon 7 includes Blast Extreme, a new remote display protocol. Blast Extreme is an interesting new feature, touted by VMware as being comparable to PCoIP. In order to work with the protocol, and write my article on Blast Extreme, I needed to connect to a virtual desktop running the Horizon View 7 agent from a Horizon 4 client.
I was doing work with my Horizon 6.2 environment, which I wouldn’t be able to upgrade for a few weeks. In order to connect to my View 7 desktop without setting up a Horizon View 7 Connection Server, I used View Direct Connect Agent Plugin, which comes with Horizon View. Seeing how very few people are familiar with Direct Connect, I thought I'd give an overview of what it is, how to set it up and how to use it.
The View Direct Connect Plugin was first released with View 5.3. By using this plugin, an end user can connect directly to a virtual desktop using PCoIP, RDP or Blast Extreme without going through a View Connection server. All the features of the display protocol, such as USB redirection, function when connecting with Direct Connect.
Figure 1 shows a connection to virtual desktop using the View Connection server. Figure 2 shows a connection to a virtual desktop with the Direct Connect plugin. It's very important to note that when using Direct Connect, end users will lose features that the Connection Server provides, including the automatic provisioning of desktops, single pane management of desktops and users, single sign-on (SSO), desktop pool assignment of users, and other benefits that a full View environment provides. What Direct Connect does provide is the ability to connect to a virtual desktop using various protocols, without having to set up an entire View environment.
Installation
To use Horizon 7 Direct Connection, you'll need to download the following packages from VMware:
- Horizon 7 Agent
- Horizon 7 Agent Direct Connection
- Horizon 4 HTML Access Direct Connection
You can select either 32- or 64-bit versions of these packages; be sure that you select the correct packages for the virtual desktop on which they'll be installed. The link to these packages is here. If you don't have a Horizon license, you can download these packages under a 60-day trial license.
To test the Direct Connect Plugin, I created a 32-bit Windows 7 Professional virtual machine (VM) with 2 vCPU, 3GB RAM and 128MB video memory with 3D graphics enabled. I ran it on a Dell PowerEdge R610 ESXi 6.0U2 host, using a local datastore backed by a Micron M500DC 2.5" SSD drive.
As my vCenter server was temporarily down, I used the new Web-based VMware Host Client rather than the vSphere native client to access my ESXi host directly.
Once my VM booted, I installed VMware tools and the Horizon agent on it. I installed the View agent from the command line: Â
VMware-viewagent-y.y.y-xxxxxx.exe /v VDM_SKIP_BROKER_REGISTRATION=1
The /v VDM_SKIP_BROKER_REGISTRATION=1 segment was necessary because I wanted to connect to the virtual desktop using HTML in addition to the Horizon client.
While installing the agent, I disabled VMware Horizon View Composer and VMware Horizon 7 Persona Management, and enabled Real-Time Audio-Video, USB Redirection, and Client Drive Redirection. I accepted all other default settings. The VM needed a reboot after installing the View agent.
Next, I installed the Direct Connect Plugin, which allows you to configure the port to listen for HTTPS connections (the default port is 443); the firewall can also be configured automatically. A reboot isn't required after installing the plugin. I opted to wait to install the HTML access package until after I'd worked with the Horizon client.
Using Direct Connect
To connect to a virtual desktop, you'll need to download the Horizon 4 client for the end point device to which you'll be connecting. The Horizon client software can be
downloaded here. There are clients for Windows, Mac, Linux, iOS and Android. In this example, I installed the Windows Horizon client.
The Windows Horizon client is supported on Windows 10, 8, 8.1 and 7. When installing the client, you must specify whether to use IPV4 or IPV6. The install wizard also allows you to select whether or not USB redirection and logging in as the current user is allowed (see Figure 3). A dialog appears that allows you to enter a default Horizon connection server; I left this field blank as I will be using Direct Connect to access my virtual desktop. The installation of the client took less than a minute, but did require a reboot of my Dell Ultrabook, which is running Windows 8.1.
After the reboot, I was able to bring up the Horizon client and enter the IP address of the virtual desktop on in the Horizon client. After clicking "Connect," I was able to enter the user name and password in a dialog box (see Figure 4), after which I was presented with a remote display of my virtual desktop.
A warning: the Horizon client took over both my laptop screen and secondary monitor, and only displayed a 1024 x 768 screen. The ability to change the resolution of my virtual desktop was completely locked (see Figure 5).
After logging off the virtual desktop and going back to the client, I found that it doesn't allow  the user to select the screen resolution, the monitor(s) to use, or protocol (PCoIP, Blast, or RDP) to connect with. These are all options I would have had from the Horizon client if I'd been using the View Connection Server. Fortunately, VMware does offer a workaround to this by using the command line.
The Windows Horizon client is instantiated from a program called vmware-view.exe, and by specifying certain parameters it enables the user to set the connecting protocol, screen resolution and so on. The complete list of parameters is in the "Using VMware Horizon Client for Windows" document; another method is to type this command:
vmware-view.exe –hÂ
Here's the command to connect to a virtual desktop with an IP address of 10.0.0.139, using the Blast Extreme protocol and one monitor:
C:\Program Files (x86)\VMware\VMware Horizon View Client>vmware-view.exe --serverURL 10.0.0.139 --desktopProtocol Blast --DesktopLayout fullscreen
This command presented me with a single screen using the Blast Extreme protocol to my virtual desktop. Once the horizon client connected to my virtual desktop, it could be resized and dragged easily from one monitor to another.
I also validated that the command line could be used to specify that the PCoIP and RDP protocol could be used.
Accessing a Desktop Via HTML
Direct Connect can also be used to access virtual desktops via an HTML5 Web browser, if the HTML access package is installed on the virtual desktop. The HTML package is closely coupled to the agent, and as such will have the same version number (4) as the Horizon client.
This document details the 10-step process of installing it on a virtual desktop. It also specifies which client systems and Web browsers are supported. Note that HTML Access only supports using the Blast Extreme protocol.
I was pleasantly surprised with the responsiveness of my desktop running in a browser. I tested it on my Dell Ultrabook using Chrome, Firefox, Opera and IE. I also tested it on my MacBook Pro using Chrome, and on my Samsung Galaxy tablet, also using Chrome.
It's a Blast
Direct Connect was easy to set up, and allowed me to access my virtual desktop using any of the protocols supported by View. I did have to use the command line to select the protocol I wanted to use, but that was a minor nuisance. Although Direct Connect is far from being a replacement for a complete View environment, it did allow me to work with the new Blast Extreme protocol using the Horizon Client and my browser.
About the Author
Tom Fenton has a wealth of hands-on IT experience gained over the past 30 years in a variety of technologies, with the past 20 years focusing on virtualization and storage. He previously worked as a Technical Marketing Manager for ControlUp. He also previously worked at VMware in Staff and Senior level positions. He has also worked as a Senior Validation Engineer with The Taneja Group, where he headed the Validation Service Lab and was instrumental in starting up its vSphere Virtual Volumes practice. He's on X @vDoppler.