本节介绍如何配置 Windows 应用程序对象。
本节包括以下主题:
如果要为用户提供 Microsoft Windows 图形应用程序,请使用 Windows 应用程序对象。
在管理控制台中,Windows 应用程序对象的配置设置分散在以下选项卡中:
"General"(常规)选项卡-这些设置控制创建用户链接时使用的名称和图标
"Launch"(启动)选项卡-这些设置控制启动应用程序的方式以及是否可以暂停和恢复应用程序会话
"Presentation"(表示)选项卡-这些设置控制向用户显示应用程序的方式
"Performance"(性能)选项卡-这些设置用于优化应用程序的性能
"Client Device"(客户端设备)选项卡-这些设置控制用户的客户端设备与应用程序的交互方式
下表列出了配置 Windows 应用程序对象最常用的设置及其使用方法。
属性 | 描述 |
---|---|
Name(名称) | 用户看到的名称。 |
Icon(图标) | 用户看到的图标。 |
Application Command(应用程序命令) | 用户单击链接时运行的应用程序的完整路径。 在所有应用服务器上,该应用程序必须安装在相同的位置。 如果要运行 Windows 桌面会话,请将此字段留空。 |
Arguments for Command(命令的参数) | 启动应用程序时要使用的任何命令行参数。 |
SGD Remote Desktop Client(SGD 远程桌面客户端) | 默认情况下,SGD 远程桌面客户端用于在 Microsoft Windows 应用服务器上运行应用程序。SGD 使用 Microsoft RDP 协议连接到应用服务器。请参见第 4.1.3 节 “配置 Microsoft Windows 远程桌面服务以与 SGD 配合使用”。 |
Domain Name(域名) | 要用于应用服务器验证过程的 Windows 域。 此字段可以留空。也可以在应用服务器或用户配置文件中配置域。另请参见第 4.7.3.3 节 “Windows 域和密码缓存”。 |
Number of Sessions(会话数) | 用户可以运行的应用程序的实例数量。默认为三个。 |
Application Resumability(应用程序可恢复性) | 应用程序在多长时间内可以恢复。以下选项可供使用:
|
Window Type(窗口类型) | 向用户显示应用程序的方式。 使用 Kiosk 进行全屏桌面会话。为 "Window Size"(窗口大小)选中 "Scale to Fit Window"(缩放以适应窗口)复选框可以允许 SGD 缩放应用程序窗口以适应客户端设备的显示屏。 对于 "Independent Window"(独立窗口),您必须为 "Window Size"(窗口大小)指定 "Height"(高度)和 "Width"(宽度),或选中 "Client's Maximum Size"(客户端最大窗口大小)复选框。 按照应用程序在 Windows 应用服务器中显示的相同方式对应用程序使用 "Seamless Window"(无缝窗口)模式,而不管用户的桌面环境是什么。请参见第 4.1.6 节 “无缝窗口”。 |
Color Depth(颜色深度) | 应用程序的颜色深度。 有关更多详细信息,请参见第 4.1.3.13 节 “颜色深度”。 |
Application Load Balancing(应用程序负载平衡) | SGD 如何选择最佳的应用服务器来运行应用程序。 有关更多详细信息,请参见第 7.2.3 节 “Application Load Balancing(应用程序负载平衡)”。 |
"Hosting Application Servers"(托管应用服务器)选项卡 | 使用 "Editable Assignments"(可编辑的分配)表选择可以运行应用程序的应用服务器或应用服务器组。 在所有应用服务器上,该应用程序必须安装在相同的位置 |
"Assigned User Profiles"(分配的用户配置文件)选项卡 | 使用 "Editable Assignments"(可编辑的分配)表选择可以看到应用程序的用户。选择目录或目录(轻量)对象允许您一次将应用程序提供给多个用户。您还可以使用轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 目录分配应用程序。请参见第 3.2.2 节 “LDAP 分配”。 |
除了此配置,您还可以配置以下内容:
打印-请参见第 5.1 节 “打印”。
客户端驱动器-请参见第 5.2 节 “客户端驱动器映射”。
音频-请参见第 5.3 节 “音频”。
智能卡-请参见第 5.5 节 “智能卡”。
复制和粘贴-请参见第 5.4 节 “复制和粘贴”。
串行端口-请参见第 5.6 节 “串行端口”。
在命令行中,使用 tarantella object new_windowsapp 命令创建 Windows 应用程序对象。您也可以使用 tarantella object script 命令同时创建多个 Windows 应用程序对象。请参见第 3.1.5 节 “使用批处理脚本填充 SGD 组织层次结构”。
Windows 应用程序对象仅能在 o=applications
组织分层结构中创建。
配置 Windows 应用程序对象允许您使用 Microsoft Windows 远程桌面服务的功能。
在 Windows Server 2008 R2 之前,远程桌面服务称为终端服务。
《Oracle Secure Global Desktop 发行版 4.7 平台支持和发行说明》中列出了 SGD 支持的远程桌面服务功能以及支持这些功能的应用服务器平台,该文档位于 http://www.oracle.com/technetwork/documentation/sgd-193668.html。
Microsoft Windows 远程桌面服务具有多种可能的配置设置。有关配置远程桌面服务的详细信息,请参见您的系统文档。要将远程桌面服务与 SGD 配合使用,您可能必须配置的设置包括以下各项:
对远程桌面服务配置所做的更改仅对新的 Windows 应用程序会话有效。
使用 Windows 远程桌面服务,用户的会话可以在连接断开后继续运行。
如果未使用会话目录,则最好禁用远程桌面会话主机的会话可恢复性功能,让 SGD 处理会话可恢复性。这样可以防止出现以下潜在问题:
应用服务器上不必要的资源使用
在应用服务器上共享帐户的用户可以相互恢复对方的 Windows 会话。
使用窗口装饰控件关闭应用程序后,远程桌面服务会话可能会继续在应用服务器上运行。
要禁用远程桌面服务的会话可恢复性功能,则必须在 "远程桌面会话主机 Configuration"(远程桌面会话主机配置)中为 "When Session Limit Is Reached Or Connection Is Broken"(达到会话限制或连接中断时)选项选择 "End Session"(结束会话)。
如果要使用会话目录处理会话可恢复性,则必须在 "远程桌面会话主机 Configuration"(远程桌面会话主机配置)中为 "When Session Limit Is Reached Or Connection Is Broken"(达到会话限制或连接中断时)选项选择 "Suspend Session"(暂停会话)。要使用会话目录,还必须将 Windows 应用程序对象的 "Window Close Action"(窗口关闭操作)属性配置为 "End Application Session"(结束应用程序会话)。
对 SGD 只能使用 "Low"(低)、"Client-compatible"(与客户端兼容)或 "High"(高)加密级别。SGD 不支持美国联邦信息处理标准 (Federal Information Processing Standards, FIPS) 加密级别。
默认情况下,Microsoft Windows 服务器仅允许用户启动一个远程桌面服务会话。如果用户启动另一个桌面会话,或另一个具有相同参数的应用程序实例,则第二个远程桌面服务会话会抓取第一个会话并将其断开连接。这意味着无法在相同的 Windows 服务器上启动两个桌面会话或相同应用程序的两个实例。
在 Microsoft Windows Server 2003 或更高版本的应用服务器上,可以启用对多个远程桌面服务会话的支持。
客户端计算机可以将其时区设置重定向到远程桌面会话主机,以便用户在其桌面或应用程序会话中看到其时区的正确时间。远程桌面服务使用远程桌面会话主机的服务器基本时间和客户端时区信息计算会话中的时间。如果您的客户端设备位于不同的时区,则该功能很有用。默认情况下,该功能处于禁用状态。
在管理控制台中,"Global Settings"(全局设置)→ "Client Device"(客户端设备)选项卡中的 "Time Zone Map File"(时区映射文件)属性指定一个映射文件,其中包含 UNIX 平台客户端设备和 Windows 应用服务器时区名称之间的映射。
Microsoft Windows Server 2008 R2 和 Microsoft Windows 7 应用服务器支持音频录制重定向。
要在 Windows 远程桌面服务会话中录制音频,必须在应用服务器上启用音频录制重定向。默认情况下,音频录制重定向处于禁用状态。
要在 Microsoft Windows 7 Enterprise 应用服务器上启用音频录制,还需要将以下注册表项添加到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
项。
"fDisableAudioCapture"=dword:00000000
SGD 支持 Windows 远程桌面服务会话中的 8 位、16 位、24 位和 32 位颜色深度。
在 Windows Server 2008、Windows Server 2008 R2 和 Windows 7 平台上提供 32 位颜色。要具有 32 位颜色深度,客户端设备必须能够显示 32 位颜色。
不支持 15 位颜色深度。如果在远程桌面会话主机上指定了此颜色深度,SGD 会自动将颜色深度调整为 8 位。
自 Microsoft Windows Server 2003 起,可以使用传输层安全 (Transport Layer Security, TLS) 进行服务器验证以及加密远程桌面会话主机通信。
如果远程桌面会话主机支持使用 CredSSP 的网络级别验证 (Network Level Authentication, NLA),则可以使用 NLA 进行服务器验证。
有关将 NLA 用于 Windows 应用程序的更多详细信息,请参见第 4.7.7 节 “为 Windows 应用程序验证使用网络级别验证”。
对于 Windows Server 2003 和更高版本,可以使用组策略配置远程桌面服务设置,如下所述:
可以使用本地组策略对象 (Local Group Policy Object, LGPO)配置各个 Windows 远程桌面会话主机。在 Windows Server 2008 R2 的组策略对象编辑器中,远程桌面服务设置位于:Local Computer Policy\Computer Configuration\Administrative Templates\Windows Components\Remote Desktop
。
可以使用组策略对象 (Group Policy Object, GPO) 配置多个 Windows 远程桌面会话主机,并将其链接到域或组织单元 (organizational unit, OU)。
为了提高性能,您可能要配置以下部分或全部策略:
Keep-Alive Connections(保持活动的连接)。此策略为远程桌面服务会话指定保持活动状态的时间间隔。另请参见第 4.1.3.17 节 “Windows 远程桌面会话主机的保持活动配置”。
Limit Maximum Color Depth(限制最大颜色深度)。此策略控制客户端设备上的显示颜色深度。有关如何设置此策略的详细信息,请参见 Microsoft 知识库文章 278502。
SGD 中不包含 Microsoft Windows 远程桌面服务的许可证。如果访问由 Microsoft 操作系统产品所提供的 远程桌面服务功能,则需要另行购买许可证才能使用此类产品。请参考所要使用的 Microsoft 操作系统产品的许可协议,以确定您必须获取哪些许可证。
使用客户端访问许可证 (client access license, CAL) 完成远程桌面服务许可。CAL 是允许客户端访问 Windows 远程桌面会话主机的许可证。根据许可模式,客户端可以是用户、设备或两者的组合。
连接到远程桌面会话主机的客户端设备的 CAL 按照 Microsoft 策略进行分配。CAL 在客户端设备上的存储位置因客户端平台而异。
表 4.1 “客户端设备上存储 CAL 的默认位置”显示每个平台上 CAL 的默认存储位置。在 Linux、Oracle Solaris 和 Mac OS X 平台上,在系统范围位置安装 SGD 客户端时会自动创建默认位置,如第 6.1.5.2 节 “系统范围的安装”中所述。
表 4.1. 客户端设备上存储 CAL 的默认位置
客户端平台 | 默认位置 |
---|---|
Windows | Windows 注册表 |
Linux |
|
Oracle Solaris |
|
Mac OS X |
|
Sun Ray | Sun Ray 数据存储 |
在 Linux、Oracle Solaris 和 Mac OS X 平台上,如果默认位置不可用,则将 CAL 存储到用户的 $HOME/.tarantella
目录中。
对于 Linux、Oracle Solaris 和 Mac OS X 平台,可以使用客户端设备上的客户端配置文件 profile.xml
中 <localsettings>
部分的 <calstorepath>
项覆盖默认位置。如果客户端配置文件中没有 <localsettings>
部分,则创建一个新的部分。
例如,使用以下配置文件项将许可证存储位置设置为 /opt/cals
:
<localsettings> ... <calstorepath>/opt/cals/</calstorepath> </localsettings>
如果客户端设备由多个用户共享,请确保所有用户都可以向许可证存储位置写入数据。默认许可证位置符合此要求。
有关在使用 SGD 时排除 CAL 问题的建议,请参见第 4.9.21 节 “CAL 问题故障排除”。
某些版本的 Microsoft Windows 包括远程桌面连接功能,允许您使用 Microsoft RDP 访问计算机。例如,您可以使用 SGD 和远程桌面连接让用户能够在离开办公室时访问他们办公室中的 PC。
《Oracle Secure Global Desktop 发行版 4.7 平台支持和发行说明》中列出了远程桌面连接支持的平台和功能,该文档位于 http://www.oracle.com/technetwork/documentation/sgd-193668.html。
在引入 SGD 之前,请确保 Microsoft Windows 计算机的远程桌面连接链接有效。
请如下配置 SGD 以便与远程桌面连接配合使用:
为每台 Microsoft Windows 计算机创建一个应用服务器对象。
为 Windows 桌面应用程序创建 Windows 应用程序对象。
要确保用户访问他们自己的计算机,您必须为每台 Microsoft Windows 计算机创建单独的 Windows 桌面应用程序对象。
有关如何运行全屏桌面会话而不显示 SGD Webtop 的详细信息,请参见第 4.5.8 节 “使用 My Desktop”。
通过无缝窗口,Microsoft Windows 应用服务器可管理应用程序的显示。这意味着应用程序窗口的行为方式与应用服务器上显示的应用程序相同,而不管用户的桌面环境是什么。可以调整窗口的大小以及堆叠、最大化和最小化窗口。在使用无缝窗口时,不显示 Windows "Start"(开始)菜单和任务栏。
无缝窗口不适用于显示 Windows 桌面会话。请使用 kiosk 或独立窗口代替。
以下是使用无缝窗口的条件:
必须在应用服务器上安装 Windows 的 SGD 增强模块。
必须将 Windows 应用程序对象的 "Window Type"(窗口类型)配置为 "Seamless Window"(无缝窗口)。
如果不满足上述的任意条件,SGD 则会在独立窗口中显示 Windows 应用程序。
以下是有关在无缝窗口中显示应用程序的一些注释和提示:
如果在无缝窗口中显示应用程序,则可以通过按 Scroll Lock 键在无缝窗口和独立窗口之间进行切换。
具有非矩形窗口的应用程序(例如,具有定制皮肤的媒体播放器)显示在矩形窗口中。
某些显示模式可能不适用于应用程序。例如,媒体播放器无法最小化到任务栏。在 Windows Media Player 中,这称为最小播放机模式。
在 Windows 客户端设备中,无缝窗口不受 "Cascade"(级联)、"Tile Windows Horizontally"(横向平铺窗口)或 "Tile Windows Vertically"(纵向平铺窗口)窗口命令的影响。
如果显示屏幕保护程序或 "Windows Security"(Windows 安全)对话框,则窗口自动切换为独立窗口。解锁应用程序会自动将窗口恢复为无缝窗口。
如果在尺寸大于或小于原始会话的显示屏上恢复无缝窗口应用程序,则会在独立窗口中显示该应用程序。
在无缝窗口中显示的每个应用程序都具有自己的 RDP 连接。
您可以配置 SGD 如何处理 Windows 远程桌面服务会话中客户端设备上的键盘击键动作,如下所示:
SGD 针对 Windows 远程桌面服务会话支持以下键盘快捷键。
键盘快捷键 | 描述 |
---|---|
Ctrl+Alt+End | 显示 "Windows Security"(Windows 安全)对话框。 |
Alt+Page Up | 从左到右在窗口之间切换。 |
Alt+Page Down | 从右到左在窗口之间切换。 |
Alt+Insert | 按照窗口打开的顺序在窗口之间循环。 |
Alt+End | 显示 Windows "Start"(开始)菜单。 |
Alt+Delete | 显示当前窗口的弹出菜单。 |
Ctrl+Alt+减号 | 使用数字键盘上的减号 (-) 键。 在 Windows 远程桌面会话主机剪贴板上放置活动客户端窗口的快照。 提供与按本地计算机上的 Alt+PrintScrn 相同的功能。 |
Ctrl+Alt+加号 | 使用数字键盘上的加号 (+) 键。 在 Windows 远程桌面会话主机剪贴板上放置整个客户端窗口区域的快照。 提供与按本地计算机上的 PrintScrn 相同的功能。 |
Alt+Ctrl+Shift+Space | 最小化活动窗口。仅适用于 kiosk 模式。 |
在 SGD Windows 远程桌面服务会话中,Windows 键和用于管理窗口的键盘快捷键既可发送至远程会话,也可在本地起作用。默认情况下,它们在本地起作用。
对于配置为以 kiosk 模式显示的 Windows 应用程序对象,"Window Management Keys"(窗口管理键)(--remotewindowkeys
) 属性控制着键盘快捷键行为。要将 Windows 键和窗口管理键发送至远程会话,请执行以下任一操作:
在管理控制台中,转至 Windows 应用程序对象的 "Client Device"(客户端设备)选项卡,并选中 "Window Management Keys"(窗口管理键)复选框。
使用以下命令:
$ tarantella object edit --name obj
--remotewindowkeys 1
如果将 Windows 键和窗口管理键发送至远程会话,请使用键顺序 Alt+Ctrl+Shift+Space 退出 kiosk 模式。这会最小化本地桌面的 kiosk 会话。或者,要退出 kiosk 模式,可以使用 "Kiosk Mode Escape"(Kiosk 模式退出)(--allowkioskescape
) 属性为应用程序窗口启用一个下拉式标题。该下拉式标题包含用于最小化和关闭 kiosk 会话的图标。
对于未配置为以 kiosk 模式显示的 Windows 应用程序对象,可以通过对 SGD 远程桌面客户端使用 -windowskey
选项,强制将 Windows 键发送至远程会话。要将 Windows 键发送至远程会话,请执行以下任一操作:
在管理控制台中,转至 Windows 应用程序对象的 "Launch"(启动)选项卡,并在 "Arguments"(参数)字段中键入 -windowskey on
。
使用以下命令:
$ tarantella object edit --name obj
--protoargs "-windowskey on"
默认情况下,当使用 Microsoft RDP 协议通过 SGD 运行 Windows 应用程序时,客户端设备的主机名在 Windows 远程桌面服务会话的 %CLIENTNAME%
环境变量中返回。当使用 Sun Ray Client 设备时,DTU ID 在 %CLIENTNAME%
环境变量中返回。DTU ID 是 Sun Ray Client 的硬件地址。
DTU ID 可以用于在 wcpwts.exp
登录脚本中指定客户端设备的名称。SGD 将此登录脚本用于使用 Microsoft RDP 协议连接的所有 Windows 应用程序。
SGD 远程桌面客户端(另称为 ttatsc)是处理 SGD 服务器和 Windows 远程桌面会话主机之间连接的客户端程序。
用于从命令行运行 ttatsc 的语法如下所示:
ttatsc [-options
..] server.example.com
其中 server.example.com
是 Windows 远程桌面会话主机的名称。
您可以使用 ttatsc 按以下方式配置 Windows 远程桌面服务会话:
配置 Windows 应用程序对象的属性。部分 ttatsc 命令选项可用作 Windows 应用程序对象的属性。这些都在下表中进行了说明。
配置 Windows 应用程序对象的 "Arguments"(参数)(--protoargs
) 属性。使用此属性,可以指定用于 Windows 应用程序对象的 ttatsc 命令选项。
编辑 wcpwts.exp
登录脚本,并指定 ttatsc 命令选项。对此文件所做的任何更改都将用于使用 Microsoft RDP 协议连接的所有 Windows 应用程序。
ttatsc 命令支持以下选项。
选项 | 描述 |
---|---|
| 要在远程桌面服务会话中运行的应用程序。 |
| 设置音频重定向的质量。 |
| 为连接启用或禁用数据压缩。 |
| 连接到控制台会话,而非启动普通远程桌面服务会话。
此选项可用作 Windows 应用程序的 "Console Mode"(控制台模式)( |
|
为连接配置加密。默认设置 |
| 是否允许远程桌面会话主机设置 X 会话的默认颜色深度。 |
| 是否显示全屏桌面会话。 |
| 远程桌面服务会话的工作目录。这可以由应用程序覆盖。
此选项可用作 Windows 应用程序的 "Working Directory"(工作目录)( |
| 要连接至的 X 显示。 |
| 远程桌面会话主机 上要针对其进行验证的的域。 |
| 输入语言环境。指定 RFC1766 语言标签。 |
| 客户端设备的名称。 |
| 客户端设备的 NetBIOS 名称。这用于远程桌面会话主机上的重定向打印机名称。 |
| 连接至远程桌面会话主机时启用增强的安全性。
此选项可用作 Windows 应用程序的 "Enhanced Network Security"(增强的网络安全性)( |
| 禁用音频重定向。 |
| 禁用音频录制重定向。 |
| 不将 ttatsc 作为后台进程运行。 |
| 不缓存打印机首选项。
此选项可用作 Windows 应用程序的 "Printer Preference Caching"(打印机首选项缓存)( |
| 从文件读取命令选项。有关详细信息,请参见第 4.1.9.1 节 “使用配置文件”。 |
| 远程桌面服务用户的密码。 |
| 禁用显示选项,以便提高性能。可用设置包括:
要禁用多个显示选项,请使用多个 |
| 为桌面文本启用字体平滑。
此选项可用作 Windows 应用程序的 "Font Smoothing"(字体平滑)( |
| 要在远程桌面会话主机上连接至的 RDP 端口。默认设置为 3389。 |
| 此选项已废弃。 |
| 将音频保留在远程桌面会话主机上。
此选项可用作 Windows 应用程序的 "Remote Audio"(远程音频)( |
| 不使用专用颜色映射。 |
| 远程桌面服务会话的显示宽度和显示高度,以像素为单位。 |
| 此选项已废弃。 |
| 从标准输入读取命令选项。由登录脚本用于将命令选项传递给 ttatsc。 |
| 此选项已废弃。 |
| 为使用无缝窗口的应用程序启用本地窗口分层结构。某些 Borland 应用程序需要此功能。 |
| 连接远程桌面会话主机的超时时间,以秒为单位。 |
| 建立 RDP 连接的超时时间,以秒为单位。 |
| 此选项已废弃。 |
| 远程桌面服务用户的用户名。 |
|
为远程桌面服务会话启用还是禁用 Windows 键。默认设置为 |
配置文件是包含要用于连接的 ttatsc 命令行选项的文本文件。每个选项必须位于单独的行中,且没有前导短横线 (-
)。使用空格分隔参数及其值。使用单引号或双引号将所有文字空格括起来。
转义符是 \
。支持以下转义序列:
\n
是换行符 (0xA
)
\r
是回车符 (0xD
)
\t
是制表符 (0x9
)
\\
是文字 \
\"
是文字双引号,不用于分隔带引号的参数
\'
是文字单引号,不用于分隔带引号的参数
以下是配置文件示例:
u "Indigo Jones" p "Wh1teh4ll" a "C:\\program files\\notepad.exe" naples.example.com