9.6. Desktops and Pools

9.6.1. How Do I Make a Desktop Available to a User at All Times?
9.6.2. Starting a Desktop Fails With "No suitable Hosts to Start a Desktop for Desktop Provider <Name>" Errors
9.6.3. What Is the Difference Between Personal and Flexible Desktop Assignments?
9.6.4. Oracle VDI Fast Preparation Is Failing
9.6.5. Can I Use Wild Cards in Token Names to Represent a Group of Thin Clients in Order to Assign These Thin Clients to a Pool?
9.6.6. The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I Do?
9.6.7. Audio Does Not Play After Changing the Audio Configuration for Oracle VM VirtualBox Hosted Desktops in Oracle VDI Manager
9.6.8. How Do I Specify USB Redirection for Sun Ray Clients?
9.6.9. USB Devices Are Not Detected
9.6.10. What Are the Differences Between MS-RDP and VRDP?
9.6.11. Cloning Fails if the Sysprep Timezone Setting Does not Match the Host Timezone
9.6.12. Checking the VirtualBox Guest Additions Version
9.6.13. Starting A Desktop Fails With an "Error Getting State" Message

9.6.1. How Do I Make a Desktop Available to a User at All Times?

Make sure the user's desktop has a personal assignment instead of a flexible assignment. For more about desktop assignment types, see Section 9.6.3, “What Is the Difference Between Personal and Flexible Desktop Assignments?”.

9.6.2. Starting a Desktop Fails With "No suitable Hosts to Start a Desktop for Desktop Provider <Name>" Errors

The error 'No suitable hosts to start a desktop for Desktop Provider <ProviderName>.' indicates that there were no hosts with sufficient memory in your desktop provider.

Check the available memory on your hosts using Oracle VDI Manager under the Desktop Provider > Hosts tab.

9.6.3. What Is the Difference Between Personal and Flexible Desktop Assignments?

  • Personal Assignment: Like physical computers assigned to users, desktops that are personally (or statically) assigned are owned by these users and are never recycled or available for other users unless an administrator explicitly removes the assignment and re-assigns a desktop to a different user.

  • Flexible Assignment: Desktops that are flexibly (or dynamically) assigned are owned by users only temporarily. Once users log out of their desktops or their desktops are no longer in use, the desktops are recycled and become available for other users. As part of the recycle process, the desktop assignment is removed.

Personal assignments are created when you select a specific desktop in the Oracle VDI Admin GUI and assign it explicitly to a user.

If you assign a user (or a group of users) to a pool, the desktop assignments are created on demand the first time the user requests a desktop (or connects to a desktop). The type of assignment (personal or flexible) depends on the pool settings. You can configure this individually for each pool on the Pool - Settings subcategory (see the Desktop Assignment section).

In addition to the assignment type, you can also specify how each pool is filled with desktops. Here you have the choice to manually import desktops, or to clone desktops automatically from a specified template (see the Cloning subcategory).

When you create a new pool, we provide default settings for the assignment and cloning configurations. For convenience, the pool wizard offer "Manual", "Dynamic", and "Growing" pool types which only differ in their default settings. You can change the pool settings at any point. The pool type is not stored anywhere - it just defines the initial pool settings and is offered as a shortcut. The main differences in the pool types are as follows:

  • Dynamic pool: Desktops are cloned from a template. Flexible desktop assignment is the default.

  • Growing pool: Desktops are cloned from a template. Personal desktop assignment is the default.

  • Manual pool: Cloning disabled (you have to manually fill this pool via importing desktops). Personal desktop assignment is the default.

Recycling of desktops will only happen for flexibly assigned desktops. This is independent from the desktop provider.

9.6.4. Oracle VDI Fast Preparation Is Failing

FastPrep can fail for numerous reasons, but the most common are networking and user permissions. Always ensure that your template (and clones) can correctly resolve the domain name used. Also ensure that the domain and desktop administrators provided have the appropriate permissions.

In the event that FastPrep fails a Windows system error code is usually returned. These error codes can be checked on MSDN:

http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx

Some examples are:

1326 = Logon failure: unknown user name or bad password.

- Check your domain administrator and password

1355 = The specified domain either does not exist or could not be contacted.

- Verify the spelling of your domain and ensure the desktop can resolve the domain name. This is typically caused by incorrect DNS settings. If using Oracle VM VirtualBox NAT networking, ensure the host has the correct DNS server in /etc/resolv.conf.

9.6.5. Can I Use Wild Cards in Token Names to Represent a Group of Thin Clients in Order to Assign These Thin Clients to a Pool?

No, but Oracle VDI defines two special tokens to assign all Sun Ray Clients or all Smart Cards to a pool.

AnySunRayClient.000 is a predefined token to assign all Sun Ray Clients (Sun Ray hardware and Oracle Virtual Desktop Client) together to a pool. The user will get a desktop from the pool if the Sun Ray Client is used without a Smart Card.

AnySmartCard.000 is a predefined token to assign all Smart Cards to a pool. The user will get a desktop from the pool if the Sun Ray Client is used with a Smart Card.

Alternatively, you can create tokens in bulk and have them associated to users by using the Oracle VDI CLI as described in Section 5.8.3, “How to Assign Tokens to Users”. Then you can make pool assignments based on existing groups of users in your user directory, or groups you would define especially for Oracle VDI installations using Custom Groups.

9.6.6. The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I Do?

The alsa driver in the guest desktop tries to autodetect the ac97 hardware clock. This method does not work with Oracle VM VirtualBox ac97 emulation. Sometimes the driver gets results which look sane but are actually not, and calculates the clock frequency based on that, getting a wrong value. The ac97_clock option in alsa_base.conf disables autodetection.

To disable the autodetection:

  1. Run the following in the command line of the Ubuntu desktop.

    # sudo gedit /etc/modprobe.d/alsa-base.conf
  2. Add following line to the end of the alsa-base.conf file.

    options snd-intel8x0 ac97_clock=48000
  3. Restart the desktop.

9.6.7. Audio Does Not Play After Changing the Audio Configuration for Oracle VM VirtualBox Hosted Desktops in Oracle VDI Manager

If you change a desktop's configuration (for example. audio) from Oracle VDI Manager, the changes will not take effect until the desktop has been unregistered/re-registered on an Oracle VM VirtualBox host. Simply restarting the desktop from within will not result in this behavior. To force the unregister/register, choose either Power Off or Shutdown from Oracle VDI Manager and then choose Start.

9.6.8. How Do I Specify USB Redirection for Sun Ray Clients?

You can adapt the Kiosk session parameters using the Sun Ray Admin GUI. See Section 6.2.1, “About the Oracle VDI Sun Ray Kiosk Session” and Section 6.2.2, “How to Modify the Bundled Sun Ray Kiosk Session” for details. Add the desired drive mapping after any other uttsc specific settings: <specific settings for Desktop Selector> - <any other uttsc specific settings> -r disk:<drive name>=<path>

9.6.9. USB Devices Are Not Detected

Section 5.1.4, “How to Enable USB Redirection” has details of how to configure support for USB devices. If USB devices are not detected in a desktop, follow these steps:

  • Check that USB redirection is enabled in the pool.

  • Check that the client supports USB redirection.

    See Section 6.1, “About Desktop Access” for a list of features supported by each client.

  • Check that Sun Ray Clients are using the latest firmware.

    For instructions on how to update Sun Ray Client firmware, see Sun Ray Client Firmware in the Sun Ray Software 5.3 Administration Guide.

  • If the USB device is a USB 2.0 device, check that a USB 2.0 (EHCI) controller is configured in the desktop or template and is enabled in the virtual machine.

  • If MS-RDP is the selected RDP protocol for the pool, ensure the USB redirection component of the Sun Ray Windows connector is installed in the desktop or template.

  • For VMware vCenter or Microsoft Hyper-V desktop providers, check that USB drivers are installed in the template or desktop.

  • For Oracle VDI Hypervisor desktop providers:

9.6.10. What Are the Differences Between MS-RDP and VRDP?

For more detailed information about the differences, refer to the Section 5.1.7, “Choosing Between VRDP and MS-RDP”.

9.6.11. Cloning Fails if the Sysprep Timezone Setting Does not Match the Host Timezone

The Sysprep process removes a template's timezone setting before cloning and uses the default Sysprep setting (GMT) instead. If the virtualization host is in a different timezone than GMT, the mismatch causes cloning to fail. The workaround for this issue is:

  1. Disable cloning in the pool's Cloning tab.

  2. Click Edit in the System Preparation section of the Cloning tab.

  3. In the Edit System Preparation window, change the TimeZone setting from 85 to the appropriate code for your timezone.

    For example, the timezone code for India Standard Time is 190.

  4. Click Save.

  5. Enable cloning in the pool and check if the problem is still reproducible.

9.6.12. Checking the VirtualBox Guest Additions Version

When troubleshooting problems with desktops, it is worth checking the version of Oracle VM VirtualBox guest additions installed in a desktop. The guest additions version can be checked in Oracle VDI Manager and on the command line, but only while the desktop or template is running.

In Oracle VDI Manager:

  1. Go to Pools and select a pool.

  2. Go to the Desktops or Templates tab and select a desktop or template.

  3. Click the Virtual Machine link.

    The guest additions version is shown on this page.

On the command line:

  • Use the vda desktop-show <desktop> command to display the guest additions version for a desktop.

  • Use the vda template-show <template> command to display the guest additions version for a template.

To determine the <desktop> or <template>, see Section 5.8.7, “Obtaining the ID of a Desktop or Template”.

9.6.13. Starting A Desktop Fails With an "Error Getting State" Message

It can occur that a desktop fails to start, and the following message is shown in the cacao logs:

FINER: thr#7620 THROW com.sun.vda.service.api.ServiceException: Error getting
state for desktop 'Win700000016' on host 'vdi1.example.com'.
        at com.sun.vda.service.vbox.VBDesktop.start(VBDesktop.java:1299)
        at com.sun.vda.service.vbox.VBDesktop.start(VBDesktop.java:1276)
....

The problem is caused by an existing registered virtual machine (VM) that has the same name as the desktop that failed to start, but for some reason the existing VM is inaccessible.

The solution is to unregister the inaccessible VM, as follows:

  1. Log in as the VirtualBox user (typically root) on the VirtualBox host that hosted the failed desktop.

  2. Use the VBoxManage list vms command to list all the registered VMs on the host, for example:

    # VBoxManage list vms
    "Win700000013" {a7aeff15-f6fb-4c10-bbf4-499bb568c551}
    "<inaccessible>" {15a0fdd9-69cb-4de2-b4a9-954633917f82}
    "Win700000008" {405b5579-793b-4e80-9f60-0b2df73ebadc}
    "Win700000019" {c47d23dc-875f-45c3-820d-bf64d013019f}
    

    The output shows lists the VM name in quotes, for example "Win700000013" and the UUID of the VM in curly brackets, for example {a7aeff15-f6fb-4c10-bbf4-499bb568c551}. Inaccessible VMs display <inaccessible> instead of the name, as shown in the example above.

  3. Unregister all inaccessible VMs.

    Use the VBoxManage unregistervm <UUID> command to unregister the VM, for example:

    # VBoxManage unregistervm 15a0fdd9-69cb-4de2-b4a9-954633917f82

After you have deleted the inaccessible VMs, you should be able to start the failed desktop.