9.2. Multihead

As previously stated, a multihead group is required for a multihead configuration.

A multihead group is comprised of a set of associated Sun Ray Clients controlled by a primary client to which a keyboard and mouse, are connected. This group, which can contain a maximum of 16 clients, is connected to a single session. A multihead group can be composed of virtually any mix of Sun Ray Clients, and each Sun Ray Client presents an X screen of the multihead X display.

All peripherals are attached to the primary client, and the group is controlled from the primary client. The remaining clients, called the secondary clients, provide the additional displays. If a secondary client tries to connect when the primary client is not available, a Waiting for Primary icon is displayed on the secondary client until the primary client is discovered.

Unless Xinerama is enabled, sessions with a multihead group will have a separate desktop toolbar with separate workspaces per screen and windows cannot be moved between screens. See Section 9.2.9, “How to Enable and Disable Xinerama” for more details.

If you hotdesk from a multihead group to a Sun Ray Client that is not part of a multihead group, you can still view all the screens created in the original multihead group on the single screen, or head, by panning to each screen in turn. This action is called "screen flipping."

9.2.1. Creating a Multihead Group

There are two main steps to create a multihead group:

  • Create the multihead group using the utmhconfig (GUI) or utmhadm command. The command must be run on the primary client. You can use a smart card to identify the terminals.

  • Enable the multihead policy using either the utpolicy command or the Admin GUI.

Note the following limitations:

  • The Sun Ray 2FS and Sun Ray 3 Plus Clients are designed to run a single display across two screens without additional configuration. It uses a single frame buffer for two displays, always treating two attached heads as a single, unified display surface to be controlled with a single mouse and keyboard, and always presenting itself to the X server as a single screen

  • Video acceleration works only on the primary client. In a multihead group, the audio stream is directed only to the primary client, so audio/video synchronization is provided only on the primary client.

  • Regional hotdesking is not enabled for multihead groups.

9.2.2. Multihead Screen Display

When the multihead feature is used, a small window indicating the current session on each screen is displayed, with the current screen highlighted for easy identification. This window is automatically displayed for users during session creation. For example, Figure 9.2, “Multihead Screen Display” indicates that the user is on the second screen of a three-screen display.

Figure 9.2. Multihead Screen Display

Screenshot showing an example of the multihead screen display.

9.2.3. Creating a Single Screen Across Several Monitors (Xinerama)

The Xinerama extension to X11 creates a single large screen displayed across several monitors. With Xinerama, only one toolbar is displayed, and a window can be moved smoothly from one part of the screen to the next.

For CDE desktop sessions, a single CDE toolbar and set of workspaces manages the configured monitors. A window including the CDE toolbar itself can span monitors, because the monitor displays are still within the same screen.

See Section 9.2.9, “How to Enable and Disable Xinerama” for more details.

Xinerama can also be used with the Windows connector uttsc command.

9.2.4. How to Create a New Multihead Group

  1. On the primary client, start the Multi-head Administration GUI.

    # /opt/SUNWut/sbin/utmhconfig
  2. On the initial screen, click Create New Group.

    Figure 9.3. utmhconfig Home Screen

    Screenshot showing the Sun Ray Multi-head Administration GUI.

    The Create New Multiheaded Group dialog box is displayed. The number of rows and the number of columns you provide are displayed as the group geometry when the group has been created.

    Figure 9.4. Create New Multiheaded Group Wizard - First Step

    Screenshot showing the first step of the Create New Multiheaded Group wizard in the Sun Ray Multi-head Administration GUI.
  3. Provide the information for the group.

    Type a name for the group and the number of rows and columns.

  4. Click the Next button.

    The following screen is displayed.

    Figure 9.5. Create New Multiheaded Group Wizard - Second Step

    Screenshot showing the second step of the Create New Multiheaded Group wizard in the Sun Ray Multi-head Administration GUI.
  5. Select the clients within the multihead group and insert a smart card in each Sun Ray Client in turn to establish the order of the group.

    The Finish button, which was previously grayed out, is now active.

    Figure 9.6. Create New Multiheaded Group Wizard - Third Step

    Screenshot showing the third and final step of the Create New Multiheaded Group wizard in the Sun Ray Multi-head Administration GUI.
  6. Click the Finish button.

  7. Exit the session or disconnect by removing your card.

  8. Enable the Multihead policy.

9.2.5. How to Enable Multihead Policy

9.2.5.1. Command-Line Steps

The following command enables the multihead policy for the failover group and restarts the Sun Ray Software with the new policy on the local server without disrupting existing sessions.

# /opt/SUNWut/sbin/utpolicy -a -m -g your_policy_flags
# /opt/SUNWut/sbin/utstart
Note

Issue the utstart command on every server in the failover group.

9.2.5.2. Admin GUI Steps

  1. Click the Advanced tab.

  2. Click the System Policy tab.

  3. Select the Multihead Feature Enabled option.

  4. Click the Save button.

If a system restart is needed, an advisory message will display.

9.2.6. How to Manually Set Multihead Display Dimensions

Screen dimensions for the multihead group are automatically set, by default, to the largest dimension supported by the primary client.

To override the automatic sizing of screen dimensions, use the utxconfig -r command.

Note

If explicit screen dimensions are chosen, or if the resolutions of the monitors differ, you may have problems with unwanted on-screen movement called panning, or large black bands around the visible screen area.

9.2.6.1. How to Override Automatic Sizing of Screen Dimensions

% utxconfig -r widthxheight

For example:

% utxconfig -r 1280x1024

9.2.6.2. How to Restore Automatic Sizing Behavior on the Next Login

% utxconfig -r auto

9.2.7. How to Manually Set the Multihead Display Geometry

A multihead group can have its screens arranged in various configurations. For example, a user can arrange a multihead group of four screens as two rows of two screens (2x2) or as a single row of four screens (4x1). By default, when a user logs into a multihead group, the session uses the number of screens available. The layout or geometry of these displays is generated automatically.

When the mouse pointer is moved past the edge between two screens, it moves from one screen to the next. The geometry of the multihead group determines which screen is displayed at that moment.

You can use the utxconfig -R command to manipulate the automatic geometry.

9.2.7.1. How to Override the Automatic Geometry

% utxconfig -R columnsxrows

9.2.7.2. How to Restore the Automatic Geometry on the Next Login

% utxconfig -R auto

9.2.8. How to Disable Multihead Displays for a Session

% utxconfig -m off

9.2.9. How to Enable and Disable Xinerama

Users can enable or disable Xinerama as part of their X preferences. The utxconfig command handles this setting on an individual token basis. The user must log off for the changes to take effect.

Note

Video acceleration is not available for Xinerama sessions. Video played without video acceleration can be dragged from one Sun Ray Client to another or can span multiple clients.

Note

Xinerama tends to consume noticeable amounts of CPU, memory, and network bandwidth. For optimal performance, set the shmsys:shminfo_shmmax parameter in the /etc/system file to at least LARGEST_NUMBER_OF_HEADS * width * height * 4.

9.2.9.1. How to Enable Xinerama

% utxconfig -x on

9.2.9.2. How to Disable Xinerama

% utxconfig -x off

9.2.9.3. How to Enable Xinerama as Default for a Single System or Failover Group

As superuser, type the following command:

# utxconfig -a -x on

9.2.10. How to Disconnect a Secondary Client

If you disconnect the secondary clients without deleting the multihead group to which they belong, the screens are not displayed on the single primary client. The primary client is still part of the multihead group, and the mouse cursor can appear to get lost when it goes to the disconnected secondary client.

To recover from this situation, you can do one of the following actions:

  1. Reconnect the missing client.

  2. Delete the multihead group using the utmhconfig or utmhadm command.

  3. Replace the missing client.

  4. Create a new multihead group that incorporates the replacement client.