Deploying Linux desktops involve several steps. If you plan to deploy more than a few desktops, you can automate some of the steps by using PowerCLI scripts.

For some operations, you can choose to have either PowerCLI or SSH execute the commands on the Linux machine. The following table describes the differences between the two approaches.

PowerCLI

SSH

No need to install additional tools.

  • For Ubuntu, you need to install the SSH server with the command sudo apt-get install openssh-server. For RHEL and CentOS, openssh-server is installed by default but you need to ensure that the firewall settings allow ssh.

  • Need to download the SSH client applications pscp.exe and plink.exe and put them in the same folder as the PowerCLI scripts.

Uploading files and command execution are slower.

Uploading files and command execution are faster.

Need to supply the ESXi host's administrator credentials.

No need to supply the ESXi host's administrator credentials.

Cannot handle special characters in the administrator's password when running the script to install View Agent or the AD user's password when running the script to join the domain.

Can handle special characters in the administrator's password when running the script to install View Agent or the AD user's password when running the script to join the domain.

Note:

Both PowerCLI-based and SSH-based scripts can handle special characters in the passwords for the vCenter Server administrator and the Linux administrator. PowerCLI-based scripts can also handle special characters in the ESXi host administrator's password. In all these cases, an escape character is not necessary.

For more information about vSphere PowerCLI, see https://www.vmware.com/support/developer/PowerCLI.

The process of bulk deploying a pool of Linux desktops involves the following steps:

  1. Create a virtual machine template.

    See Create a Virtual Machine Template for Cloning Linux Desktop Machines.

  2. Create a guest customization specification.

    See "Create a Customization Specification for Linux in the vSphere Web Client" in the vSphere Virtual Machine Administration document. When you create the specification, make sure that you specify the following settings correctly.

    Setting

    Value

    Target Virtual Machine OS

    Linux

    Computer Name

    Use the virtual machine name.

    Domain

    Specify the domain of the View environment.

    Network Settings

    Use standard network settings.

    Primary DNS

    Specify a valid address.

  3. Clone virtual machines.

    See Sample Script to Clone Linux Virtual Machines.

  4. Join the cloned VMs to the Active Directory (AD) domain.

    See Sample Script to Join Cloned Virtual Machines to AD Domain or Sample Script to Join Cloned Virtual Machines to AD Domain Using SSH.

  5. Install View Agent in virtual machines.

    See Sample Script to Install View Agent on Linux Virtual Machines or Sample Script to Install View Agent on Linux Virtual Machines Using SSH.

  6. Update configuration options in virtual machines.

    See Sample Script to Upload Configuration Files to Linux Virtual Machines or Sample Script to Upload Configuration Files to Linux Virtual Machines Using SSH.

  7. Create a desktop pool.

    See Create a Desktop Pool That Contains Linux Virtual Machines.

Occasionally, you might need to upgrade View Agent on the Linux virtual machines. For a sample script to upgrade View Agent on virtual machines, see Sample Script to Upgrade View Agent on Linux Desktop Machines or Sample Script to Upgrade View Agent on Linux Virtual Machines Using SSH.

For a sample script that performs operations such as powering on, shutting down, restarting, or deleting virtual machines, see Sample Script to Perform Operations on Linux Virtual Machines. This script can delete virtual machines from vCenter Server. To delete desktop machines from View, see Sample Script to Delete Machines from the Connection Server LDAP Database.