9.2. 多显示器

9.2.1. 创建多显示端组
9.2.2. 多显示端屏幕显示
9.2.3. 创建一个跨多个监视器的屏幕 (Xinerama)
9.2.4. 如何创建新的多显示端组
9.2.5. 如何启用多显示端策略
9.2.6. 如何手动设置多显示端显示尺寸
9.2.7. 如何手动设置多显示端显示几何排列
9.2.8. 如何禁用会话的多显示端显示
9.2.9. 如何启用和禁用 Xinerama
9.2.10. 如何断开辅助客户端

如前所述,多显示端配置需要多显示端组。

多显示端组由一组相互关联且由一个主客户端控制的 Sun Ray Client 组成,其中主客户端连接有一套键盘和鼠标。该组(最多可以包含 16 个客户端)与单个会话连接。多显示端组可包括 Sun Ray Client 的几乎所有组合,每个 Sun Ray Client 呈现多显示端 X 显示的一个 X 屏幕。

所有外围设备均连接在主客户端上,且多显示端组也由主客户端进行控制。其余客户端称为辅助客户端,提供其他显示。如果主客户端不可用时,辅助客户端尝试进行连接,那么在搜索到主客户端之前,辅助客户端上会一直显示 "Waiting for Primary"(等待主客户端)图标。

除非已启用 Xinerama,否则通过多显示端组进行的会话将在每个屏幕上分别显示一个带有单独工作区的桌面工具栏,且窗口无法在屏幕间移动。有关更多详细信息,请参见第 9.2.9 节 “如何启用和禁用 Xinerama”

如果您从多显示端组漫游办公到不属于多显示端组的 Sun Ray Client,那么通过依次切换到每个屏幕,仍可以在一个屏幕(或显示端)上查看在原来的多显示端组中创建的所有屏幕。该操作称为“屏幕切换”。

9.2.1. 创建多显示端组

创建多显示端组有以下两个主要步骤:

  • 使用 utmhconfig (GUI) 或 utmhadm 命令创建多显示端组。该命令必须在主客户端上运行。您可以使用智能卡来标识终端。

  • 使用 utpolicy 命令或 Admin GUI 启用多显示端策略。

请注意以下限制:

  • Sun Ray 2FS Client 和 Sun Ray 3 Plus Client 用于在不进行其他配置的情况下在两个屏幕上运行单个显示。它将一个帧缓冲区用于两个显示,总是将连接的两个显示端视为一个统一的显示面(使用一套鼠标和键盘即可进行控制),并且总是将自身作为一个屏幕呈现给 X 服务器。

  • 视频加速只适用于主客户端。在多显示端组中,音频流只会定向到主客户端,因此只能在主客户端上执行音频/视频同步。

  • 没有为多显示端组启用区域漫游办公。

9.2.2. 多显示端屏幕显示

使用多显示端功能后,会显示指示每个屏幕上当前会话的小窗口,当前屏幕会突出显示以便于识别。在会话创建过程中,系统自动显示该窗口。例如,图 9.2 “多显示端屏幕显示”表明用户正在使用三个显示屏幕中的第二个屏幕。

图 9.2. 多显示端屏幕显示

展示多显示端屏幕显示示例的屏幕抓图。

9.2.3. 创建一个跨多个监视器的屏幕 (Xinerama)

将 Xinerama 扩展到 X11 即可创建一个跨多个监视器显示的大屏幕。启用 Xinerama 后,屏幕上将只显示一个工具栏,并可以将窗口从屏幕的一个位置平滑地移到另一个位置。

对于 CDE 桌面会话,有一个 CDE 工具栏和一组工作区即可管理配置的监视器。包括 CDE 工具栏自身的窗口可以跨监视器,因为监视器显示仍然位于相同的屏幕中。

有关更多详细信息,请参见第 9.2.9 节 “如何启用和禁用 Xinerama”

还可通过 Windows 连接器 uttsc 命令使用 Xinerama。

9.2.4. 如何创建新的多显示端组

  1. 在主客户端上启动 "Multi-head Administration"(多显示端管理)GUI。

    # /opt/SUNWut/sbin/utmhconfig
    
  2. 在初始屏幕上,单击“创建新组”。

    图 9.3. utmhconfig 起始屏幕

    显示 "Sun Ray Multi-head Administration"(Sun Ray 多显示端管理)GUI 的屏幕抓图。

    将显示 "Create New Multiheaded Group"(创建新的多显示端组)对话框。创建组后,用户提供的行数和列数会体现在组的几何排列上。

    图 9.4. "Create New Multiheaded Group"(创建新的多显示端组)向导 - 第一步

    显示 "Sun Ray Multi-head Administration"(Sun Ray 多显示端管理)GUI 中 "Create New Multiheaded Group"(创建新的多显示端组)向导的第一步的屏幕抓图。
  3. 提供组的信息。

    键入组的名称、行数和列数。

  4. 单击“下一步”按钮。

    此时会显示以下屏幕:

    图 9.5. "Create New Multiheaded Group"(创建新的多显示端组)向导 - 第二步

    显示 "Sun Ray Multi-head Administration"(Sun Ray 多显示端管理)GUI 中 "Create New Multiheaded Group"(创建新的多显示端组)向导的第二步的屏幕抓图。
  5. 选择多显示端组中的客户端,然后依次在每个 Sun Ray Client 中插入智能卡以确定组顺序。

    以前呈灰色的“完成”按钮现在变为活动状态。

    图 9.6. "Create New Multiheaded Group"(创建新的多显示端组)向导 - 第三步

    显示 "Sun Ray Multi-head Administration"(Sun Ray 多显示端管理)GUI 中 "Create New Multiheaded Group"(创建新的多显示端组)向导的第三步的屏幕抓图。
  6. 单击“完成”按钮。

  7. 取出智能卡以退出或断开会话。

  8. 启用多显示端策略。

9.2.5. 如何启用多显示端策略

9.2.5.1. 命令行步骤

以下命令将为故障转移组启用多显示端策略,并重新启动 Sun Ray Software,且会在本地服务器上启用新的策略,而不会打断现有的会话。

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

在故障转移组中的每台服务器上运行 utstart 命令。

9.2.5.2. Admin GUI 步骤

  1. 单击 "Advanced"(高级)选项卡。

  2. 单击 "System Policy"(系统策略)选项卡。

  3. 选择 "Multihead Feature Enabled"(已启用多显示端功能)选项。

  4. 单击“保存”按钮。

如果需要重新启动系统,则系统会显示一条建议消息。

9.2.6. 如何手动设置多显示端显示尺寸

默认情况下,多显示端组的屏幕尺寸会自动设置为主客户端支持的最大尺寸。

要覆盖自动设置的屏幕尺寸,请使用 utxconfig -r 命令。

注意

如果选择显式设置的屏幕尺寸,或者如果监视器分辨率不同,可能会出现令人讨厌的屏幕移位问题,称为平移,或在可见屏幕区域周围出现大面积的黑带。

9.2.6.1. 如何覆盖自动设置的屏幕尺寸

% utxconfig -r widthxheight

例如:

% utxconfig -r 1280x1024

9.2.6.2. 如何在下次登录时恢复自动设置尺寸行为

% utxconfig -r auto

9.2.7. 如何手动设置多显示端显示几何排列

多显示端组可以使用各种配置来布置自己的屏幕。例如,用户可以将具有四个屏幕的多显示端组布置为每行两个屏幕的两行 (2x2) 或具有四个屏幕的单行 (4x1)。默认情况下,用户登录至多显示端组时,会话将使用可用的屏幕数目。这些显示的布局或几何排列是自动生成的。

当鼠标指针移过两个屏幕之间的边缘时,便会从一个屏幕移到下一个屏幕。多显示端组的几何排列确定了此时显示的屏幕。

您可以使用 utxconfig -R 命令处理自动几何排列。

9.2.7.1. 如何覆盖自动的几何排列

% utxconfig -R columnsxrows

9.2.7.2. 如何在下次登录时恢复自动的几何排列

% utxconfig -R auto

9.2.8. 如何禁用会话的多显示端显示

% utxconfig -m off

9.2.9. 如何启用和禁用 Xinerama

作为 X 首选项的一部分,用户可以启用或禁用 Xinerama。utxconfig 命令可针对单个令牌处理该设置。用户必须注销才可使更改生效。

注意

视频加速不适用于 Xinerama 会话。没有经过视频加速而播放的视频可在 Sun Ray Client 之间拖曳,也可跨多个客户端播放。

注意

Xinerama 往往会占用大量 CPU 资源、内存和网络带宽。为了实现最佳性能,请将 /etc/system 文件中的 shmsys:shminfo_shmmax 参数至少设置为 LARGEST_NUMBER_OF_HEADS * width * height * 4

9.2.9.1. 如何启用 Xinerama

% utxconfig -x on

9.2.9.2. 如何禁用 Xinerama

% utxconfig -x off

9.2.9.3. 如何为单系统或故障转移组启用 Xinerama 作为其默认设置

以超级用户身份,键入以下命令:

# utxconfig -a -x on

9.2.10. 如何断开辅助客户端

如果断开辅助客户端却未删除其所属的多显示端组,在单独的主客户端上不会显示其屏幕。主客户端仍然是多显示端组的一部分,当鼠标光标移至断开的辅助客户端时,鼠标光标看上去好像消失了。

要从这种情况中恢复,可以执行以下操作之一:

  1. 重新连接缺少的客户端。

  2. 使用 utmhconfigutmhadm 命令删除多显示端组。

  3. 替换缺少的客户端。

  4. 创建新的多显示端组,其中包含替换客户端。