This tutorial shows how to create a virtual Linux workstation running Ubuntu 22.04 with a virtual display. A virtual display device is useful when applications on your virtual machine (VM) instances require a display device, but don't require the full power or cost of a GPU.
For information about other types of virtual workstations, including Windows, see About creating a virtual workstation.
After you create the virtual workstation, you learn how to remotely access it using HP Anyware (formerly Teradici CAS), using PC-over-IP (PCoIP®) technology, a remote desktop protocol widely used in the media and entertainment, game development, architecture, and engineering industries. PCoIP offers features essential to these types of workloads, such as color accuracy, support for multiple monitors, lossless display, and tablet pressure sensitivity.
This tutorial assumes you are familiar with the Linux command line.
Architecture
The following diagram shows the components that are used in this tutorial to deploy a single virtual workstation. Optional components shown in the diagram include different ways to connect to your virtual workstation, shared storage, an additional VM for serving third-party licenses, and additional infrastructure representing a render or compute farm.
Choose a region
An important factor when you deploy a virtual workstation is the latency between your location and the VM you create. The lower the latency, the better the experience. Therefore, you want to place your VM in a region and zone that's geographically closest to you.
Create the virtual workstation
In Cloud Shell, create the Compute Engine virtual workstation instance:
gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=e2-standard-4 \ --enable-display-device \ --image-project=ubuntu-os-cloud \ --image-family=ubuntu-2204-lts \ --boot-disk-size=20 \ --boot-disk-type=pd-balanced \ --network=default
Replace the following:
VM_NAME
: a name for your VM instance.ZONE
: the zone that's geographically closest to you. An important factor when you deploy a virtual workstation is the latency between your location and the VM you create. The lower the latency, the better the experience. For information about the geographical location of zones, see Available regions and zones.
After the virtual workstation is created, the VM status is displayed. The output looks similar to the following:
NAME: test-workstation ZONE: us-west1-b MACHINE_TYPE: e2-standard-4 PREEMPTIBLE: INTERNAL_IP: 10.138.XX.XXX EXTERNAL_IP: XX.XXX.XXX.XXX STATUS: RUNNING
Note the external IP address, you need it later in the tutorial.
Sign in to your virtual workstation
After you create the virtual workstation, you sign in to the machine so that you can configure it.
Connect to the virtual workstation using the following command:
gcloud compute ssh VM_NAME
Set your account password. Logging into a virtual workstation using the PCoIP software client requires a user password.
sudo passwd `whoami`
When you're prompted, enter a password. You will use this password later in the tutorial to log on to your virtual workstation with the HP Anyware PCoIP Client.
Install the desktop environment
The default Google Cloud Ubuntu 22.04 image is a minimal installation of Ubuntu. Install a desktop environment to run your virtual workstation as a graphical workstation. For this tutorial, you install the KDE Plasma Desktop.
Update the software repositories by running the following command:
sudo apt update
Install the desktop environment:
sudo apt -y install kubuntu-desktop
Reboot the workstation:
sudo reboot
Your connection to the virtual workstation closes.
Install HP Anyware software
HP Anyware software provides an agent that runs on your virtual workstation, delivering the desktop to your hardware or software client.
When the virtual workstation has restarted, in Cloud Shell, reconnect to the virtual workstation:
gcloud compute ssh VM_NAME
Add the Teradici software repository:
curl -1sLf \ https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.deb.sh \ | sudo -E distro=ubuntu codename=jammy bash
Replace the following:
TOKEN
is the download token you can retrieve from the HP Anyware Standard Agent for Linux page under Downloads and scripts.
Update the software repositories:
sudo apt update
Optional: Install USB dependencies, if you need to support USB devices other than keyboards, mice, and pointer devices.
sudo apt -y install usb-vhci-dkms
Install the HP Anyware software:
sudo apt -y install pcoip-agent-standard
Register the Anyware Standard Agent
To use the Anyware Standard Agent, you must have an HP Anyware license.
In Cloud Shell, activate your HP Anyware software license:
pcoip-register-host --registration-code=REGISTRATION-CODE
Replace
REGISTRATION-CODE
with the code provided to you by HP Teradici in the formABCDEFGHIJKL@0123-4567-89AB-CDEF
.Reboot the virtual workstation:
sudo reboot
Create a firewall rule
The PCoIP client communicates with your virtual workstation using several ports. You must set firewall rules that allow traffic to your virtual workstation.
In Cloud Shell (not on the virtual workstation), create a firewall rule that opens the required ports:
gcloud compute firewall-rules create allow-pcoip \ --action=ALLOW \ --rules=tcp:443,tcp:4172,udp:4172 \ --source-ranges=0.0.0.0/0
Sign in to your virtual workstation using the PCoIP client
On your local computer, go to the PCoIP Clients section on the HP Anyware support page, and then download, install, and launch the PCoIP Software Client application for your operating system.
In the Host Address or Registration Code field, enter the external IP address of your virtual workstation. If you want, you can enter a name for the connection.
When you are connected, authenticate by entering the username and password that you created earlier for the virtual workstation.
In a few seconds, your Linux desktop appears.
Test your virtual workstation
After you've deployed your virtual workstation, you can test performance and interactivity using a number of tools:
- Use Google Chrome to browse your favorite sites or play YouTube videos.
- Learn more about the PCoIP Standard Agent for Linux.
- Install applications and test their behavior and performance.
You can also learn more about PCoIP performance optimization based on your workload.