12.2. 多显示端组

12.2.1. 创建多显示端组
12.2.2. 多显示端组屏幕指示器
12.2.3. 创建一个跨多个监视器的屏幕 (Xinerama)
12.2.4. 如何创建新的多显示端组
12.2.5. 如何启用多显示端组策略
12.2.6. 如何手动设置多显示端组屏幕尺寸
12.2.7. 如何手动设置多显示端组几何排列
12.2.8. 如何禁用会话的多显示端组
12.2.9. 如何启用和禁用 Xinerama
12.2.10. 如何断开辅助客户端

借助多显示端组配置,您可以只使用一套连接到主客户端的键盘和鼠标来合并和控制多个 Sun Ray Client(在此环境中称为显示端)及其屏幕。能够以多显示端组的形式连接到单个 Sun Ray 会话的最大客户端数是 16,多显示端组可以由 Sun Ray Client 的几乎任意组合组成。如果您使用的客户端最多支持两个监视器(如 Sun Ray 2FS Client 或 Sun Ray 3 Plus Client),则一个多显示端组可以控制多达 32 个的监视器。每个 Sun Ray Client 呈现多显示端 X 显示屏幕的一个 X 屏幕。

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

通常,多显示端组会话在每个监视器上具有单独的桌面工具栏和单独的工作区。窗口无法从多显示端组中的一个监视器移至另一监视器。

相比之下,Xinerama 允许将多显示端组中的所有监视器视为一个屏幕。有关更多详细信息,请参见第 12.2.9 节 “如何启用和禁用 Xinerama”

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

12.2.1. 创建多显示端组

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

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

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

请注意以下限制:

  • Sun Ray 2FS 和 Sun Ray 3 Plus Client 经过专门设计,无需其他配置即可在两个监视器上运行一个显示屏幕,并且对两个监视器使用单个帧缓存器,始终将其视为单个统一的显示界面来使用一套鼠标和键盘进行控制并且作为单个屏幕显示给 X 服务器。

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

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

12.2.2. 多显示端组屏幕指示器

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

图 12.2. 多显示端组屏幕指示器

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

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

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

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

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

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

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

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

    # /opt/SUNWut/sbin/utmhconfig
  2. 在初始屏幕上,单击 "Create New Group"(创建新组)。

    图 12.3. utmhconfig 起始屏幕

    展示 Sun Ray 多显示端管理 GUI 的屏幕抓图。

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

  3. 按照向导中的说明完成整个过程。

    向导中的主要步骤是选择多显示端组中的客户端,然后依次在每个 Sun Ray Client 中插入智能卡以确定组顺序。

  4. 单击 "Finish"(完成)按钮。

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

  6. 启用多显示端策略。

    有关更多详细信息,请参见第 12.2.5 节 “如何启用多显示端组策略”

12.2.5. 如何启用多显示端组策略

命令行步骤

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

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

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

管理 GUI 步骤

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

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

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

  4. 单击 "Save"(保存)按钮。

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

12.2.6. 如何手动设置多显示端组屏幕尺寸

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

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

注意

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

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

% utxconfig -r widthxheight

例如:

% utxconfig -r 1280x1024

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

% utxconfig -r auto

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

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

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

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

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

% utxconfig -R columnsxrows

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

% utxconfig -R auto

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

% utxconfig -m off

12.2.9. 如何启用和禁用 Xinerama

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

注意

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

注意

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

12.2.9.1. 如何启用 Xinerama

  1. 登录到 Sun Ray 会话。

  2. 启用 Xinerama。

    % utxconfig -x on
  3. 从会话中注销并重新登录以使更改生效。

12.2.9.2. 如何禁用 Xinerama

  1. 登录到 Sun Ray 会话。

  2. 禁用 Xinerama。

    % utxconfig -x off
  3. 从会话中注销并重新登录以使更改生效。

12.2.9.3. 如何为所有客户端启用 Xinerama 作为默认设置

  1. 在 Sun Ray 服务器上成为超级用户。

  2. 为所有客户端启用 Xinerama。

    # utxconfig -a -x on

如果用户当前已登录,则需要从会话中注销并重新登录以使更改生效。

12.2.10. 如何断开辅助客户端

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

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

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

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

  3. 替换缺少的客户端。

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