6.2
Table Of Contents
- Setting Up Horizon 6 for Linux Desktops
- Contents
- Setting Up Horizon 6 for Linux Desktops
- Installing and Configuring Horizon 6 for Linux Desktops
- Features of a Horizon 6 for Linux Desktop
- Overview of Configuration Steps for Horizon 6 for Linux Desktops
- System Requirements for Horizon 6 for Linux
- Create a Virtual Machine and Install Linux
- Prepare a Linux Guest Operating System for Remote Desktop Deployment
- Install View Agent on a Linux Virtual Machine
- Create a Desktop Pool That Contains Linux Virtual Machines
- Upgrade View Agent on a Linux Virtual Machine
- Configuring Linux Machines for 3D Graphics
- Bulk Deployment of Horizon 6 for Linux Desktops
- Overview of Bulk Deployment of Linux Desktops
- Create a Virtual Machine Template for Cloning Linux Desktop Machines
- Input File for the Sample PowerCLI Scripts to Deploy Linux Desktops
- Sample PowerCLI Script to Clone Linux Desktop Machines
- Sample PowerCLI Script to Install View Agent on Linux Desktops
- Sample PowerCLI Script to Upgrade View Agent on Linux Desktop Machines
- Sample PowerCLI Script to Perform Operations on Linux Desktop Machines
- Sample PowerShell Script to Delete Machines from the Connection Server LDAP Database
- Administering Horizon 6 for Linux Desktops
- Uninstalling and Reinstalling Horizon 6 for Linux Machines
- Configure Lossless PNG Images on Linux Desktops
- Suppress the vSphere Console Display of a Linux Desktop
- Configure a Left-handed Mouse on Ubuntu Desktops
- How to Perform Power Operations on Linux Desktops from vSphere
- Gather Information About Horizon 6 for Linux Software
- Troubleshooting Horizon 6 for Linux
- Collect Diagnostic Information for a Horizon 6 for Linux Machine
- Troubleshooting View Agent Registration Failure for a Linux Machine
- Troubleshooting an Unreachable View Agent on a Linux Machine
- Troubleshooting View Agent on a Linux Machine That Is Not Responding
- Configuring the Linux Firewall to Allow Incoming TCP Connections
- Index
if($VMExists -eq $lvm.Name )
{
$Exists = $true
}
}
return $Exists
}
function Disable_VM_Console()
{
Param($VMToDisableConsole)
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$extra = New-Object VMware.Vim.optionvalue
$extra.Key="RemoteDisplay.maxConnections"
$extra.Value="0"
$vmConfigSpec.extraconfig += $extra
$vm = Get-VM $VMToDisableConsole | Get-View
$vm.ReconfigVM($vmConfigSpec)
}
function Delete_VM()
{
Param($VMToDelete)
Write-Host "Deleting VM $VMToDelete"
Get-VM $VMToDelete | where { $_.PowerState –eq "PoweredOn" } | Stop-VM –confirm:$false
Get-VM $VMToDelete | Remove-VM –DeleteFromDisk –confirm:$false
}
#------------------------- Main Script -------------------------
$vcAddress = Read-Host 'Your vCenter address'
$vcAdmin = Read-Host 'Your vCenter admin user name'
$vcPassword = Read-Host 'Your vCenter admin user password' -AsSecureString
$vcPassword =
[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStrin
gToBSTR($vcPassword))
$cloneType = Read-Host 'Clone Type ("linked" or "full") '
$disableVMConsole = Read-Host 'Disable vSphere VM Console ("yes" or "no", recommend "yes") '
$csvFile = '.\CloneVMs.csv'
# Check that user passed only linked or full clone
if (($CloneType.length >0) -and ($CloneType -ne "linked" -or $CloneType -ne "full"))
{
write-host -ForeGroundColor Red "Clone type supports only 'linked' or 'full' (case
sensitive)"
exit
}
if (($disableVMConsole.length >0) -and ($disableVMConsole -ne "yes" -or $disableVMConsole -ne
"no"))
{
write-host -ForeGroundColor Red "Disable vSphere VM Console supports only 'yes' or 'no'
(case sensitive)"
exit
}
#check if file exists
if (!(Test-Path $csvFile))
Chapter 3 Bulk Deployment of Horizon 6 for Linux Desktops
VMware, Inc. 37