13.1 Managing Desktop Clients

13.1.1 Client ID Differences Between Oracle Virtual Desktop Clients and Sun Ray Clients
13.1.2 Dynamic Session Resizing
13.1.3 How to List Available Sun Ray Servers
13.1.4 How to List the Available Clients
13.1.5 How to Display Sun Ray Client Information
13.1.6 How to Configure a Client's Location and Information
13.1.7 Audio Output Troubleshooting (Oracle Solaris 10 and Oracle Linux 5)
13.1.8 Audio Output Troubleshooting (Oracle Solaris 11 and Oracle Linux 6)

This section provides the list of common management tasks or feature information for both Sun Ray Clients and Oracle Virtual Desktop Clients. For information specific to the respective clients, see Section 13.2, “Sun Ray Clients” and Section 13.3, “Oracle Virtual Desktop Clients”.

13.1.1 Client ID Differences Between Oracle Virtual Desktop Clients and Sun Ray Clients

If you have existing scripts using the Sun Ray Software commands, or you plan to create scripts, you must be aware of the client ID differences between Oracle Virtual Desktop Clients and Sun Ray Clients.

All clients are represented in the Sun Ray Software administration tools by a client ID, also called CID, terminal CID, or client identifier. A client ID has both a full ID and a short ID version:

  • Full client ID: namespace.id-part

  • Short client ID: id-part

The namespace value is a tag that determines the format of the id-part value. Short client IDs are usually used and accepted because the current namespaces, one for Sun Ray Clients and one for Oracle Virtual Desktop Clients, use different id-part formats. The full client ID is used to help distinguish between these different types of clients more easily.

See Table 13.1, “Oracle Virtual Desktop Client ID Details” for the details of the client ID.

Table 13.1 Oracle Virtual Desktop Client ID Details

Client

namespace Value

id-part Meaning

id-part Format

Sun Ray Client

IEEE802

MAC address of Sun Ray Client

12 hex digits

Oracle Virtual Desktop Client

MD5

MD5 hash of client key

32 hex digits


Note

The client key is part of an Oracle Virtual Desktop Client profile, so every Oracle Virtual Desktop Client profile has its own client ID.

See Table 13.2, “Example Sun Ray Client IDs” and Table 13.3, “Example Oracle Virtual Desktop Client IDs” for examples of client IDs.

Table 13.2 Example Sun Ray Client IDs

Short ID

Full CID

0003badc1b9d

IEEE802.0003badc1b9d

00144f85f52f

IEEE802.00144f85f52f

080020b5ca55

IEEE802.080020b5ca55


Table 13.3 Example Oracle Virtual Desktop Client IDs

Short ID

Full CID

1bd97b44ea9458fac256a7a778a282fe

MD5.1bd97b44ea9458fac256a7a778a282fe

d8b3a4eb29497e0c6fbb0f2a810267f5

MD5.d8b3a4eb29497e0c6fbb0f2a810267f5


13.1.1.1 How to Display Client ID Information

The format of the client ID for an Oracle Virtual Desktop Client is different to the client ID for a Sun Ray Client. See Section 13.1.1, “Client ID Differences Between Oracle Virtual Desktop Clients and Sun Ray Clients” for more information.

To display a Sun Ray Client's short ID, press Stop-N or Ctrl-Pause-N.

You can display an Oracle Virtual Desktop Client's short ID in the following ways:

  • Keyboard - Host-N (By default, Host is the right Ctrl key.)

  • Command - Use the -i or --clientid command option of the ovdc command.

13.1.2 Dynamic Session Resizing

Dynamic session resizing allows the remote desktop to be resized automatically to fit the optimized size of your local desktop client session. When you hotdesk to a session from a different device, or use a client device like a tablet, which can be rotated, the new screen configuration is detected and the session screen dimensions are adapted accordingly.. See Section 13.1.2.1, “Resizing Scenarios” for a list of scenarios when dynamic session resizing is used.

With dynamic session resizing, any change in a desktop client's screen configuration is detected and the remote desktop is automatically changed accordingly. Changes to the desktop client's screen configuration can include the number of monitors, monitor resolutions, monitor orientations, tablet rotation, or screen mode, such as window mode or full screen mode. These changes can happen at any time during a session, for example, even when a tablet changes orientation from landscape to portrait.

To enable dynamic session resizing for Sun Ray sessions, you must use one of the following methods to invoke the -l option of the utscreenresize command, which runs utscreenresize in a session's background:

For Oracle Virtual Desktop Clients, users can also enable or disable this feature on the client side through the configuration settings, and it is enabled by default.

If dynamic session resizing is enabled for a session, all other display resizing operations are ignored, such as the utxconfig -r or xrandr commands. If users want to configure their own specific screen configuration or desktop resolutions, you must disable dynamic session resizing for those users so they can use other commands and tools to manage their screen or desktop configurations. Or, in the case of the GNOME autostart configuration, users can disable it themselves.

Dynamic session resizing is available for all Sun Ray Clients, Oracle Virtual Desktop Client, Oracle Virtual Desktop Client for iPad 1.2 or later, and Oracle Virtual Desktop Client for Android 1.2 or later. Oracle Virtual Desktop Client 3.2 or later is required to provide users an optimal display when resizing the window while in window mode.

Note

Dynamic session resizing will not work if the Xinerama extension is enabled. See Section 12.2.9, “How to Enable and Disable Xinerama” for more details.

13.1.2.1 Resizing Scenarios

Dynamic session resizing will automatically resize the remote desktop in the following situations:

  • Hotdesking from a Sun Ray Client to another Sun Ray Client with a different monitor configuration, monitor resolution, or monitor orientation.

  • Hotdesking from a Sun Ray Client to an Oracle Virtual Desktop Client running on a client computer, and vice versa.

  • Resizing the window while running Oracle Virtual Desktop Client in window mode. The session's display automatically resizes to the new window size. If you reduce the size of a window without desktop session resizing, you must use scroll bars to view the entire display, because the session's display does not automatically resize and is too big to fit in the smaller window.

  • Rotating a tablet from landscape to portrait mode while running the Oracle Virtual Desktop Client application, and vice versa. The remote desktop automatically rotates with the tablet.

13.1.2.2 How to Enable Dynamic Session Resizing Using GNOME Autostart

This procedure shows how to enable dynamic session resizing for all users when their GNOME desktop starts. This method is best for regular Oracle Solaris and Oracle Linux sessions.

  1. Become superuser on the Sun Ray server.

  2. (Sun Ray Clients only) If there are any Sun Ray Clients that have monitors in a non-standard orientation, set the Sun Ray Client's firmware with the valid orientation values (orient1 and orient2) for the connected monitors.

    Use the -e option of the utfwadm command to update the firmware for a specific Sun Ray Client. See Section 13.2.1, “How to Centralize Sun Ray Client Configurations (.parms)” for details.

  3. Add the utscreenresize command with the -s all -l option to the GNOME autostart directory.

    For Oracle Solaris 11, Oracle Linux 6, and Oracle Linux 5

    Add the following file named utscreen.desktop to the /usr/share/gnome/autostart directory.

    [Desktop Entry]
    Type=Application
    Exec=/opt/SUNWut/bin/utscreenresize -s all -l
    Hidden=false
    X-GNOME-Autostart-enabled=true
    Name[en_US]=Sun Ray Session Screen Resize
    Name=Sun Ray Session Screen Resize
    Comment[en_US]=Start utscreenresize on login.
    Comment=Start utscreenresize on login.

    With this file in place, all users will have dynamic session resizing enabled by default. Individual users may disable this feature by choosing System > Preferences > Startup Applications and unchecking the Sun Ray Screen Resize application. The user will have to log out and log in for the change to have effect.

    If dynamic session resizing is not enabled for all users through /usr/share/gnome/autostart, individual users can still enable this feature by creating a Startup Application for the utscreenresize -s all -l command. They can choose System > Preferences > Startup Applications and click Add in the Startup Applications Properties window.

    For Oracle Solaris 10

    To enable dynamic session resizing, individual users must create a Startup Program for the utscreenresize -s all -l command. Click Launch > Preferences > Desktop Preferences > Sessions, click the Startup Programs tab, and click Add.

13.1.2.3 How to Enable Dynamic Session Resizing Using a Session Initialization Script

This procedure shows how to enable dynamic session resizing when the user's session initializes. This method is required for non-regular sessions, such as kiosk sessions.

  1. Become superuser on the Sun Ray server.

  2. (Sun Ray Clients only) If there are any Sun Ray Clients that have monitors in a non-standard orientation, set the Sun Ray Client's firmware with the valid orientation values (orient1 and orient2) for the connected monitors.

    Use the -e option of the utfwadm command to update the firmware for a specific Sun Ray Client. See Section 13.2.1, “How to Centralize Sun Ray Client Configurations (.parms)” for details.

  3. Change directory to the session initialization directory.

    • Oracle Solaris 10:

      # cd /usr/dt/config/Xsession.d
    • Oracle Linux or Oracle Solaris 11:

      # cd /etc/X11/xinit/xinitrc.d
  4. Create the following customized script to enable dynamic session resizing (the script is called 0050.desktopresize.sh in this procedure).

    #!/bin/sh
    
    # Enable dynamic session resizing each time a user hotdesks  
    /opt/SUNWut/bin/utscreenresize -s all -l & 
    Note

    The script name should have the 0050. prefix to make sure it is run at the appropriate time. For Oracle Linux and Oracle Solaris 11, the script name must have the .sh extension, otherwise the script will not get sourced.

  5. Save the script and make the script executable for everyone.

    # chmod 775 0050.desktopresize.sh
    
  6. Start a new session, so the script gets sourced.

13.1.3 How to List Available Sun Ray Servers

  • In a shell window on the client, type the following command:

    % utswitch -l
    

The available Sun Ray servers to the client within the current server group are displayed.

13.1.4 How to List the Available Clients

This procedure describes how to list all the available Sun Ray Clients and Oracle Virtual Desktop Clients on the Sun Ray server.

Command-Line Steps

  1. Become superuser on the Sun Ray server.

  2. Display all the available clients.

    # utdesktop -l
    

Admin GUI Steps

  1. Start the Admin GUI.

  2. Click the Desktop Units tab.

    The list of available clients are displayed. You can use the drop-down menu and Search field to display the specific clients you want to view.

13.1.5 How to Display Sun Ray Client Information

This procedure describes how to view detailed information about registered desktop clients, including their client ID. If you have access to the physical Sun Ray Client, you can press Stop-V or Ctrl-Pause-V to view the client's current information.

Command-Line Steps

  1. Become superuser on the Sun Ray server.

  2. Display information about a client.

    # utdesktop -p clientID
    

    where clientID is the short ID of the client, as described in Section 13.1.1, “Client ID Differences Between Oracle Virtual Desktop Clients and Sun Ray Clients”. You can use the utdesktop -l command to list all the desktop clients and their client IDs.

Admin GUI Steps

Note

To facilitate the searching process, you can use the Admin GUI to edit desktop client properties. Click the DTU Identifier and then click Edit. You can then provide a location or other information.

  1. Start the Admin GUI.

  2. Click the Desktop Units tab.

  3. From the Desktop Units tab, choose the information to display:

    • To display information about a specific desktop client, click on the DTU Identifier (MAC address) or enter a search string in the text field.

    • To display information about a group of desktop clients, select an option from the drop-down menu (All Connected Desktop Units, Token Readers, or Multihead Groups) and/or enter a search string in the text field to narrow your search.

13.1.6 How to Configure a Client's Location and Information

This procedure enables you to add the location and other information about a desktop client. This is useful for various applications like the location awareness feature.

Command-Line Steps

  • Edit the client location and other client information for a Sun Ray Client:

    # utdesktop -e "client_id,location,[other_info]"
    
  • Edit the client location and other client information for a batch of Sun Ray Clients:

    # utdesktop -e -f filename
    

    filename must be a comma-separated format (CSV) file.

  • List the configured client location and other client information for all Sun Ray Clients:

    # utdesktop -l
    

Admin GUI Steps

  1. Click the Desktop Units tab.

  2. Select a client ID to display its Desktop Unit Properties screen.

  3. Click Edit to display the Edit Desktop Unit Properties screen.

  4. Enter a location and other information about the client.

  5. Click Save.

13.1.7 Audio Output Troubleshooting (Oracle Solaris 10 and Oracle Linux 5)

This section provides troubleshooting information for audio output on Sun Ray Clients and Oracle Virtual Desktop Clients running Oracle Solaris 10 or Oracle Linux 5 sessions.

13.1.7.1 Audio Frequencies Used With Applications

A desktop client uses whatever audio frequency an application needs, which enables you to configure application audio requirements to help reduce bandwidth and increase scalability. For example, if a VoIP application requests 8kHz mono, a desktop client will transmit only 8kHz mono.

13.1.7.2 Tracking Audio Sessions

Each time a user logs in to a desktop client, a script automatically assigns the $AUDIODEV environment variable to that session. One utaudio process is assigned to each session. Refer to the utaudio and audio man pages for more information.

13.1.7.3 Audio Device Emulation During Hotdesking

During hotdesking, an emulated audio device follows the user to the new session. The name of the emulated device is carried in the $AUDIODEV environment variable. It is the responsibility of the audio application to inspect $AUDIODEV and direct its output to that device.

The emulated audio devices are created as device nodes in the /tmp/SUNWut/dev/utaudio directory. This directory tree is recreated at boot time.

Note

Do not remove the /tmp/SUNWut/dev/utaudio directory. If you delete this directory, users with utaudio sessions cannot use their audio pseudo device nodes.

13.1.7.4 Problem: Audio is not working

  • Use the Oracle keyboard audio keys and check the volume and mute buttons.

  • Display the Sun Ray session's audio settings:

    $ utsettings
    

    and verify that the audio output is selected properly, for example, for headphones or speakers.

  • Make sure the volume is not muted in your desktop session.

  • Try a set of external speakers plugged into the Sun Ray Client's audio out or headphones port. If that works, the Sun Ray Client might have a broken speaker.

  • To test whether the audio is working, type the following:

    $ cat audiofile > $AUDIODEV
    

    Oracle Solaris provides suitable sample PCM-encoded audio files in /usr/share/audio/samples/au, so for instance this command:

    $ cat /usr/share/audio/samples/au/gong.au > $AUDIODEV
    

    should produce the sound of a gong.

    Linux generally does not provide PCM-encoded audio files. If you can not locate a suitable file then this command can be used to generate a continuous tone:

    $ perl -e 'foreach(-8..8){push(@v,pack("n",4*$_))} while(1){print @v}' > $AUDIODEV
    

    If the cat or perl command hangs, you might need to quit any other applications that are currently trying to play audio, for example, a browser.

13.1.7.5 Problem: Audio is not working with Firefox

  • Check the current release of the Flash plugin and make sure it is at version 9.0.r125 or later. To check the Flash plugin version, type about:plugins as the URL in the browser.

  • Try quitting Firefox and explicitly restart it in a terminal window.

  • If all else fails, quit Firefox, go to your .mozilla directory, and rename the "firefox" directory to something else, for example, firefox.jan09. Then, restart Firefox and see whether the audio works with a completely clean configuration.

    If the audio works with the clean configuration, then something is wrong in your browser's previous configuration.

13.1.7.6 Problem: Audio is not working with latest versions of Firefox or Adobe Flash Player (Oracle Linux 5)

This problem is likely occurring because you are using the latest releases of Firefox or Adobe Flash Player, which provide only ALSA sound support. Oracle Linux 5 provides only OSS sound support. For a workaround to this problem, see Knowledge Article 1464502.1.

13.1.7.7 Problem: An application ignores the $AUDIODEV environment variable

Some applications fail to honor $AUDIODEV and unconditionally use a specific audio device node such as /dev/audio or /dev/dsp. To work around this shortcoming, Sun Ray Software provides a preloadable shared library libc_ut.so that can be used to interpose on an application and redirect its activities to the device specified by $AUDIODEV. To put this redirection into effect:

  1. Navigate to the shell or wrapper from which you started the audio player.

  2. Set the environment variable LD_PRELOAD in the player application's environment to refer to the libc_ut.so interposer:

    $ LD_PRELOAD=libc_ut.so
    $ export LD_PRELOAD
  3. Restart the application.

13.1.7.8 xmms Player Configuration (Oracle Linux)

To configure an xmms player to play mp3 files, perform the following steps:

  1. Change the preferences on xmms output plugin to add more buffering.

  2. Change the buffer size to 10000 ms and the Pre-Buffer percent to 90.

    When you run xmms, from command line or menu, click on the O (letter O) on the left side of the panel to bring up the Preferences menu.

  3. Under the Audio I/O Plugins button, select Output Plugin OSS Driver and click Configure.

  4. Select Buffering.

    1. The default Buffer size is 3000 ms. Change this to 10000 ms.

    2. The default Pre-buffer percent is 25. Change this to 90.

  5. Click OK, then click OK on the Preferences panel.

  6. Exit xmms and restart it.

13.1.8 Audio Output Troubleshooting (Oracle Solaris 11 and Oracle Linux 6)

This section provides troubleshooting information for audio output on Sun Ray Clients and Oracle Virtual Desktop Clients running Oracle Solaris 11 or Oracle Linux 6 sessions.

The PulseAudio sound server is used to provide audio output for desktop client sessions when using these platforms. An instance of utaudio, running in PulseAudio mode, is created for each session to deliver audio from the PulseAudio server.

In this environment, applications do not use $AUDIODEV to send audio to the PulseAudio sound server. $AUDIODEV is applicable only if you need to open an audio device file, such as /dev/audio or /dev/dsp.

13.1.8.1 Additional Notes

Here are some additional notes and restrictions for audio output on Oracle Solaris 11 and Oracle Linux 6.

  • To optimize the shared memory used by PulseAudio, add the following line to the /etc/pulse/client.conf file on the Sun Ray server:

    shm-size-bytes = 131072
    
  • When using Oracle Solaris 11, the Oracle Solaris 10 SADA audio interface is automatically available if needed for compatibility reasons. An additional SADA-specific utaudio process is started for each session. See Section 13.1.7, “Audio Output Troubleshooting (Oracle Solaris 10 and Oracle Linux 5)” for more details.

  • For Oracle Solaris 11, the Adobe Flash Player is a SADA application that uses the $AUDIODEV interface. A device lockout may occur if multiple SADA applications share the same $AUDIODEV. To fix this problem, launch a separate utaudio command for each SADA application.

  • For Oracle Solaris 11 Trusted Extensions, two audio devices should be displayed in the Device Allocation Manager, one for the SADA interface device and another one for PulseAudio. Make sure to allocate both audio devices.

13.1.8.2 Problem: Audio Output is not working (PulseAudio)

  • Use the Oracle keyboard audio keys and check the volume and mute buttons.

  • Display the Sun Ray session's audio settings:

    $ utsettings

    and verify that the audio output is selected properly, for example, for headphones or speakers.

  • Make sure the volume is not muted in your desktop session.

  • Try a set of external speakers plugged into the Sun Ray Client's audio out or headphones port. If that works, the Sun Ray Client might have a broken speaker.

  • Make sure the pulseaudio process is running. If it was not started with the user session, remove the $HOME/.pulse directory, exit the session, and start a session again.

  • Make sure there is a utaudio process running with the -p option to accept streaming from the PulseAudio sound server. If the process does not exist, check the /var/opt/SUNWut/log/messages log file to see if there is any error message from the pulseaudio or utaudio command.

  • If audio does not work when using GStreamer-based programs, such as Totem or Rhythmbox, make sure GStreamer is configured to use PulseAudio by running gstreamer-properties. The PulseAudio Sound Server setting must be selected for both Audio Input and Output.

  • For Oracle Linux 6, make sure ALSA is configured to use PulseAudio. To verify the configuration, make sure the /etc/asound.conf ( server preference) or $HOME/.asoundrc file (user preference) includes the following:

    pcm.pulse {
         type pulse
    }
    ctl.pulse {
         type pulse
    }
    pcm.!default {
         type pulse
    }
    ctl.!default {
         type pulse
    }      

    If both files exist, the $HOME/.asoundrc file takes precedence.

  • If audio does not work with OSS applications on Oracle Linux 6, make sure the $AUDIODEV environment variable is set to an instance of utaudio. For Oracle Linux 6, the $AUDIODEV environment variable is not defined by default. Here is an example of setting $AUDIODEV:

    $ export AUDIODEV=`/opt/SUNWut/bin/utaudio`
    

  • OSS applications on Oracle Linux 6 can also work with PulseAudio by using the OSS wrapper (padsp):.

    $ padsp OSS_program