故障排除
本文中提供的信息可帮助管理员解决 Citrix Workspace 应用程序出现的问题。
连接
您可能会遇到以下连接问题。
已发布的资源或桌面会话
与 Windows 服务器建立连接时,如果显示带有“正在连接到服务器…”消息的对话框,但以后不显示连接窗口,则可能需要为服务器配置客户端访问许可证 (Client Access License, CAL)。有关许可的详细信息,请参阅许可。
会话重新连接
重新连接到颜色深度高于 Citrix Workspace 应用程序所需的颜色深度的会话时,连接可能会失败。服务器上的可用内存不足时会出现此故障。
如果重新连接失败,Citrix Workspace 应用程序将尝试使用初始颜色深度。否则,服务器将尝试以所请求的颜色深度启动一个新会话,而将初始会话保持在断开连接状态。如果服务器上的可用内存仍然不足,则第二个连接也可能会失败。
完整 Internet 名称
Citrix 建议您在网络上配置 DNS(域名服务器)。此配置使您能够解析要连接的服务器的名称。如果不配置 DNS,则可能无法将服务器名称解析为 IP 地址。您也可以改为按 IP 地址(而非名称)指定服务器。TLS 连接要求完全限定的域名,而非 IP 地址。
会话速度缓慢
如果某个会话在您移动鼠标后才启动,Linux 内核中的随机数字生成功能可能存在问题。解决方法:运行一个熵生成的后台程序,例如 rngd(基于硬件)或 haveged(来自 Magic Software)。
发送有关 Citrix Workspace 应用程序的反馈
发送反馈选项允许您通知 Cloud Software Group 在使用 Citrix Workspace 应用程序过程中可能会遇到的任何问题。您也可以发送建议,以帮助我们改善您的 Citrix Workspace 应用程序体验。
这项新功能增强了反馈体验,确保了用户与支持团队之间更高效、信息更丰富的沟通渠道。
发送反馈选项包括集成的日志管理器,使用户能够捕获并包括相关日志以生成全面的反馈报告。
此外,发送反馈使用户能够使用其系统中安装的默认邮件客户端直接发送反馈电子邮件来提供无缝通信。
支持的电子邮件客户端如下:
- Thunderbird
- Evolution
- Mutt
- Alpine
要配置用于发送反馈的电子邮件地址,请执行以下操作:
在 Authmanconfig.xml 文件中添加以下密钥:
<!-- Configure email address for sendfeedback - - >
<FeedbackEmailAddress>cwa-linux-feedback@cloud.com</FeedbackEmailAddress>
<key>SendFeedbackEnabled</key>
<value>true</value>
<!--NeedCopy-->
注意:
向 Cloud Software Group 发送反馈,即表示您同意您的参与符合 Cloud Software Group 最终用户协议并受其约束。
可以使用以下任一方法发送反馈:
- 导航到添加帐户屏幕。
- 单击汉堡菜单。
- 
    单击发送反馈。  
或者,
- 
    单击应用程序指示器图标中的发送反馈。  
或者,
- 在命令行中,导航到 /opt/Citrix/ICAClient/util路径。
- 
    运行以下命令: ./sendfeedback <!--NeedCopy-->
- 
    此时将出现发送反馈屏幕。  
- 提供问题的 Title(标题)。
- 在 Tell us more(告诉我们更多信息)字段中添加问题详细信息。
- 
    单击 Capture my issue(捕获我的问题)。此时将出现 Citrix 日志收集实用程序屏幕。  单击 Start capture(开始捕获),然后重现问题以收集最新的日志。 或者, 如果您无法重现该问题,请单击 Choose existing logs(选择现有日志)。 注意: 有关 Citrix 日志收集实用程序的详细信息,请参阅日志收集。 
- 请确保日志文件显示在 Capture my issue(捕获我的问题)旁边。
- 
    单击选择文件,然后添加用于描述您的问题的附件,例如屏幕截图或屏幕录制文件。  
- 
    单击发送。此时将出现Feedback report(反馈报告)屏幕。  .tar.gz 文件包含日志文件、作为测试文件的问题描述以及附件。 
- 
    您可以使用以下选项将反馈报告发送给 Citrix: 单击 Send the feedback report using the default email app(使用默认电子邮件应用程序发送反馈报告)以使用系统中的默认邮件应用程序。 或者, 手动将报告发送到提供的电子邮件 ID。 
注意:
请确保电子邮件中附加了 .zip 文件。
密码套件
如果连接失败,并提供新的加密支持:
- 可以使用各种工具来检查服务器支持的密码套件,包括:
    - 
Ssllabs.com(要求服务器具有 Internet 访问权限)
- 
sslyze(https://github.com/nabla-c0d3/sslyze)
 
- 
- 在 Linux 客户端 WireShark 中,使用过滤器 (ip.addr == VDAIPAddress) 查找数据包 (Client Hello, Server Hello) 以查找 SSL 部分。结果包含由客户端发送并由服务器接受的密码套件。
Citrix 优化 SDK 不正确
Citrix Optimization SDK 软件包包含不正确的 UIDialogLibWebKit.so 版本。解决方法:执行以下操作之一:
- 
    从下载页面下载 Citrix Optimization SDK 软件包版本 18.10。 - 
        转至路径 CitrixPluginSDK/UIDialogLib/GTK:cd CitrixPluginSDK/UIDialogLib/GTK
- 
        删除所有对象文件: rm -rf *.o
- 
        转到 WebKit 文件夹: cd ../WebKit
- 
        删除现有的 UIDialogLibWebKit.so:rm -rf UIDialogLibWebKit.so
- 
        在 WebKit 目录中使用以下命令: make all新的 UIDialogLibWebKit.so已生成。
- 
        将新库复制到 $ICAROOT/lib 目录中。 
 
- 
        
适用于 SSL 连接的弱密码套件
建立 TLS 连接时,Citrix Workspace 应用程序默认情况下将提供一组严格的高级密码套件。
如果要连接到需要较旧的密码套件的服务器,请在配置文件的 [WFClient\] 部分中设置配置选项 SSLCiphers=ALL。
支持以下高级密码套件:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)、ALL、COM
连接中断
使用 EDT 协议时,您可能会看到以下错误消息:与“…”的连接已断开。如果连接是通过适用于 EDT 的最大传输单位小于默认值 1500 字节的路由器建立的,可能会出现此问题。请执行以下操作:
- 在配置文件中设置 edtMSS=1000。
连接错误
连接错误可能会产生各种不同的错误对话框。示例如下:
- 连接出错: 与身份验证服务通信时出现协议错误。
- 无法联系身份验证服务。
- 无法使用此服务器地址添加您的帐户。
某些问题可能会导致出现此类错误,包括:
- 本地计算机和远程计算机无法协商通用 TLS 协议时可能会出现错误。有关详细信息,请参阅 TLS。
- 远程计算机需要对 TLS 连接使用较旧的密码套件时可能会出现错误。在这种情况下,您可以在配置文件的 \[WFClient\]部分中设置配置选项SSLCiphers=ALL,然后在重新启动连接之前运行killall AuthManagerDaemon ServiceRecord selfservice storebrowse。
- 远程计算机不恰当地请求客户端证书时可能会出现错误。IIS 必须仅接受或要求提供 Citrix、Authentication 和 Certificate 的证书。
- 其他问题。
低带宽连接
Citrix 建议您在服务器上使用最新版本的 Citrix Virtual Apps and Desktops 或 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)。此外,请在用户设备上使用最新的 Citrix Workspace 应用程序。
如果使用低带宽连接,则可以更改 Citrix Workspace 应用程序的配置以及 Citrix Workspace 应用程序的使用方法以提高性能。
- 配置 Citrix Workspace 应用程序连接 - 配置 Citrix Workspace 应用程序连接可以降低 ICA 所需的带宽并提高性能
- 更改 Citrix Workspace 应用程序的使用方式 - 更改 Citrix Workspace 应用程序的使用方式还可以降低实现高性能连接所需的带宽
- 启用 UDP 音频 - 此功能可以在阻塞的网络上保持 IP 语音 (VoIP) 连接中延迟的一致性
- 使用最新版本的适用于 Linux 的 Citrix Workspace 应用程序和 Citrix Virtual Apps and Desktops 或 Citrix DaaS - Citrix 不断地增强和提升每个版本的性能,许多性能功能需要最新的 Citrix Workspace 应用程序和服务器软件
显示
屏幕撕裂
在水平块中,两个(或多个)不同的帧的几个部分同时出现在屏幕上时会出现屏幕撕裂的情况。在桌面上内容更改频率非常快的大型区域中此问题最常见。
在 VDA 上捕获数据时可避免屏幕撕裂。当数据传递到客户端时,不会引入屏幕撕裂现象。但是,X11(Linux/Unix 图形子系统)没有提供一致的方式来防止屏幕撕裂。
为防止屏幕撕裂,Citrix 建议您使用将应用程序绘制与屏幕绘制同步的标准方法。即,等待 vsvnc 启动下一帧的绘制。根据客户端上的图形硬件和您使用的窗口管理器,以下两组解决方案可用于防止屏幕撕裂:
- X11 GPU 设置
- 使用组合管理器
X11 GPU 配置
对于 Intel 高清图形,请在名为 20-intel.conf 的 xorg.conf.d 中创建一个包含以下内容的文件:
Section "Device"
 Identifier    "Intel Graphics"
 Driver        "intel"
 Option        "AccelMethod" "sna"
 Option        "TearFree" "true"
 EndSection
对于 NVIDIA 图形,请在 xorg.conf.d 文件夹中找到包含您的配置的“MetaModes”选项的文件。对于所使用的每个以逗号分隔的 MetaMode,请添加以下内容:
{ForceFullCompositionPipeline = On}
例如:
Option “MetaModes” “DFP-0: 1920x1200 +0+0 {ForceFullCompositionPipeline = On}”
注意:
不同的 Linux 分发包使用不同的 xorg.conf.d 路径,例如 /etc/X11/xorg.conf.d 或 /user/share/X11/xorg.conf.d。
组合管理器
使用以下命令:
- 
    Compiz(嵌入到 Ubuntu Unity 中)。安装“CompizConfig Settings Manager”。 运行“CompizConfig Settings Manager”。 在常规 > 撰写下,取消选中取消重定向全屏窗口。 
注意:
使用“CompizConfig Settings Manager”时应谨慎,因为错误地更改值会阻止系统启动。
- 
    Compton(加载项实用程序)。有关完整的详细信息,请参阅 Compton 的主页/文档。例如,请运行以下命令: compton --vsync opengl --vsync -aggressive
击键不正确
如果使用的是非英文键盘,屏幕显示与键盘输入可能不匹配。在这种情况下,必须指定所使用的键盘类型和布局。有关指定键盘的详细信息,请参阅 Control keyboard behavior(控制键盘行为)。
过度重绘
移动无缝窗口时,某些窗口管理器会不断报告新的窗口位置,导致过度重绘。要解决此问题,请将窗口管理器切换到在移动窗口时仅绘制窗口轮廓的模式。
图标兼容性
Citrix Workspace 应用程序创建的窗口图标与大多数窗口管理器兼容。但是,这些图标与 X 客户端间通信约定并不完全兼容。
完全图标兼容性
要提供完全图标兼容性,请执行以下操作:
- 打开 wfclient.ini 配置文件。
- 在 [WFClient] 部分中编辑以下行:UseIconWindow=True
- 保存并关闭该文件。
光标颜色
如果光标的颜色与背景色相同或相似,则可能难以看到光标。可以将光标区域的颜色强制设置为黑色或白色来修复此问题。
更改光标颜色
- 
    打开 wfclient.ini 配置文件。 
- 
    在 [WFClient] 部分添加以下行之一: CursorStipple=ffff,ffff(将光标设置为黑色) CursorStipple=0,0(将光标设置为白色) 
- 
    保存并关闭该文件。 
彩色闪光
将鼠标移入或移出连接窗口时,非焦点窗口中的颜色开始闪烁。此问题是将 X Windows 系统与伪彩色显示结合使用时的已知限制。如有可能,请为受影响的连接使用更高的颜色深度。
使用真彩色显示器的颜色变化
连接到服务器时,用户可以选择使用 256 色。此选项假定视频硬件支持调色板,使应用程序能够更改调色板颜色,以产生动画显示效果。
真彩色显示没有相应的机制来模拟通过快速更改调色板来产生动画效果的功能。从时间和网络流量角度来说,通过软件模拟此机制的代价非常高。为降低此项成本,Citrix Workspace 应用程序将缓冲快速的调色板更改操作,并每隔几秒钟更新一次实时调色板。
显示错误
Citrix Workspace 应用程序对日语字符使用 EUC-JP 或 UTF-8 字符编码,而服务器则使用 SJIS 字符编码。Citrix Workspace 应用程序无法在这些字符集之间进行转换。此问题可能会导致显示以下对象时出现问题:
- 保存在服务器上并在本地查看的文件
- 保存在本地并在服务器上查看的文件
此问题还会影响在扩展参数传递中所用的参数中的日语字符。
会话宽幅显示
全屏会话默认跨多个显示器,但还可以使用命令行多显示器显示控制选项 -span。通过该选项,可以将全屏会话跨额外的显示器显示。
通过 Desktop Viewer 工具栏功能,您可以在窗口化会话窗口与全屏会话窗口之间切换,包括对相交显示器的多显示器支持。
重要:
对于采用无缝或标准窗口的会话(包括已最大化的窗口中的会话),宽幅显示不起作用。
- span 选项采用以下格式: -span [h][o][a|mon1[,mon2[,mon3, mon4]]]
如果指定了 h,则将在 stdout 中输出显示器列表。如果 h 是完整的选项值,wfica 将退出。
如果指定了 o,则会话窗口将带有 override-redirect 属性。
小心:
- 建议不要使用此选项。它旨在作为与不兼容的窗口管理器一起使用的最后一个选项。
- 会话窗口对该窗口管理器不可见,没有图标,也无法重新创建堆栈。
- 只能通过结束会话来删除此值。
如果指定了 a,Citrix Workspace 应用程序将尝试创建一个在所有显示器中显示的会话。
Citrix Workspace 应用程序假定其余的 -span 选项值为显示器编号的列表:
- 单个值将选择特定的监视器。
- 两个值将选择所需区域左上角和右下角的监视器。
- 四个值将指定区域顶部、底部、左侧和右侧边缘的监视器。
如果未指定 o,wfica 将使用 _NET_WM_FULLSCREEN_MONITORS 消息从窗口管理器中请求相应的窗口布局(如果支持该功能)。否则,将使用尺寸和位置提示来请求所需的布局。
可以使用以下命令来测试窗口管理器是否支持该功能:
xprop -root | grep \_NET\_WM\_FULLSCREEN\_MONITORS
如果没有输出,则不支持该功能。如果不支持,可能需要一个覆盖重定向窗口。可以使用 -span o 设置覆盖重定向窗口。
从命令行设置跨额外的显示器的会话:
- 
    在命令提示窗口中,键入: /opt/Citrix/ICAClient/wfica -span h用户设备当前所连接的显示器编号列表将打印到 stdout,wfica将退出。
- 
    请记下这些显示器编号。 
- 
    在命令提示窗口中,键入: /opt/Citrix/ICAClient/wfica -span \[w\[,x\[,y,z\]\]\]w、x、y 和 z 值是上面的步骤中的步骤 1 中的监视器编号。单个值 w 将指定特定的监视器。两个值 w 和 x 指定所需区域的左上角和右下角的监视器。四个值 w、x、y 和 z 指定区域顶部、底部、左侧和右侧边缘的监视器。 重要: - 在通过浏览器启动自助服务之前,定义 WFICA_OPTS 变量。要定义此变量,请编辑配置文件(通常位于 $HOME/.bash_profile 或 $HOME/.profile),在其中添加一行来定义 WFICA_OPTS 变量。例如: export WFICA_OPTS="-span a"
- 此更改同时影响虚拟应用程序和桌面会话。
- 如果已启动自助服务或 storebrowse,请删除启动的进程,以便新环境变量能够生效。请通过以下命令将其删除:killall AuthManagerDaemon ServiceRecord storebrowse
 
- 在通过浏览器启动自助服务之前,定义 WFICA_OPTS 变量。要定义此变量,请编辑配置文件(通常位于 $HOME/.bash_profile 或 $HOME/.profile),在其中添加一行来定义 WFICA_OPTS 变量。例如: 
本地应用程序
您可能不会退出全屏会话以使用本地应用程序或其他会话。出现此问题的原因是客户端系统用户界面被隐藏,键盘透明度功能禁用了常见键盘命令(例如 Alt+Tab),改为将命令发送到服务器。
解决方法:使用 Ctrl+F2 暂时清除键盘透明度功能,直至焦点下次返回会话窗口。备选解决方法为在 $ICAROOT/config/module.ini 中将 TransparentKeyPassthrough 设置为 No。此解决方法将禁用键盘透明度功能。但是,您可能需要通过在 All_regions.ini 文件中添加此设置来覆盖 ICA 文件。
改进了错误消息
以前,所有错误消息都有默认错误代码以及不针对该错误的描述。自 Citrix Workspace 应用程序版本 2309 起,错误消息经过改进,包括了错误特有的错误代码、事务 ID 和说明字段。当会话开始使用 ICA 启动或者在启用了服务连续性功能的情况下启动会话时,会出现这些错误消息。
例如,如果会话启动失败,则会显示以下错误消息:

网络摄像机
更新默认网络摄像机
目前,适用于 Linux 的 Citrix Workspace 应用程序中的网络摄像机重定向一次仅支持一个网络摄像机。所选的默认网络摄像机会映射到设备路径 /dev/video0,通常是便携式计算机中的内置网络摄像机。
必须使用以下命令安装 v4l 工具,才能列出系统中具有视频功能的所有设备:
sudo apt-get install v4l-utils
<!--NeedCopy-->
使用以下命令列出视频设备:
v4l2-ctl --list-devices
<!--NeedCopy-->
您可能会收到如下输出:
user@user-pc:~ $ v4l2-ctl --list-devices
UVC Camera (046d:09a6) (usb-0000:00:14.0-1):
    /dev/video2
    /dev/video3
    /dev/media1
Integrated Camera: Integrated C (usb-0000:00:14.0-8):
    /dev/video0
    /dev/video1
    /dev/media0
<!--NeedCopy-->
根据前面的示例,有两个网络摄像机。您可以使用其中的任何一个。Citrix 建议使用第一个索引。Ubuntu 存在已知问题,因此您可能会看到一个网络摄像机的多个索引。在此示例中,您可以使用 /dev/video0 和 /dev/video2。
要将其他捕获视频设置为默认值,请执行以下操作:
- 导航到 ~/.ICAClient/wfclient.ini配置文件并对其进行编辑。
- 
    在 [WFClient] 部分中,添加以下设置。 HDXWebCamDevice=<device path>
例如,添加 HDXWebCamDevice=/dev/video2 以在系统中设置映射到 /dev/video2 的网络摄像机。
测试功能
在客户端上,网络摄像机重定向模块可以在不同的模式下用于在客户环境条件下测试隔离的组件。
生产和调试模式
此模式将在 VDA 端显示的视频与编码器在客户端产生的实际缓冲区进行比较。它允许测试整个管道。
要启用此模式,请执行以下操作:
- 导航到 ~/.ICAClient/wfclient.ini配置文件并对其进行编辑。
- 
    将 HDXWebcamDebug值设置为 True。HDXWebcamDebug=True 
启用此模式后,编码器将使用缓冲区生成以下文件,具体取决于所使用的编码器:
- 对于 H264 编码器:/tmp/file_mode_buffers.h264
- 对于 Theora 编码器:/tmp/file_mode_buffers.theora
下图描述了生产和调试模式:

网络摄像机测试器模式
此模式允许您测试与其余管线元素隔离的网络摄像机。
./gst_read --buffers | -b BUFFERS_AMOUNT  [ --input_device | -i WEBCAM_DEVICE; default=/dev/video0]
<!--NeedCopy-->
要启用网络摄像机测试器模式,请从命令行运行以下命令:
   cd /opt/Citrix/ICAClient/util
   <!--NeedCopy-->
   `$./gst_read -b 100 /dev/video0
   <!--NeedCopy-->
启用此模式后,将显示视频预览,并使用来自网络摄像机的原始缓冲区创建以下文件:
/tmp/wewbcam_buffers.buff
网络摄像即测试器模式所需的唯一开关为 --buffers (-b) 选项。还可以指定要测试的网络摄像机设备。例如,请参阅以下内容:
- ./gst_read -buffers 150
- ./gst_read –buffers 100 –input_device /dev/video2
下图描述了网络摄像机测试器模式:

编码器测试器模式
此模式允许您测试与管道隔离的编码器。
./gst_read --output_file | -o FILE_NAME [ --buffers | -b BUFFER_AMOUNT; default=10 0 ]  [ --enableH264  | -e ]
<!--NeedCopy-->
要启用编码器测试器模式,请从命令行运行以下命令:
cd /opt/Citrix/ICAClient/util
<!--NeedCopy-->
./gst_read -o ~/file_buffers.h264 -e
 <!--NeedCopy-->
此模式所需的唯一开关为 --output_file (-o) 选项。还可以测试 Theora 或 H264 编码器以及要生成的缓冲区量。例如,请参阅以下内容:
- 对于 H264:./gst_read –output_file ~/file_buffers.h264 –buffers 200 –enableH264
- 对于 Theora:./gst_read -o ~/file_buffers.theora -b 100
下图描述了编码器测试器模式:

H264 软件编码器
如果基于软件的 H264 编码器无法正常运行,则必须使用以下步骤验证其依赖项:
- 
    验证 x264 GStreamer插件是否作为gstreamer-plugins-ugly的一部分存在于系统中。如果在libgstx264.so库中可用,请运行以下命令进行验证:gst-inspect-1.0 x264 <!--NeedCopy--> 
- 
    运行以下命令验证 libgstx264.so库的依赖项:ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstx264.so <!--NeedCopy--> 
如果 libgstx264.so 文件不存在,则必须使用以下命令安装 GStreamer 插件:
sudo apt-get install gstreamer1
0-plugins-ugly
<!--NeedCopy-->
H264 硬件编码器
- 
    验证 vaapi GStreamer插件是否作为gstreamer1.0-vaapi的一部分存在于系统中。如果在libgstvaapi.so库中可用,请运行以下命令进行验证:gst-inspect-1.0 vaapi <!--NeedCopy--> 
- 
    运行以下命令以验证 libgstvaapi.so 库的依赖项: ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so <!--NeedCopy--> 
- 
    解决任何缺失的依赖项。 
要安装和配置 vaapi,请按照 GStreamer vappi 安装指南进行操作。
收集内部 GStreamer 框架和 gst_read 日志
作为常规 ICAClient 日志的替代方法,您必须从 gst_read 模块中收集日志。
请执行以下操作以收集日志:
- 
    打开终端并运行以下命令: export GST_DEBUG=2, gst_read_debug:6 <!--NeedCopy-->export GST_DEBUG_FILE=~/gst_read.log <!--NeedCopy-->注意: 此变量设置日志收集级别以及用于存储日志的文件。在这种情况下,我们为 GStreamer框架设置级别 2,为gst_read模块设置级别 7。有关详细信息,请参阅 文档。建议仅为内部GStreamer框架设置错误和警告级别,为gst_read设置日志级别。
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: cd /opt/Citrix/ICAClient <!--NeedCopy-->./wfica <ICA file path>/vda.ica <!--NeedCopy-->
gst_read.log 文件是使用内部 GStreamer 框架和 gst_read 日志生成的。
GStreamer 管道检查
要查看 GStreamer 框架正在创建的实际管道,请执行以下操作:
- 创建一个文件夹来存储点文件,例如:gstIntPipes。
- 打开终端并导出 GST_DEBUG_DUMP_DOT_DIR=<Absolute path>/gstIntPipes。此变量指示点文件的存储GStreamer位置。
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: cd /opt/Citrix/ICAClient/ <!--NeedCopy-->./wfica <ICA file path>/vda.ica <!--NeedCopy-->
- 
    该目录 gstIntPipes包含点文件。GStreamer为管道中的每种状态变更生成一个点文件。因此,您可以检查创建管道的所有过程。下面是一组点文件的示例: 
- 安装点文件实用程序以查看管道的可视化表示。例如,Graphviz。下图是创建管道的优劣的示例:
管道已成功创建:

管道无法链接:

注意:
要放大前面的示意图或任何其他示意图,请右键单击该示意图,选择 Open image in new tab(在新选项卡中打开示意图),然后根据需要缩放浏览器。
如上图所示,第二个管道无法链接 GstCapsFilter 元素和 GstVaapiEncodeH264 元素。这些功能从未经过充分协商。有关详细信息,请参阅 文档。
RAVE 的系统诊断脚本
我们提供了脚本 rave_troubleshooting.sh,用于验证系统配置和依赖项是否适合支持远程音频视频扩展 (RAVE)。
注意:
RAVE 是一项 HDX 功能,支持优化的网络摄像机重定向和面向 Citrix VDA 的 Windows Media Player 重定向。
请执行以下操作来运行脚本:
- 请单击 rave_troubleshooting.sh 下载该脚本。
- 在 Linux 计算机中打开端点。
- 键入 rave_troubleshooting.sh --help或rave_troubleshooting.sh -h可查看支持的命令行参数。
- 
    键入下面其中一个命令: - 
rave_troubleshooting.sh -w或rave_troubleshooting.sh --webcam- 使用此命令可对网络摄像机重定向运行检查。此命令是默认命令。
- 
rave_troubleshooting.sh -r或rave_troubleshooting.sh --rave- 使用此命令可运行 RAVE 的检查。此时将显示一个播放 h264 测试视频的弹出窗口。
 此时将显示系统配置和依赖项。 
- 
通用 USB 重定向
如何将 Android 手机重定向为通用 USB
可以按如下所示将 Android 手机重定向为通用 USB:
- 使用 USB 电缆将您的 Android 手机连接到安装了适用于 Linux 的 Citrix Workspace 应用程序的系统。
- 在手机上选择 USB 连接模式(MTP 或 PTP)。对于大多数 Android 手机,支持的模式为 PTP。
- 
    在终端中键入以下内容,从设备描述符 (VID) 中获取 Android 手机的供应商 ID,从设备描述符 (PID) 中获取产品 ID: lsusb <!--NeedCopy-->
- 记下您的 Android 手机的 VID 和 PID。
- 导航到 usb.conf文件。
- 
    在 usb.conf文件末尾添加CONNECT vid=<vid of your phone> pid=<pid of your phone> split=01 intf=00行。例如,请按如下所示进行添加:CONNECT vid=18d1 pid=4ee2 split=01 intf=00 <!--NeedCopy-->
- 导航到 Desktop Viewer 工具栏中的设备菜单。
- 选择要重定向的 Android 手机。
浏览器
本地浏览器
在 Windows 会话中单击某个链接时,链接内容将显示在本地浏览器中。wfclient.ini 中启用了服务器到客户端内容重定向功能。此重定向将导致本地应用程序运行。要禁用服务器-客户端内容重定向,请参阅服务器-客户端内容重定向。
访问已发布的资源
访问已发布的资源时,您的浏览器会提示保存文件。除 Firefox 和 Chrome 外,可能需要对其他浏览器进行配置才能连接到已发布的资源。但在尝试通过单击该页面上的图标访问资源时,浏览器将提示您保存 ICA 文件。
特定浏览器
如果使用特定 Web 浏览器时遇到问题,请在运行 setupwfc 前,设置环境变量 BROWSER,以指定所需浏览器的本地路径和名称。
Firefox 浏览器
在 Firefox 中启动桌面或应用程序时,如果页面没有响应,请尝试启用 ICA 插件。
Firefox 中的 ICA 插件
在 Firefox 中启用了 ICA 插件时,桌面和应用程序会话可能未启动。在这种情况下,请尝试禁用 ICA 插件。
配置错误
如果某个连接条目配置不正确,可能会出现以下错误。
E_MISSING_INI_SECTION - 验证配置文件:“…”。配置文件中的“…”部分丢失。
配置文件存在编辑错误或已损坏。
E_MISSING_INI_ENTRY - 验证配置文件:“…”。“…”部分中必须包含条目“…”。
配置文件存在编辑错误或已损坏。
E_INI_VENDOR_RANGE - 验证配置文件:“…”。配置文件中的 X 服务器供应商范围“…”无效。
配置文件中的 X 服务器供应商信息已损坏。请与 Citrix 联系。
wfclient.ini 配置错误
如果未正确编辑 wfclient.ini,则可能会出现以下错误。
E\_CANNOT\_WRITE\_FILE - Cannot write file: "..."
保存连接数据库时出错;例如无磁盘空间。
E\_CANNOT\_CREATE\_FILE - Cannot create file: "..."
创建连接数据库时出错。
E_PNAGENT_FILE_UNREADABLE - 无法读取 Citrix Virtual Apps 文件“…”: 无此类文件或目录。
— 或 —
无法读取 Citrix Virtual Apps 文件“…”: 权限被拒绝。
您尝试通过桌面项或菜单访问资源,但该资源对应的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件不可用。请在查看菜单中选择应用程序刷新以刷新已发布的资源列表,然后重新尝试访问该资源。如果错误仍然存在:
- 检查桌面图标或菜单项的属性
- 检查图标或项目所引用的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件。
浏览器内容重定向
有关如何排除浏览器内容重定向故障的信息,请参阅知识中心文章 CTX230052。
如何将自签名证书导入 nssdb
在终端中运行以下命令以将自签名证书导入到 nssdb 中:
certutil -A -n "badssl.cer" -t "C,," -d ~/.pki/nssdb -i ~/Downloads/badssl.cer
<!--NeedCopy-->
命令中的参数如下:
- 
-A- 向数据库中添加证书。
- 
-n- 证书的名称。此参数是可选的,可用于添加昵称。
- 
"badssl.cer"- 从 badssl.com 站点导出的证书的名称。
- 
-t "C,,"--t表示 TRUSTARGS,C 表示 CA 证书。有关详细信息,请参阅 Google 文档。
- 
-d ~/.pki/nssdb- 数据库的位置。
- 
-i- 表示输入文件。此参数用于添加证书文件的位置和名称。
有关 BCR 的信息,请参阅 Citrix Virtual Apps and Desktops 文档中的浏览器内容重定向页面。
其他
连接问题
您可能还会发现以下问题。
关闭会话
要了解服务器是否已指示 Citrix Workspace 应用程序关闭会话,请使用 wfica 程序。此程序在收到来自服务器的终止会话命令时进行记录。
要通过 syslog 系统记录此信息,请将值为 6 的 SyslogThreshold 添加到配置文件的 [WFClient] 部分中。此设置将启用优先级为 LOG_INFO 或更高的消息日志记录功能。SyslogThreshold 的默认值为 4 (=LOG_WARNING)。
同样,要使 wfica 将消息发送到标准错误,请将值为 6 的 PrintLogThreshold 添加到 [WFClient] 部分。PrintLogThreshold 的默认值为 0 (=LOG_EMERG)。
有关日志收集的详细信息,请参阅日志收集,有关 syslog 配置的详细信息,请参阅 syslog 配置。
配置文件设置
wfclient.ini 中的每个条目都必须在 All_Regions.ini 中有对应的条目,这样该设置才能生效。此外,wfclient.ini 文件的 [Thinwire3.0]、[ClientDrive] 和 [TCP/IP] 部分中的每个条目都必须在 canonicalization.ini 中有对应的条目,该设置才能生效。有关详细信息,请参阅 $ICAROOT/config 目录中的 All_Regions.ini 和 canonicalization.ini 文件。
已发布的应用程序
如果运行访问串行端口的已发布的应用程序时遇到问题,则当该端口被其他应用程序锁定时,该应用程序可能会失败(是否显示错误消息取决于应用程序本身)。在此类情况下,请检查是否有其他应用程序临时锁定了该串行端口,或者是否有锁定该串行端口的应用程序在退出时未释放该端口。
要解决此问题,请停止阻止串行端口的应用程序。对于 UUCP 样式的锁定,应用程序退出后可能会在后面遗留一个锁定文件。这些锁定文件所在的位置取决于使用的操作系统。
启动 Citrix Workspace 应用程序
如果 Citrix Workspace 应用程序未启动,并显示“找不到应用程序默认文件或该文件已过期”消息。原因可能是未正确定义环境变量 ICAROOT。如果将 Citrix Workspace 应用程序安装到非默认位置,则必须设置此变量。要解决此问题,Citrix 建议执行以下操作之一:
- 
    将 ICAROOT 定义为安装目录。 要检查是否正确定义了 ICAROOT 环境变量,请尝试从终端会话启动 Citrix Workspace 应用程序。如果仍显示该错误消息,则可能未正确定义 ICAROOT 环境变量。 
- 
    将 Citrix Workspace 应用程序重新安装到默认位置。有关安装 Citrix Workspace 应用程序的详细信息,请参阅安装和设置。 如果先前将 Citrix Workspace 应用程序安装到默认位置,请在重新安装前删除 /opt/Citrix/ICAClient或$HOME/ICAClient/platform目录。
Citrix CryptoKit(以前称为 SSLSDK)
要查找您正在运行的 Citrix CryptoKit(以前称为 SSLSDK)或 OpenSSL 的版本号,可以使用以下命令:
strings libctxssl.so | grep "Citrix SSLSDK"
还可以在 AuthManagerDaemon 或 PrimaryAuthManager 上运行此命令
键盘快捷方式
如果窗口管理器使用相同的键组合提供本机功能,您的键组合可能不起作用。例如,KDE 窗口管理器使用 Ctrl+Shift+F1 到 Ctrl+Shift+F4 的键组合在桌面 13 到 16 之间切换。如果遇到此问题,请尝试以下解决方案:
- 键盘上的转换模式将一组本地键组合映射到服务器端键组合。例如,在转换模式下,默认将 Ctrl+Shift+F1 映射到服务器端键组合 Alt+F1。要将此映射重新配置为备用本地键组合,请更新 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中的以下条目。此设置会将本地键组合 Alt+Ctrl+F1 映射到 Alt+F1:
    - 将 Hotkey1Shift=Ctrl+Shift 更改为 Hotkey1Shift=Alt+Ctrl。
 
- 键盘上的直接模式将所有键组合直接发送到服务器。这些键组合不在本地处理。要配置直接模式,请在 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中,将 TransparentKeyPassthrough 设置为 Remote。
- 重新配置窗口管理器,使其阻止使用默认键盘组合。
远程 Croatian 键盘
以下过程可确保将 ASCII 字符正确发送到具有 Croatian 键盘布局的远程虚拟机。
- 在相应配置文件的 WFClient 部分中,将 UseEUKSforASCII 设置为 True。
- 将 UseEUKS 设置为 2。
日语键盘
要配置对日语键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Japanese (JIS)
ABNT2 键盘
要配置对 ABNT2 键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Brazilian (ABNT2)
本地键盘
如果本地键盘上的某些键未按预期运行,请从 $ICAROOT/config/module.ini 的列表中选择最相配的服务器布局。
Windows Media Player
Citrix Workspace 应用程序可能没有 GStreamer 插件,无法处理请求的格式。此问题通常会导致服务器请求其他格式。有时首次检查适用的插件会错误地指出已存在一个插件。此问题通常会被检测到,并且会导致服务器上出现一个错误对话框,指示 Windows Media Player 在播放文件时遇到问题。在会话中重试文件通常有效,因为 Citrix Workspace 应用程序拒绝该格式。因此,服务器会请求其他格式或提供媒体本身。
在少数情况下,尽管进度指示器在 Windows Media Player 中按预期移动,但检测不到恰当的插件,并且无法正确播放文件。
要避免显示此错误对话框,或者避免在将来的会话中播放失败,请执行以下操作:
- 
    临时将配置选项“SpeedScreenMMAVerbose=On”添加到 $Home/.ICAClient/wfclient.ini(举例)的 [WFClient] 部分。 
- 
    通过已从终端启动的自助服务重新启动 wfica。
- 
    播放导致出现此错误的视频。 
- 
    记录(在跟踪输出中)与缺失插件跟踪关联的 MIME 类型,或者记录必须受支持但不播放的 MIME 类型(例如“video/x-h264..”)。 
- 
    编辑 $ICAROOT/config/MediaStreamingConfig.tbl。在包含记录的 MIME 类型的行中,在“:”与 MIME 类型之间插入“?”。此设置禁用该格式。 
- 
    对引发此错误情况的其他媒体格式重复(上述)步骤 2 - 5。 
- 
    将修改后的 MediaStreamingConfig.tbl 分发到安装了相同的一组 GStreamer插件的其他计算机。
注意:
也可以在识别 MIME 类型后安装
GStreamer插件进行解码。
用于验证 Windows Media Player 重定向的系统要求的脚本
在 2307 版本中,引入了一个新的 bash 脚本,用于验证适用于 Linux 的 Citrix Workspace 应用程序中 Windows Media Player 重定向功能所需的配置。此功能有助于缩短 Windows Media Player 重定向功能的故障排除时间。要验证配置,您可以使用 RAVE 的系统诊断脚本中提供的相同 rave_troubleshooting.sh。
串行端口设置
要配置一个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=1
ComPort1=device
要配置两个或多个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=2
ComPort1=device1
ComPort2=device2
错误
本主题列出了在使用 Citrix Workspace 应用程序时可能出现的其他常见错误消息。
出现错误。错误代码为 11 (E_MISSING_INI_SECTION)。请参阅相关文档。正在退出。
从命令行运行 Citrix Workspace 应用程序时,此错误通常意味着在 appsrv.ini 文件中未找到命令行中指定的说明。
E_BAD_OPTION - 选项“…”无效。
选项“…”缺少参数。
E_BAD_ARG - 选项“…”具有无效参数: …。
为选项“…”指定了无效参数。
E_INI_KEY_SYNTAX - 密钥“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_INI_VALUE_SYNTAX - 值“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_SERVER_NAMELOOKUP_FAILURE - 无法连接到服务器“…”。
无法解析服务器名称。
无法写入一个或多个文件: …。请更正任何磁盘满载问题或权限问题并重试。
检查是否存在磁盘已满问题或权限问题。如果发现问题,请予以更正,并重试提示此错误消息的操作。
服务器连接已断开。请重新连接并重试。以下文件可能丢失数据: …。
重新连接并重试提示此错误消息的操作。
诊断信息
如果在使用 Citrix Workspace 应用程序时遇到问题,可能需要向技术支持部门提供诊断信息。此信息可帮助此团队尝试诊断问题并提供帮助来修复该问题。
获取与 Citrix Workspace 应用程序有关的诊断信息:
- 
    在安装目录中,键入 util/lurdump。建议您在会话处于打开状态时以及(如有可能)出现问题时执行此修改。 此时将生成一个包含详细诊断信息的文件,其中包括版本详细信息、Citrix Workspace 应用程序的配置文件内容以及各系统变量的值。 
- 
    将该文件发送给 Citrix 技术支持部门之前,请检查文件中是否包含机密信息。 
对与资源的连接进行故障排除
用户可以使用连接中心管理其活动的连接。此功能是一个非常有用的生产力促进工具,通过该工具,用户和管理员可以对速度缓慢或有问题的连接进行故障诊断并解决出现问题。在连接中心中,用户可以通过以下方法管理连接:
- 关闭应用程序。
- 注销会话。此步骤将结束会话并关闭任何打开的应用程序。
- 从会话中断开会话。此步骤将在不关闭任何打开的应用程序的情况下断开与服务器的选定连接(除非服务器配置为在断开连接时关闭应用程序)。
- 查看连接传输统计数据。
日志收集
在早期版本中,debug.ini 和 module.ini 文件用于配置日志记录。
自版本 2009 起,您可以使用以下方法之一配置日志收集:
- 命令行接口
- GUI
同样,自版本 2009 起,debug.ini 配置文件将从 Citrix Workspace 应用程序安装程序软件包中删除。
日志会将 Citrix Workspace 应用程序部署详细信息、配置更改以及管理活动捕获到日志收集数据库。第三方开发人员可以使用日志收集 SDK(作为 Citrix Workspace 应用程序平台优化 SDK 的一部分捆绑在一起)来应用此日志收集机制。
可以使用日志信息执行以下操作:
- 诊断和排除任何更改后出现的问题。日志提供浏览路径记录。
- 协助更改管理和跟踪配置。
- 报告管理活动。
如果使用 root 用户权限安装 Citrix Workspace 应用程序,则日志将存储在 /var/log/citrix/ICAClient.log 中。否则,日志将存储在 ${HOME}/.ICAClient/logs/ICAClient.log 中。
安装 Citrix Workspace 应用程序时,将创建一个名为 citrixlog 的用户以处理日志记录功能。
命令行接口
- 在命令提示符下,导航至 /opt/Citrix/ICAClient/util路径。
- 
    运行以下命令以设置日志首选项。 ./setlog help
此时将显示所有可用命令。
下表列出了各种模块和及其相应的跟踪类值。要获取特定的命令行日志值集,请使用下表:
| 模块 | 日志类 | 
|---|---|
| 断言 | LOG_ASSERT | 
| 音频监视器 | TC_CM | 
| 基于 CEF 的 BCR | TC_CEFBCR | 
| 客户端音频映射 | TC_CAM | 
| 连接中心 | TC_CONNCENTER | 
| 客户端通信端口 | TC_CCM | 
| 客户端驱动器映射 | TC_CDM | 
| 剪辑 | TC_CLIP | 
| 客户端打印机映射 | TC_CPM | 
| 客户端打印机映射 | TC_CPM | 
| 字体 | TC_FONT | 
| 帧 | TC_FRAME | 
| 图形抽象 | TC_GA | 
| 输入法编辑器 | TC_IME | 
| IPC | TC_IPC | 
| 键盘映射 | TC_KEY | 
| 许可驱动程序 | TC_VDLIC | 
| 多媒体 | TC_MMVD# 故障排除 | 
本文中提供的信息可帮助管理员解决 Citrix Workspace 应用程序出现的问题。
连接
您可能会遇到以下连接问题。
已发布的资源或桌面会话
与 Windows 服务器建立连接时,如果显示带有“正在连接到服务器…”消息的对话框,但以后不显示连接窗口,则可能需要为服务器配置客户端访问许可证 (Client Access License, CAL)。有关许可的详细信息,请参阅许可。
会话重新连接
重新连接到颜色深度高于 Citrix Workspace 应用程序所需的颜色深度的会话时,连接可能会失败。服务器上的可用内存不足时会出现此故障。
如果重新连接失败,Citrix Workspace 应用程序将尝试使用初始颜色深度。否则,服务器将尝试以所请求的颜色深度启动一个新会话,而将初始会话保持在断开连接状态。如果服务器上的可用内存仍然不足,则第二个连接也可能会失败。
完整 Internet 名称
Citrix 建议您在网络上配置 DNS(域名服务器)。此配置使您能够解析要连接的服务器的名称。如果不配置 DNS,则可能无法将服务器名称解析为 IP 地址。您也可以改为按 IP 地址(而非名称)指定服务器。TLS 连接要求完全限定的域名,而非 IP 地址。
会话速度缓慢
如果某个会话在您移动鼠标后才启动,Linux 内核中的随机数字生成功能可能存在问题。解决方法:运行一个熵生成的后台程序,例如 <!JEKYLL@5260@0>(基于硬件)或 <!JEKYLL@5260@1>(来自 Magic Software)。
发送有关 Citrix Workspace 应用程序的反馈
发送反馈选项允许您通知 Cloud Software Group 在使用 Citrix Workspace 应用程序过程中可能会遇到的任何问题。您也可以发送建议,以帮助我们改善您的 Citrix Workspace 应用程序体验。
这项新功能增强了反馈体验,确保了用户与支持团队之间更高效、信息更丰富的沟通渠道。
发送反馈选项包括集成的日志管理器,使用户能够捕获并包括相关日志以生成全面的反馈报告。
此外,发送反馈使用户能够使用其系统中安装的默认邮件客户端直接发送反馈电子邮件来提供无缝通信。
支持的电子邮件客户端如下:
- Thunderbird
- Evolution
- Mutt
- Alpine
要配置用于发送反馈的电子邮件地址,请执行以下操作:
在 <!JEKYLL@5260@2> 文件中添加以下密钥:
<!JEKYLL@5260@3>
注意:
向 Cloud Software Group 发送反馈,即表示您同意您的参与符合 Cloud Software Group 最终用户协议并受其约束。
可以使用以下任一方法发送反馈:
- 导航到添加帐户屏幕。
- 单击汉堡菜单。
- 
    单击发送反馈。  
或者,
- 
    单击应用程序指示器图标中的发送反馈。  
或者,
- 在命令行中,导航到 <!JEKYLL@5260@4> 路径。
- 
    运行以下命令: <!JEKYLL@5260@5> 
- 
    此时将出现发送反馈屏幕。  
- 提供问题的 Title(标题)。
- 在 Tell us more(告诉我们更多信息)字段中添加问题详细信息。
- 
    单击 Capture my issue(捕获我的问题)。此时将出现 Citrix 日志收集实用程序屏幕。  单击 Start capture(开始捕获),然后重现问题以收集最新的日志。 或者, 如果您无法重现该问题,请单击 Choose existing logs(选择现有日志)。 注意: 有关 Citrix 日志收集实用程序的详细信息,请参阅日志收集。 
- 请确保日志文件显示在 Capture my issue(捕获我的问题)旁边。
- 
    单击选择文件,然后添加用于描述您的问题的附件,例如屏幕截图或屏幕录制文件。  
- 
    单击发送。此时将出现Feedback report(反馈报告)屏幕。  .tar.gz 文件包含日志文件、作为测试文件的问题描述以及附件。 
- 
    您可以使用以下选项将反馈报告发送给 Citrix: 单击 Send the feedback report using the default email app(使用默认电子邮件应用程序发送反馈报告)以使用系统中的默认邮件应用程序。 或者, 手动将报告发送到提供的电子邮件 ID。 
注意:
请确保电子邮件中附加了 .zip 文件。
密码套件
如果连接失败,并提供新的加密支持:
- 可以使用各种工具来检查服务器支持的密码套件,包括:
    - <!JEKYLL@5260@6>(要求服务器具有 Internet 访问权限)
- <!JEKYLL@5260@7> (<!JEKYLL@5260@8>)
 
- 在 Linux 客户端 WireShark 中,使用过滤器 (ip.addr == <!JEKYLL@5260@9>) 查找数据包 (Client Hello, Server Hello) 以查找 SSL 部分。结果包含由客户端发送并由服务器接受的密码套件。
Citrix 优化 SDK 不正确
Citrix Optimization SDK 软件包包含不正确的 <!JEKYLL@5260@10> 版本。解决方法:执行以下操作之一:
- 
    从下载页面下载 Citrix Optimization SDK 软件包版本 18.10。 - 
        转至路径 <!JEKYLL@5260@11>: <!JEKYLL@5260@12> 
- 
        删除所有对象文件: <!JEKYLL@5260@13> 
- 
        转到 WebKit 文件夹: <!JEKYLL@5260@14> 
- 
        删除现有的 <!JEKYLL@5260@15>: <!JEKYLL@5260@16> 
- 
        在 WebKit 目录中使用以下命令: <!JEKYLL@5260@17> 新的 <!JEKYLL@5260@18> 已生成。 
- 
        将新库复制到 $ICAROOT/lib 目录中。 
 
- 
        
适用于 SSL 连接的弱密码套件
建立 TLS 连接时,Citrix Workspace 应用程序默认情况下将提供一组严格的高级密码套件。
如果要连接到需要较旧的密码套件的服务器,请在配置文件的 [WFClient\] 部分中设置配置选项 <!JEKYLL@5260@19>。
支持以下高级密码套件:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)、ALL、COM
连接中断
使用 EDT 协议时,您可能会看到以下错误消息:与“…”的连接已断开。如果连接是通过适用于 EDT 的最大传输单位小于默认值 1500 字节的路由器建立的,可能会出现此问题。请执行以下操作:
- 在配置文件中设置 <!JEKYLL@5260@20>。
连接错误
连接错误可能会产生各种不同的错误对话框。示例如下:
- 连接出错: 与身份验证服务通信时出现协议错误。
- 无法联系身份验证服务。
- 无法使用此服务器地址添加您的帐户。
某些问题可能会导致出现此类错误,包括:
- 本地计算机和远程计算机无法协商通用 TLS 协议时可能会出现错误。有关详细信息,请参阅 TLS。
- 远程计算机需要对 TLS 连接使用较旧的密码套件时可能会出现错误。在这种情况下,您可以在配置文件的 <!JEKYLL@5260@21> 部分中设置配置选项 <!JEKYLL@5260@22>,然后在重新启动连接之前运行 <!JEKYLL@5260@23>。
- 远程计算机不恰当地请求客户端证书时可能会出现错误。IIS 必须仅接受或要求提供 Citrix、Authentication 和 Certificate 的证书。
- 其他问题。
低带宽连接
Citrix 建议您在服务器上使用最新版本的 Citrix Virtual Apps and Desktops 或 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)。此外,请在用户设备上使用最新的 Citrix Workspace 应用程序。
如果使用低带宽连接,则可以更改 Citrix Workspace 应用程序的配置以及 Citrix Workspace 应用程序的使用方法以提高性能。
- 配置 Citrix Workspace 应用程序连接 - 配置 Citrix Workspace 应用程序连接可以降低 ICA 所需的带宽并提高性能
- 更改 Citrix Workspace 应用程序的使用方式 - 更改 Citrix Workspace 应用程序的使用方式还可以降低实现高性能连接所需的带宽
- 启用 UDP 音频 - 此功能可以在阻塞的网络上保持 IP 语音 (VoIP) 连接中延迟的一致性
- 使用最新版本的适用于 Linux 的 Citrix Workspace 应用程序和 Citrix Virtual Apps and Desktops 或 Citrix DaaS - Citrix 不断地增强和提升每个版本的性能,许多性能功能需要最新的 Citrix Workspace 应用程序和服务器软件
显示
屏幕撕裂
在水平块中,两个(或多个)不同的帧的几个部分同时出现在屏幕上时会出现屏幕撕裂的情况。在桌面上内容更改频率非常快的大型区域中此问题最常见。
在 VDA 上捕获数据时可避免屏幕撕裂。当数据传递到客户端时,不会引入屏幕撕裂现象。但是,X11(Linux/Unix 图形子系统)没有提供一致的方式来防止屏幕撕裂。
为防止屏幕撕裂,Citrix 建议您使用将应用程序绘制与屏幕绘制同步的标准方法。即,等待 <!JEKYLL@5260@24> 启动下一帧的绘制。根据客户端上的图形硬件和您使用的窗口管理器,以下两组解决方案可用于防止屏幕撕裂:
- X11 GPU 设置
- 使用组合管理器
X11 GPU 配置
对于 Intel 高清图形,请在名为 20-intel.conf 的 xorg.conf.d 中创建一个包含以下内容的文件:
Section "Device"
 Identifier    "Intel Graphics"
 Driver        "intel"
 Option        "AccelMethod" "sna"
 Option        "TearFree" "true"
 EndSection
对于 NVIDIA 图形,请在 xorg.conf.d 文件夹中找到包含您的配置的“MetaModes”选项的文件。对于所使用的每个以逗号分隔的 MetaMode,请添加以下内容:
{ForceFullCompositionPipeline = On}
例如:
Option “MetaModes” “DFP-0: 1920x1200 +0+0 {ForceFullCompositionPipeline = On}”
注意:
不同的 Linux 分发包使用不同的 xorg.conf.d 路径,例如 /etc/X11/xorg.conf.d 或 /user/share/X11/xorg.conf.d。
组合管理器
使用以下命令:
- 
    Compiz(嵌入到 Ubuntu Unity 中)。安装“CompizConfig Settings Manager”。 运行“CompizConfig Settings Manager”。 在常规 > 撰写下,取消选中取消重定向全屏窗口。 
注意:
使用“CompizConfig Settings Manager”时应谨慎,因为错误地更改值会阻止系统启动。
- 
    Compton(加载项实用程序)。有关完整的详细信息,请参阅 Compton 的主页/文档。例如,请运行以下命令: <!JEKYLL@5260@25> 
击键不正确
如果使用的是非英文键盘,屏幕显示与键盘输入可能不匹配。在这种情况下,必须指定所使用的键盘类型和布局。有关指定键盘的详细信息,请参阅 Control keyboard behavior(控制键盘行为)。
过度重绘
移动无缝窗口时,某些窗口管理器会不断报告新的窗口位置,导致过度重绘。要解决此问题,请将窗口管理器切换到在移动窗口时仅绘制窗口轮廓的模式。
图标兼容性
Citrix Workspace 应用程序创建的窗口图标与大多数窗口管理器兼容。但是,这些图标与 X 客户端间通信约定并不完全兼容。
完全图标兼容性
要提供完全图标兼容性,请执行以下操作:
- 打开 wfclient.ini 配置文件。
- 在 [WFClient] 部分中编辑以下行:UseIconWindow=True
- 保存并关闭该文件。
光标颜色
如果光标的颜色与背景色相同或相似,则可能难以看到光标。可以将光标区域的颜色强制设置为黑色或白色来修复此问题。
更改光标颜色
- 
    打开 wfclient.ini 配置文件。 
- 
    在 [WFClient] 部分添加以下行之一: CursorStipple=ffff,ffff(将光标设置为黑色) CursorStipple=0,0(将光标设置为白色) 
- 
    保存并关闭该文件。 
彩色闪光
将鼠标移入或移出连接窗口时,非焦点窗口中的颜色开始闪烁。此问题是将 X Windows 系统与伪彩色显示结合使用时的已知限制。如有可能,请为受影响的连接使用更高的颜色深度。
使用真彩色显示器的颜色变化
连接到服务器时,用户可以选择使用 256 色。此选项假定视频硬件支持调色板,使应用程序能够更改调色板颜色,以产生动画显示效果。
真彩色显示没有相应的机制来模拟通过快速更改调色板来产生动画效果的功能。从时间和网络流量角度来说,通过软件模拟此机制的代价非常高。为降低此项成本,Citrix Workspace 应用程序将缓冲快速的调色板更改操作,并每隔几秒钟更新一次实时调色板。
显示错误
Citrix Workspace 应用程序对日语字符使用 EUC-JP 或 UTF-8 字符编码,而服务器则使用 SJIS 字符编码。Citrix Workspace 应用程序无法在这些字符集之间进行转换。此问题可能会导致显示以下对象时出现问题:
- 保存在服务器上并在本地查看的文件
- 保存在本地并在服务器上查看的文件
此问题还会影响在扩展参数传递中所用的参数中的日语字符。
会话宽幅显示
全屏会话默认跨多个显示器,但还可以使用命令行多显示器显示控制选项 -span。通过该选项,可以将全屏会话跨额外的显示器显示。
通过 Desktop Viewer 工具栏功能,您可以在窗口化会话窗口与全屏会话窗口之间切换,包括对相交显示器的多显示器支持。
重要:
对于采用无缝或标准窗口的会话(包括已最大化的窗口中的会话),宽幅显示不起作用。
- span 选项采用以下格式: -span [h][o][a|mon1[,mon2[,mon3, mon4]]]
如果指定了 <!JEKYLL@5260@26>,则将在 <!JEKYLL@5260@27> 中输出显示器列表。如果 <!JEKYLL@5260@28> 是完整的选项值,<!JEKYLL@5260@29> 将退出。
如果指定了 <!JEKYLL@5260@30>,则会话窗口将带有 <!JEKYLL@5260@31> 属性。
小心:
- 建议不要使用此选项。它旨在作为与不兼容的窗口管理器一起使用的最后一个选项。
- 会话窗口对该窗口管理器不可见,没有图标,也无法重新创建堆栈。
- 只能通过结束会话来删除此值。
如果指定了 <!JEKYLL@5260@32>,Citrix Workspace 应用程序将尝试创建一个在所有显示器中显示的会话。
Citrix Workspace 应用程序假定其余的 -span 选项值为显示器编号的列表:
- 单个值将选择特定的监视器。
- 两个值将选择所需区域左上角和右下角的监视器。
- 四个值将指定区域顶部、底部、左侧和右侧边缘的监视器。
如果未指定 <!JEKYLL@5260@33>,wfica 将使用 _NET_WM_FULLSCREEN_MONITORS 消息从窗口管理器中请求相应的窗口布局(如果支持该功能)。否则,将使用尺寸和位置提示来请求所需的布局。
可以使用以下命令来测试窗口管理器是否支持该功能: <!JEKYLL@5260@34>
如果没有输出,则不支持该功能。如果不支持,可能需要一个覆盖重定向窗口。可以使用 <!JEKYLL@5260@35> 设置覆盖重定向窗口。
从命令行设置跨额外的显示器的会话:
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@36> 用户设备当前所连接的显示器编号列表将打印到 <!JEKYLL@5260@37>,<!JEKYLL@5260@38> 将退出。 
- 
    请记下这些显示器编号。 
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@39> w、x、y 和 z 值是上面的步骤中的步骤 1 中的监视器编号。单个值 w 将指定特定的监视器。两个值 w 和 x 指定所需区域的左上角和右下角的监视器。四个值 w、x、y 和 z 指定区域顶部、底部、左侧和右侧边缘的监视器。 重要: - 在通过浏览器启动自助服务之前,定义 WFICA_OPTS 变量。要定义此变量,请编辑配置文件(通常位于 $HOME/.bash_profile 或 $HOME/.profile),在其中添加一行来定义 WFICA_OPTS 变量。例如: <!JEKYLL@5260@40>
- 此更改同时影响虚拟应用程序和桌面会话。
- 如果已启动自助服务或 <!JEKYLL@5260@41>,请删除启动的进程,以便新环境变量能够生效。请通过以下命令将其删除:<!JEKYLL@5260@42>
 
本地应用程序
您可能不会退出全屏会话以使用本地应用程序或其他会话。出现此问题的原因是客户端系统用户界面被隐藏,键盘透明度功能禁用了常见键盘命令(例如 Alt+Tab),改为将命令发送到服务器。
解决方法:使用 Ctrl+F2 暂时清除键盘透明度功能,直至焦点下次返回会话窗口。备选解决方法为在 $ICAROOT/config/module.ini 中将 TransparentKeyPassthrough 设置为 No。此解决方法将禁用键盘透明度功能。但是,您可能需要通过在 All_regions.ini 文件中添加此设置来覆盖 ICA 文件。
改进了错误消息
以前,所有错误消息都有默认错误代码以及不针对该错误的描述。自 Citrix Workspace 应用程序版本 2309 起,错误消息经过改进,包括了错误特有的错误代码、事务 ID 和说明字段。当会话开始使用 ICA 启动或者在启用了服务连续性功能的情况下启动会话时,会出现这些错误消息。
例如,如果会话启动失败,则会显示以下错误消息:

网络摄像机
更新默认网络摄像机
目前,适用于 Linux 的 Citrix Workspace 应用程序中的网络摄像机重定向一次仅支持一个网络摄像机。所选的默认网络摄像机会映射到设备路径 <!JEKYLL@5260@43>,通常是便携式计算机中的内置网络摄像机。
必须使用以下命令安装 v4l 工具,才能列出系统中具有视频功能的所有设备:
<!JEKYLL@5260@44>
使用以下命令列出视频设备:
<!JEKYLL@5260@45>
您可能会收到如下输出:
<!JEKYLL@5260@46>
根据前面的示例,有两个网络摄像机。您可以使用其中的任何一个。Citrix 建议使用第一个索引。Ubuntu 存在已知问题,因此您可能会看到一个网络摄像机的多个索引。在此示例中,您可以使用 /dev/video0 和 /dev/video2。
要将其他捕获视频设置为默认值,请执行以下操作:
- 导航到 <!JEKYLL@5260@47> 配置文件并对其进行编辑。
- 
    在 [WFClient] 部分中,添加以下设置。 <!JEKYLL@5260@48> 
例如,添加 <!JEKYLL@5260@49> 以在系统中设置映射到 <!JEKYLL@5260@50> 的网络摄像机。
测试功能
在客户端上,网络摄像机重定向模块可以在不同的模式下用于在客户环境条件下测试隔离的组件。
生产和调试模式
此模式将在 VDA 端显示的视频与编码器在客户端产生的实际缓冲区进行比较。它允许测试整个管道。
要启用此模式,请执行以下操作:
- 导航到 <!JEKYLL@5260@51> 配置文件并对其进行编辑。
- 
    将 <!JEKYLL@5260@52> 值设置为 True。 HDXWebcamDebug=True 
启用此模式后,编码器将使用缓冲区生成以下文件,具体取决于所使用的编码器:
- 对于 H264 编码器:/tmp/file_mode_buffers.h264
- 对于 Theora 编码器:/tmp/file_mode_buffers.theora
下图描述了生产和调试模式:

网络摄像机测试器模式
此模式允许您测试与其余管线元素隔离的网络摄像机。
<!JEKYLL@5260@53>
要启用网络摄像机测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@54>
<!JEKYLL@5260@55>
启用此模式后,将显示视频预览,并使用来自网络摄像机的原始缓冲区创建以下文件:
/tmp/wewbcam_buffers.buff
网络摄像即测试器模式所需的唯一开关为 <!JEKYLL@5260@56> 选项。还可以指定要测试的网络摄像机设备。例如,请参阅以下内容:
- ./gst_read -buffers 150
- ./gst_read –buffers 100 –input_device /dev/video2
下图描述了网络摄像机测试器模式:

编码器测试器模式
此模式允许您测试与管道隔离的编码器。
<!JEKYLL@5260@57>
要启用编码器测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@58>
<!JEKYLL@5260@59>
此模式所需的唯一开关为 <!JEKYLL@5260@60> 选项。还可以测试 Theora 或 H264 编码器以及要生成的缓冲区量。例如,请参阅以下内容:
- 对于 H264:./gst_read –output_file ~/file_buffers.h264 –buffers 200 –enableH264
- 对于 Theora:./gst_read -o ~/file_buffers.theora -b 100
下图描述了编码器测试器模式:

H264 软件编码器
如果基于软件的 H264 编码器无法正常运行,则必须使用以下步骤验证其依赖项:
- 
    验证 x264 <!JEKYLL@5260@61> 插件是否作为 <!JEKYLL@5260@62> 的一部分存在于系统中。如果在 <!JEKYLL@5260@63> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@64>  
- 
    运行以下命令验证 <!JEKYLL@5260@66> 库的依赖项: <!JEKYLL@5260@67>  
如果 <!JEKYLL@5260@68> 文件不存在,则必须使用以下命令安装 <!JEKYLL@5260@69> 插件:
<!JEKYLL@5260@70>
H264 硬件编码器
- 
    验证 <!JEKYLL@5260@71> 插件是否作为 <!JEKYLL@5260@72> 的一部分存在于系统中。如果在 <!JEKYLL@5260@73> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@74>  
- 
    运行以下命令以验证 libgstvaapi.so 库的依赖项: <!JEKYLL@5260@76>  
- 
    解决任何缺失的依赖项。 
要安装和配置 <!JEKYLL@5260@77>,请按照 <!JEKYLL@5260@78> 安装指南进行操作。
收集内部 <!JEKYLL@5260@79> 框架和 gst_read 日志
作为常规 <!JEKYLL@5260@80> 日志的替代方法,您必须从 <!JEKYLL@5260@81> 模块中收集日志。
请执行以下操作以收集日志:
- 
    打开终端并运行以下命令: <!JEKYLL@5260@82> <!JEKYLL@5260@83> 注意: 此变量设置日志收集级别以及用于存储日志的文件。在这种情况下,我们为 <!JEKYLL@5260@84> 框架设置级别 2,为 <!JEKYLL@5260@85> 模块设置级别 7。有关详细信息,请参阅 文档。建议仅为内部 <!JEKYLL@5260@86> 框架设置错误和警告级别,为 <!JEKYLL@5260@87> 设置日志级别。 
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@88> <!JEKYLL@5260@89> 
<!JEKYLL@5260@90> 文件是使用内部 <!JEKYLL@5260@91> 框架和 <!JEKYLL@5260@92> 日志生成的。
<!JEKYLL@5260@93> 管道检查
要查看 <!JEKYLL@5260@94> 框架正在创建的实际管道,请执行以下操作:
- 创建一个文件夹来存储点文件,例如:<!JEKYLL@5260@95>。
- 打开终端并导出 <!JEKYLL@5260@96>。此变量指示点文件的存储 <!JEKYLL@5260@97> 位置。
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@98> <!JEKYLL@5260@99> 
- 
    该目录 <!JEKYLL@5260@100> 包含点文件。<!JEKYLL@5260@101> 为管道中的每种状态变更生成一个点文件。因此,您可以检查创建管道的所有过程。下面是一组点文件的示例:  
- 安装点文件实用程序以查看管道的可视化表示。例如,Graphviz。下图是创建管道的优劣的示例:
管道已成功创建:

管道无法链接:

注意:
要放大前面的示意图或任何其他示意图,请右键单击该示意图,选择 Open image in new tab(在新选项卡中打开示意图),然后根据需要缩放浏览器。
如上图所示,第二个管道无法链接 <!JEKYLL@5260@102> 元素和 <!JEKYLL@5260@103> 元素。这些功能从未经过充分协商。有关详细信息,请参阅 文档。
RAVE 的系统诊断脚本
我们提供了脚本 <!JEKYLL@5260@104>,用于验证系统配置和依赖项是否适合支持远程音频视频扩展 (RAVE)。
注意:
RAVE 是一项 HDX 功能,支持优化的网络摄像机重定向和面向 Citrix VDA 的 Windows Media Player 重定向。
请执行以下操作来运行脚本:
- 请单击 rave_troubleshooting.sh 下载该脚本。
- 在 Linux 计算机中打开端点。
- 键入 <!JEKYLL@5260@105> 或 <!JEKYLL@5260@106> 可查看支持的命令行参数。
- 
    键入下面其中一个命令: - <!JEKYLL@5260@107> 或 <!JEKYLL@5260@108> - 使用此命令可对网络摄像机重定向运行检查。此命令是默认命令。
- <!JEKYLL@5260@109> 或 <!JEKYLL@5260@110> - 使用此命令可运行 RAVE 的检查。此时将显示一个播放 h264 测试视频的弹出窗口。
 此时将显示系统配置和依赖项。 
通用 USB 重定向
如何将 Android 手机重定向为通用 USB
可以按如下所示将 Android 手机重定向为通用 USB:
- 使用 USB 电缆将您的 Android 手机连接到安装了适用于 Linux 的 Citrix Workspace 应用程序的系统。
- 在手机上选择 USB 连接模式(MTP 或 PTP)。对于大多数 Android 手机,支持的模式为 PTP。
- 
    在终端中键入以下内容,从设备描述符 (VID) 中获取 Android 手机的供应商 ID,从设备描述符 (PID) 中获取产品 ID: <!JEKYLL@5260@111> 
- 记下您的 Android 手机的 VID 和 PID。
- 导航到 <!JEKYLL@5260@112> 文件。
- 
    在 <!JEKYLL@5260@113> 文件末尾添加 <!JEKYLL@5260@114> 行。例如,请按如下所示进行添加: <!JEKYLL@5260@115> 
- 导航到 Desktop Viewer 工具栏中的设备菜单。
- 选择要重定向的 Android 手机。
浏览器
本地浏览器
在 Windows 会话中单击某个链接时,链接内容将显示在本地浏览器中。wfclient.ini 中启用了服务器到客户端内容重定向功能。此重定向将导致本地应用程序运行。要禁用服务器-客户端内容重定向,请参阅服务器-客户端内容重定向。
访问已发布的资源
访问已发布的资源时,您的浏览器会提示保存文件。除 Firefox 和 Chrome 外,可能需要对其他浏览器进行配置才能连接到已发布的资源。但在尝试通过单击该页面上的图标访问资源时,浏览器将提示您保存 ICA 文件。
特定浏览器
如果使用特定 Web 浏览器时遇到问题,请在运行 <!JEKYLL@5260@116> 前,设置环境变量 BROWSER,以指定所需浏览器的本地路径和名称。
Firefox 浏览器
在 Firefox 中启动桌面或应用程序时,如果页面没有响应,请尝试启用 ICA 插件。
Firefox 中的 ICA 插件
在 Firefox 中启用了 ICA 插件时,桌面和应用程序会话可能未启动。在这种情况下,请尝试禁用 ICA 插件。
配置错误
如果某个连接条目配置不正确,可能会出现以下错误。
E_MISSING_INI_SECTION - 验证配置文件:“…”。配置文件中的“…”部分丢失。
配置文件存在编辑错误或已损坏。
E_MISSING_INI_ENTRY - 验证配置文件:“…”。“…”部分中必须包含条目“…”。
配置文件存在编辑错误或已损坏。
E_INI_VENDOR_RANGE - 验证配置文件:“…”。配置文件中的 X 服务器供应商范围“…”无效。
配置文件中的 X 服务器供应商信息已损坏。请与 Citrix 联系。
wfclient.ini 配置错误
如果未正确编辑 wfclient.ini,则可能会出现以下错误。
<!JEKYLL@5260@117>
保存连接数据库时出错;例如无磁盘空间。
<!JEKYLL@5260@118>
创建连接数据库时出错。
E_PNAGENT_FILE_UNREADABLE - 无法读取 Citrix Virtual Apps 文件“…”: 无此类文件或目录。
— 或 —
无法读取 Citrix Virtual Apps 文件“…”: 权限被拒绝。
您尝试通过桌面项或菜单访问资源,但该资源对应的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件不可用。请在查看菜单中选择应用程序刷新以刷新已发布的资源列表,然后重新尝试访问该资源。如果错误仍然存在:
- 检查桌面图标或菜单项的属性
- 检查图标或项目所引用的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件。
浏览器内容重定向
有关如何排除浏览器内容重定向故障的信息,请参阅知识中心文章 CTX230052。
如何将自签名证书导入 nssdb
在终端中运行以下命令以将自签名证书导入到 <!JEKYLL@5260@119> 中:
<!JEKYLL@5260@120>
命令中的参数如下:
- <!JEKYLL@5260@121> - 向数据库中添加证书。
- <!JEKYLL@5260@122> - 证书的名称。此参数是可选的,可用于添加昵称。
- <!JEKYLL@5260@123> - 从 badssl.com 站点导出的证书的名称。
- <!JEKYLL@5260@124> - <!JEKYLL@5260@125> 表示 TRUSTARGS,C 表示 CA 证书。有关详细信息,请参阅 Google 文档。
- <!JEKYLL@5260@126> - 数据库的位置。
- <!JEKYLL@5260@127> - 表示输入文件。此参数用于添加证书文件的位置和名称。
有关 BCR 的信息,请参阅 Citrix Virtual Apps and Desktops 文档中的浏览器内容重定向页面。
其他
连接问题
您可能还会发现以下问题。
关闭会话
要了解服务器是否已指示 Citrix Workspace 应用程序关闭会话,请使用 <!JEKYLL@5260@128> 程序。此程序在收到来自服务器的终止会话命令时进行记录。
要通过 syslog 系统记录此信息,请将值为 6 的 SyslogThreshold 添加到配置文件的 [WFClient] 部分中。此设置将启用优先级为 LOG_INFO 或更高的消息日志记录功能。SyslogThreshold 的默认值为 4 (=LOG_WARNING)。
同样,要使 <!JEKYLL@5260@129> 将消息发送到标准错误,请将值为 6 的 PrintLogThreshold 添加到 [WFClient] 部分。PrintLogThreshold 的默认值为 0 (=LOG_EMERG)。
有关日志收集的详细信息,请参阅日志收集,有关 syslog 配置的详细信息,请参阅 syslog 配置。
配置文件设置
wfclient.ini 中的每个条目都必须在 All_Regions.ini 中有对应的条目,这样该设置才能生效。此外,wfclient.ini 文件的 [Thinwire3.0]、[ClientDrive] 和 [TCP/IP] 部分中的每个条目都必须在 canonicalization.ini 中有对应的条目,该设置才能生效。有关详细信息,请参阅 $ICAROOT/config 目录中的 All_Regions.ini 和 canonicalization.ini 文件。
已发布的应用程序
如果运行访问串行端口的已发布的应用程序时遇到问题,则当该端口被其他应用程序锁定时,该应用程序可能会失败(是否显示错误消息取决于应用程序本身)。在此类情况下,请检查是否有其他应用程序临时锁定了该串行端口,或者是否有锁定该串行端口的应用程序在退出时未释放该端口。
要解决此问题,请停止阻止串行端口的应用程序。对于 UUCP 样式的锁定,应用程序退出后可能会在后面遗留一个锁定文件。这些锁定文件所在的位置取决于使用的操作系统。
启动 Citrix Workspace 应用程序
如果 Citrix Workspace 应用程序未启动,并显示“找不到应用程序默认文件或该文件已过期”消息。原因可能是未正确定义环境变量 ICAROOT。如果将 Citrix Workspace 应用程序安装到非默认位置,则必须设置此变量。要解决此问题,Citrix 建议执行以下操作之一:
- 
    将 ICAROOT 定义为安装目录。 要检查是否正确定义了 ICAROOT 环境变量,请尝试从终端会话启动 Citrix Workspace 应用程序。如果仍显示该错误消息,则可能未正确定义 ICAROOT 环境变量。 
- 
    将 Citrix Workspace 应用程序重新安装到默认位置。有关安装 Citrix Workspace 应用程序的详细信息,请参阅安装和设置。 如果先前将 Citrix Workspace 应用程序安装到默认位置,请在重新安装前删除 <!JEKYLL@5260@130> 或 <!JEKYLL@5260@131> 目录。 
Citrix CryptoKit(以前称为 SSLSDK)
要查找您正在运行的 Citrix CryptoKit(以前称为 SSLSDK)或 OpenSSL 的版本号,可以使用以下命令: <!JEKYLL@5260@132>
还可以在 AuthManagerDaemon 或 PrimaryAuthManager 上运行此命令
键盘快捷方式
如果窗口管理器使用相同的键组合提供本机功能,您的键组合可能不起作用。例如,<!JEKYLL@5260@133> 窗口管理器使用 Ctrl+Shift+F1 到 Ctrl+Shift+F4 的键组合在桌面 13 到 16 之间切换。如果遇到此问题,请尝试以下解决方案:
- 键盘上的转换模式将一组本地键组合映射到服务器端键组合。例如,在转换模式下,默认将 Ctrl+Shift+F1 映射到服务器端键组合 Alt+F1。要将此映射重新配置为备用本地键组合,请更新 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中的以下条目。此设置会将本地键组合 Alt+Ctrl+F1 映射到 Alt+F1:
    - 将 Hotkey1Shift=Ctrl+Shift 更改为 Hotkey1Shift=Alt+Ctrl。
 
- 键盘上的直接模式将所有键组合直接发送到服务器。这些键组合不在本地处理。要配置直接模式,请在 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中,将 TransparentKeyPassthrough 设置为 Remote。
- 重新配置窗口管理器,使其阻止使用默认键盘组合。
远程 Croatian 键盘
以下过程可确保将 ASCII 字符正确发送到具有 Croatian 键盘布局的远程虚拟机。
- 在相应配置文件的 WFClient 部分中,将 UseEUKSforASCII 设置为 True。
- 将 UseEUKS 设置为 2。
日语键盘
要配置对日语键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Japanese (JIS)
ABNT2 键盘
要配置对 ABNT2 键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Brazilian (ABNT2)
本地键盘
如果本地键盘上的某些键未按预期运行,请从 $ICAROOT/config/module.ini 的列表中选择最相配的服务器布局。
Windows Media Player
Citrix Workspace 应用程序可能没有 <!JEKYLL@5260@134> 插件,无法处理请求的格式。此问题通常会导致服务器请求其他格式。有时首次检查适用的插件会错误地指出已存在一个插件。此问题通常会被检测到,并且会导致服务器上出现一个错误对话框,指示 Windows Media Player 在播放文件时遇到问题。在会话中重试文件通常有效,因为 Citrix Workspace 应用程序拒绝该格式。因此,服务器会请求其他格式或提供媒体本身。
在少数情况下,尽管进度指示器在 Windows Media Player 中按预期移动,但检测不到恰当的插件,并且无法正确播放文件。
要避免显示此错误对话框,或者避免在将来的会话中播放失败,请执行以下操作:
- 
    临时将配置选项“SpeedScreenMMAVerbose=On”添加到 $Home/.ICAClient/wfclient.ini(举例)的 [WFClient] 部分。 
- 
    通过已从终端启动的自助服务重新启动 <!JEKYLL@5260@135>。 
- 
    播放导致出现此错误的视频。 
- 
    记录(在跟踪输出中)与缺失插件跟踪关联的 MIME 类型,或者记录必须受支持但不播放的 MIME 类型(例如“video/x-h264..”)。 
- 
    编辑 $ICAROOT/config/MediaStreamingConfig.tbl。在包含记录的 MIME 类型的行中,在“:”与 MIME 类型之间插入“?”。此设置禁用该格式。 
- 
    对引发此错误情况的其他媒体格式重复(上述)步骤 2 - 5。 
- 
    将修改后的 MediaStreamingConfig.tbl 分发到安装了相同的一组 <!JEKYLL@5260@136> 插件的其他计算机。 
注意:
也可以在识别 MIME 类型后安装 <!JEKYLL@5260@137> 插件进行解码。
用于验证 Windows Media Player 重定向的系统要求的脚本
在 2307 版本中,引入了一个新的 bash 脚本,用于验证适用于 Linux 的 Citrix Workspace 应用程序中 Windows Media Player 重定向功能所需的配置。此功能有助于缩短 Windows Media Player 重定向功能的故障排除时间。要验证配置,您可以使用 RAVE 的系统诊断脚本中提供的相同 rave_troubleshooting.sh。
串行端口设置
要配置一个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=1
ComPort1=device
要配置两个或多个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=2
ComPort1=device1
ComPort2=device2
错误
本主题列出了在使用 Citrix Workspace 应用程序时可能出现的其他常见错误消息。
出现错误。错误代码为 11 (E_MISSING_INI_SECTION)。请参阅相关文档。正在退出。
从命令行运行 Citrix Workspace 应用程序时,此错误通常意味着在 appsrv.ini 文件中未找到命令行中指定的说明。
E_BAD_OPTION - 选项“…”无效。
选项“…”缺少参数。
E_BAD_ARG - 选项“…”具有无效参数: …。
为选项“…”指定了无效参数。
E_INI_KEY_SYNTAX - 密钥“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_INI_VALUE_SYNTAX - 值“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_SERVER_NAMELOOKUP_FAILURE - 无法连接到服务器“…”。
无法解析服务器名称。
无法写入一个或多个文件: …。请更正任何磁盘满载问题或权限问题并重试。
检查是否存在磁盘已满问题或权限问题。如果发现问题,请予以更正,并重试提示此错误消息的操作。
服务器连接已断开。请重新连接并重试。以下文件可能丢失数据: …。
重新连接并重试提示此错误消息的操作。
诊断信息
如果在使用 Citrix Workspace 应用程序时遇到问题,可能需要向技术支持部门提供诊断信息。此信息可帮助此团队尝试诊断问题并提供帮助来修复该问题。
获取与 Citrix Workspace 应用程序有关的诊断信息:
- 
    在安装目录中,键入 util/lurdump。建议您在会话处于打开状态时以及(如有可能)出现问题时执行此修改。 此时将生成一个包含详细诊断信息的文件,其中包括版本详细信息、Citrix Workspace 应用程序的配置文件内容以及各系统变量的值。 
- 
    将该文件发送给 Citrix 技术支持部门之前,请检查文件中是否包含机密信息。 
对与资源的连接进行故障排除
用户可以使用连接中心管理其活动的连接。此功能是一个非常有用的生产力促进工具,通过该工具,用户和管理员可以对速度缓慢或有问题的连接进行故障诊断并解决出现问题。在连接中心中,用户可以通过以下方法管理连接:
- 关闭应用程序。
- 注销会话。此步骤将结束会话并关闭任何打开的应用程序。
- 从会话中断开会话。此步骤将在不关闭任何打开的应用程序的情况下断开与服务器的选定连接(除非服务器配置为在断开连接时关闭应用程序)。
- 查看连接传输统计数据。
日志收集
在早期版本中,<!JEKYLL@5260@138> 和 <!JEKYLL@5260@139> 文件用于配置日志记录。
自版本 2009 起,您可以使用以下方法之一配置日志收集:
- 命令行接口
- GUI
同样,自版本 2009 起,<!JEKYLL@5260@140> 配置文件将从 Citrix Workspace 应用程序安装程序软件包中删除。
日志会将 Citrix Workspace 应用程序部署详细信息、配置更改以及管理活动捕获到日志收集数据库。第三方开发人员可以使用日志收集 SDK(作为 Citrix Workspace 应用程序平台优化 SDK 的一部分捆绑在一起)来应用此日志收集机制。
可以使用日志信息执行以下操作:
- 诊断和排除任何更改后出现的问题。日志提供浏览路径记录。
- 协助更改管理和跟踪配置。
- 报告管理活动。
如果使用 root 用户权限安装 Citrix Workspace 应用程序,则日志将存储在 <!JEKYLL@5260@141> 中。否则,日志将存储在 <!JEKYLL@5260@142> 中。
安装 Citrix Workspace 应用程序时,将创建一个名为 <!JEKYLL@5260@143> 的用户以处理日志记录功能。
命令行接口
- 在命令提示符下,导航至 <!JEKYLL@5260@144> 路径。
- 
    运行以下命令以设置日志首选项。 <!JEKYLL@5260@145> 
此时将显示所有可用命令。
下表列出了各种模块和及其相应的跟踪类值。要获取特定的命令行日志值集,请使用下表:
| 模块 | 日志类 | 
|---|---|
| 断言 | LOG_ASSERT | 
| 音频监视器 | TC_CM | 
| 基于 CEF 的 BCR | TC_CEFBCR | 
| 客户端音频映射 | TC_CAM | 
| 连接中心 | TC_CONNCENTER | 
| 客户端通信端口 | TC_CCM | 
| 客户端驱动器映射 | TC_CDM | 
| 剪辑 | TC_CLIP | 
| 客户端打印机映射 | TC_CPM | 
| 客户端打印机映射 | TC_CPM | 
| 字体 | TC_FONT | 
| 帧 | TC_FRAME | 
| 图形抽象 | TC_GA | 
| 输入法编辑器 | TC_IME | 
| IPC | TC_IPC | 
| 键盘映射 | TC_KEY | 
| 许可驱动程序 | TC_VDLIC | 
| 鼠标映射 | TC_MOU | 
| MS Teams | TC_MTOP | 
| 其他库 | TC_LIB | 
| 协议驱动程序 | TC_PD | 
| PNA 应用商店 | TC_PN | 
| 标准事件日志 | LOG_CLASS | 
| SRCC | TC_SRCC | 
| SSPI 登录 | TC_CSM | 
| 智能卡 | TC_SCARDVD | 
| 自助服务 | TC_SS | 
| 自助服务扩展 | TC_SSEXT | 
| StorefrontLib | TC_STF | 
| 传输驱动程序 | TC_TD | 
| Thinwire | TC_TW | 
| 透明窗口界面 | TC_TUI | 
| 虚拟通道 | TC_VD | 
| PAL | TC_VP | 
| UI | TC_UI | 
| UIDialogLibWebKit3 | TC_UIDW3 | 
| 故障排除 | 
本文中提供的信息可帮助管理员解决 Citrix Workspace 应用程序出现的问题。
连接
您可能会遇到以下连接问题。
已发布的资源或桌面会话
与 Windows 服务器建立连接时,如果显示带有“正在连接到服务器…”消息的对话框,但以后不显示连接窗口,则可能需要为服务器配置客户端访问许可证 (Client Access License, CAL)。有关许可的详细信息,请参阅许可。
会话重新连接
重新连接到颜色深度高于 Citrix Workspace 应用程序所需的颜色深度的会话时,连接可能会失败。服务器上的可用内存不足时会出现此故障。
如果重新连接失败,Citrix Workspace 应用程序将尝试使用初始颜色深度。否则,服务器将尝试以所请求的颜色深度启动一个新会话,而将初始会话保持在断开连接状态。如果服务器上的可用内存仍然不足,则第二个连接也可能会失败。
完整 Internet 名称
Citrix 建议您在网络上配置 DNS(域名服务器)。此配置使您能够解析要连接的服务器的名称。如果不配置 DNS,则可能无法将服务器名称解析为 IP 地址。您也可以改为按 IP 地址(而非名称)指定服务器。TLS 连接要求完全限定的域名,而非 IP 地址。
会话速度缓慢
如果某个会话在您移动鼠标后才启动,Linux 内核中的随机数字生成功能可能存在问题。解决方法:运行一个熵生成的后台程序,例如 <!JEKYLL@5260@0>(基于硬件)或 <!JEKYLL@5260@1>(来自 Magic Software)。
发送有关 Citrix Workspace 应用程序的反馈
发送反馈选项允许您通知 Cloud Software Group 在使用 Citrix Workspace 应用程序过程中可能会遇到的任何问题。您也可以发送建议,以帮助我们改善您的 Citrix Workspace 应用程序体验。
这项新功能增强了反馈体验,确保了用户与支持团队之间更高效、信息更丰富的沟通渠道。
发送反馈选项包括集成的日志管理器,使用户能够捕获并包括相关日志以生成全面的反馈报告。
此外,发送反馈使用户能够使用其系统中安装的默认邮件客户端直接发送反馈电子邮件来提供无缝通信。
支持的电子邮件客户端如下:
- Thunderbird
- Evolution
- Mutt
- Alpine
要配置用于发送反馈的电子邮件地址,请执行以下操作:
在 <!JEKYLL@5260@2> 文件中添加以下密钥:
<!JEKYLL@5260@3>
注意:
向 Cloud Software Group 发送反馈,即表示您同意您的参与符合 Cloud Software Group 最终用户协议并受其约束。
可以使用以下任一方法发送反馈:
- 导航到添加帐户屏幕。
- 单击汉堡菜单。
- 
    单击发送反馈。  
或者,
- 
    单击应用程序指示器图标中的发送反馈。  
或者,
- 在命令行中,导航到 <!JEKYLL@5260@4> 路径。
- 
    运行以下命令: <!JEKYLL@5260@5> 
- 
    此时将出现发送反馈屏幕。  
- 提供问题的 Title(标题)。
- 在 Tell us more(告诉我们更多信息)字段中添加问题详细信息。
- 
    单击 Capture my issue(捕获我的问题)。此时将出现 Citrix 日志收集实用程序屏幕。  单击 Start capture(开始捕获),然后重现问题以收集最新的日志。 或者, 如果您无法重现该问题,请单击 Choose existing logs(选择现有日志)。 注意: 有关 Citrix 日志收集实用程序的详细信息,请参阅日志收集。 
- 请确保日志文件显示在 Capture my issue(捕获我的问题)旁边。
- 
    单击选择文件,然后添加用于描述您的问题的附件,例如屏幕截图或屏幕录制文件。  
- 
    单击发送。此时将出现Feedback report(反馈报告)屏幕。  .tar.gz 文件包含日志文件、作为测试文件的问题描述以及附件。 
- 
    您可以使用以下选项将反馈报告发送给 Citrix: 单击 Send the feedback report using the default email app(使用默认电子邮件应用程序发送反馈报告)以使用系统中的默认邮件应用程序。 或者, 手动将报告发送到提供的电子邮件 ID。 
注意:
请确保电子邮件中附加了 .zip 文件。
密码套件
如果连接失败,并提供新的加密支持:
- 可以使用各种工具来检查服务器支持的密码套件,包括:
    - <!JEKYLL@5260@6>(要求服务器具有 Internet 访问权限)
- <!JEKYLL@5260@7> (<!JEKYLL@5260@8>)
 
- 在 Linux 客户端 WireShark 中,使用过滤器 (ip.addr == <!JEKYLL@5260@9>) 查找数据包 (Client Hello, Server Hello) 以查找 SSL 部分。结果包含由客户端发送并由服务器接受的密码套件。
Citrix 优化 SDK 不正确
Citrix Optimization SDK 软件包包含不正确的 <!JEKYLL@5260@10> 版本。解决方法:执行以下操作之一:
- 
    从下载页面下载 Citrix Optimization SDK 软件包版本 18.10。 - 
        转至路径 <!JEKYLL@5260@11>: <!JEKYLL@5260@12> 
- 
        删除所有对象文件: <!JEKYLL@5260@13> 
- 
        转到 WebKit 文件夹: <!JEKYLL@5260@14> 
- 
        删除现有的 <!JEKYLL@5260@15>: <!JEKYLL@5260@16> 
- 
        在 WebKit 目录中使用以下命令: <!JEKYLL@5260@17> 新的 <!JEKYLL@5260@18> 已生成。 
- 
        将新库复制到 $ICAROOT/lib 目录中。 
 
- 
        
适用于 SSL 连接的弱密码套件
建立 TLS 连接时,Citrix Workspace 应用程序默认情况下将提供一组严格的高级密码套件。
如果要连接到需要较旧的密码套件的服务器,请在配置文件的 [WFClient\] 部分中设置配置选项 <!JEKYLL@5260@19>。
支持以下高级密码套件:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)、ALL、COM
连接中断
使用 EDT 协议时,您可能会看到以下错误消息:与“…”的连接已断开。如果连接是通过适用于 EDT 的最大传输单位小于默认值 1500 字节的路由器建立的,可能会出现此问题。请执行以下操作:
- 在配置文件中设置 <!JEKYLL@5260@20>。
连接错误
连接错误可能会产生各种不同的错误对话框。示例如下:
- 连接出错: 与身份验证服务通信时出现协议错误。
- 无法联系身份验证服务。
- 无法使用此服务器地址添加您的帐户。
某些问题可能会导致出现此类错误,包括:
- 本地计算机和远程计算机无法协商通用 TLS 协议时可能会出现错误。有关详细信息,请参阅 TLS。
- 远程计算机需要对 TLS 连接使用较旧的密码套件时可能会出现错误。在这种情况下,您可以在配置文件的 <!JEKYLL@5260@21> 部分中设置配置选项 <!JEKYLL@5260@22>,然后在重新启动连接之前运行 <!JEKYLL@5260@23>。
- 远程计算机不恰当地请求客户端证书时可能会出现错误。IIS 必须仅接受或要求提供 Citrix、Authentication 和 Certificate 的证书。
- 其他问题。
低带宽连接
Citrix 建议您在服务器上使用最新版本的 Citrix Virtual Apps and Desktops 或 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)。此外,请在用户设备上使用最新的 Citrix Workspace 应用程序。
如果使用低带宽连接,则可以更改 Citrix Workspace 应用程序的配置以及 Citrix Workspace 应用程序的使用方法以提高性能。
- 配置 Citrix Workspace 应用程序连接 - 配置 Citrix Workspace 应用程序连接可以降低 ICA 所需的带宽并提高性能
- 更改 Citrix Workspace 应用程序的使用方式 - 更改 Citrix Workspace 应用程序的使用方式还可以降低实现高性能连接所需的带宽
- 启用 UDP 音频 - 此功能可以在阻塞的网络上保持 IP 语音 (VoIP) 连接中延迟的一致性
- 使用最新版本的适用于 Linux 的 Citrix Workspace 应用程序和 Citrix Virtual Apps and Desktops 或 Citrix DaaS - Citrix 不断地增强和提升每个版本的性能,许多性能功能需要最新的 Citrix Workspace 应用程序和服务器软件
显示
屏幕撕裂
在水平块中,两个(或多个)不同的帧的几个部分同时出现在屏幕上时会出现屏幕撕裂的情况。在桌面上内容更改频率非常快的大型区域中此问题最常见。
在 VDA 上捕获数据时可避免屏幕撕裂。当数据传递到客户端时,不会引入屏幕撕裂现象。但是,X11(Linux/Unix 图形子系统)没有提供一致的方式来防止屏幕撕裂。
为防止屏幕撕裂,Citrix 建议您使用将应用程序绘制与屏幕绘制同步的标准方法。即,等待 <!JEKYLL@5260@24> 启动下一帧的绘制。根据客户端上的图形硬件和您使用的窗口管理器,以下两组解决方案可用于防止屏幕撕裂:
- X11 GPU 设置
- 使用组合管理器
X11 GPU 配置
对于 Intel 高清图形,请在名为 20-intel.conf 的 xorg.conf.d 中创建一个包含以下内容的文件:
Section "Device"
 Identifier    "Intel Graphics"
 Driver        "intel"
 Option        "AccelMethod" "sna"
 Option        "TearFree" "true"
 EndSection
对于 NVIDIA 图形,请在 xorg.conf.d 文件夹中找到包含您的配置的“MetaModes”选项的文件。对于所使用的每个以逗号分隔的 MetaMode,请添加以下内容:
{ForceFullCompositionPipeline = On}
例如:
Option “MetaModes” “DFP-0: 1920x1200 +0+0 {ForceFullCompositionPipeline = On}”
注意:
不同的 Linux 分发包使用不同的 xorg.conf.d 路径,例如 /etc/X11/xorg.conf.d 或 /user/share/X11/xorg.conf.d。
组合管理器
使用以下命令:
- 
    Compiz(嵌入到 Ubuntu Unity 中)。安装“CompizConfig Settings Manager”。 运行“CompizConfig Settings Manager”。 在常规 > 撰写下,取消选中取消重定向全屏窗口。 
注意:
使用“CompizConfig Settings Manager”时应谨慎,因为错误地更改值会阻止系统启动。
- 
    Compton(加载项实用程序)。有关完整的详细信息,请参阅 Compton 的主页/文档。例如,请运行以下命令: <!JEKYLL@5260@25> 
击键不正确
如果使用的是非英文键盘,屏幕显示与键盘输入可能不匹配。在这种情况下,必须指定所使用的键盘类型和布局。有关指定键盘的详细信息,请参阅 Control keyboard behavior(控制键盘行为)。
过度重绘
移动无缝窗口时,某些窗口管理器会不断报告新的窗口位置,导致过度重绘。要解决此问题,请将窗口管理器切换到在移动窗口时仅绘制窗口轮廓的模式。
图标兼容性
Citrix Workspace 应用程序创建的窗口图标与大多数窗口管理器兼容。但是,这些图标与 X 客户端间通信约定并不完全兼容。
完全图标兼容性
要提供完全图标兼容性,请执行以下操作:
- 打开 wfclient.ini 配置文件。
- 在 [WFClient] 部分中编辑以下行:UseIconWindow=True
- 保存并关闭该文件。
光标颜色
如果光标的颜色与背景色相同或相似,则可能难以看到光标。可以将光标区域的颜色强制设置为黑色或白色来修复此问题。
更改光标颜色
- 
    打开 wfclient.ini 配置文件。 
- 
    在 [WFClient] 部分添加以下行之一: CursorStipple=ffff,ffff(将光标设置为黑色) CursorStipple=0,0(将光标设置为白色) 
- 
    保存并关闭该文件。 
彩色闪光
将鼠标移入或移出连接窗口时,非焦点窗口中的颜色开始闪烁。此问题是将 X Windows 系统与伪彩色显示结合使用时的已知限制。如有可能,请为受影响的连接使用更高的颜色深度。
使用真彩色显示器的颜色变化
连接到服务器时,用户可以选择使用 256 色。此选项假定视频硬件支持调色板,使应用程序能够更改调色板颜色,以产生动画显示效果。
真彩色显示没有相应的机制来模拟通过快速更改调色板来产生动画效果的功能。从时间和网络流量角度来说,通过软件模拟此机制的代价非常高。为降低此项成本,Citrix Workspace 应用程序将缓冲快速的调色板更改操作,并每隔几秒钟更新一次实时调色板。
显示错误
Citrix Workspace 应用程序对日语字符使用 EUC-JP 或 UTF-8 字符编码,而服务器则使用 SJIS 字符编码。Citrix Workspace 应用程序无法在这些字符集之间进行转换。此问题可能会导致显示以下对象时出现问题:
- 保存在服务器上并在本地查看的文件
- 保存在本地并在服务器上查看的文件
此问题还会影响在扩展参数传递中所用的参数中的日语字符。
会话宽幅显示
全屏会话默认跨多个显示器,但还可以使用命令行多显示器显示控制选项 -span。通过该选项,可以将全屏会话跨额外的显示器显示。
通过 Desktop Viewer 工具栏功能,您可以在窗口化会话窗口与全屏会话窗口之间切换,包括对相交显示器的多显示器支持。
重要:
对于采用无缝或标准窗口的会话(包括已最大化的窗口中的会话),宽幅显示不起作用。
- span 选项采用以下格式: -span [h][o][a|mon1[,mon2[,mon3, mon4]]]
如果指定了 <!JEKYLL@5260@26>,则将在 <!JEKYLL@5260@27> 中输出显示器列表。如果 <!JEKYLL@5260@28> 是完整的选项值,<!JEKYLL@5260@29> 将退出。
如果指定了 <!JEKYLL@5260@30>,则会话窗口将带有 <!JEKYLL@5260@31> 属性。
小心:
- 建议不要使用此选项。它旨在作为与不兼容的窗口管理器一起使用的最后一个选项。
- 会话窗口对该窗口管理器不可见,没有图标,也无法重新创建堆栈。
- 只能通过结束会话来删除此值。
如果指定了 <!JEKYLL@5260@32>,Citrix Workspace 应用程序将尝试创建一个在所有显示器中显示的会话。
Citrix Workspace 应用程序假定其余的 -span 选项值为显示器编号的列表:
- 单个值将选择特定的监视器。
- 两个值将选择所需区域左上角和右下角的监视器。
- 四个值将指定区域顶部、底部、左侧和右侧边缘的监视器。
如果未指定 <!JEKYLL@5260@33>,wfica 将使用 _NET_WM_FULLSCREEN_MONITORS 消息从窗口管理器中请求相应的窗口布局(如果支持该功能)。否则,将使用尺寸和位置提示来请求所需的布局。
可以使用以下命令来测试窗口管理器是否支持该功能: <!JEKYLL@5260@34>
如果没有输出,则不支持该功能。如果不支持,可能需要一个覆盖重定向窗口。可以使用 <!JEKYLL@5260@35> 设置覆盖重定向窗口。
从命令行设置跨额外的显示器的会话:
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@36> 用户设备当前所连接的显示器编号列表将打印到 <!JEKYLL@5260@37>,<!JEKYLL@5260@38> 将退出。 
- 
    请记下这些显示器编号。 
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@39> w、x、y 和 z 值是上面的步骤中的步骤 1 中的监视器编号。单个值 w 将指定特定的监视器。两个值 w 和 x 指定所需区域的左上角和右下角的监视器。四个值 w、x、y 和 z 指定区域顶部、底部、左侧和右侧边缘的监视器。 重要: - 在通过浏览器启动自助服务之前,定义 WFICA_OPTS 变量。要定义此变量,请编辑配置文件(通常位于 $HOME/.bash_profile 或 $HOME/.profile),在其中添加一行来定义 WFICA_OPTS 变量。例如: <!JEKYLL@5260@40>
- 此更改同时影响虚拟应用程序和桌面会话。
- 如果已启动自助服务或 <!JEKYLL@5260@41>,请删除启动的进程,以便新环境变量能够生效。请通过以下命令将其删除:<!JEKYLL@5260@42>
 
本地应用程序
您可能不会退出全屏会话以使用本地应用程序或其他会话。出现此问题的原因是客户端系统用户界面被隐藏,键盘透明度功能禁用了常见键盘命令(例如 Alt+Tab),改为将命令发送到服务器。
解决方法:使用 Ctrl+F2 暂时清除键盘透明度功能,直至焦点下次返回会话窗口。备选解决方法为在 $ICAROOT/config/module.ini 中将 TransparentKeyPassthrough 设置为 No。此解决方法将禁用键盘透明度功能。但是,您可能需要通过在 All_regions.ini 文件中添加此设置来覆盖 ICA 文件。
改进了错误消息
以前,所有错误消息都有默认错误代码以及不针对该错误的描述。自 Citrix Workspace 应用程序版本 2309 起,错误消息经过改进,包括了错误特有的错误代码、事务 ID 和说明字段。当会话开始使用 ICA 启动或者在启用了服务连续性功能的情况下启动会话时,会出现这些错误消息。
例如,如果会话启动失败,则会显示以下错误消息:

网络摄像机
更新默认网络摄像机
目前,适用于 Linux 的 Citrix Workspace 应用程序中的网络摄像机重定向一次仅支持一个网络摄像机。所选的默认网络摄像机会映射到设备路径 <!JEKYLL@5260@43>,通常是便携式计算机中的内置网络摄像机。
必须使用以下命令安装 v4l 工具,才能列出系统中具有视频功能的所有设备:
<!JEKYLL@5260@44>
使用以下命令列出视频设备:
<!JEKYLL@5260@45>
您可能会收到如下输出:
<!JEKYLL@5260@46>
根据前面的示例,有两个网络摄像机。您可以使用其中的任何一个。Citrix 建议使用第一个索引。Ubuntu 存在已知问题,因此您可能会看到一个网络摄像机的多个索引。在此示例中,您可以使用 /dev/video0 和 /dev/video2。
要将其他捕获视频设置为默认值,请执行以下操作:
- 导航到 <!JEKYLL@5260@47> 配置文件并对其进行编辑。
- 
    在 [WFClient] 部分中,添加以下设置。 <!JEKYLL@5260@48> 
例如,添加 <!JEKYLL@5260@49> 以在系统中设置映射到 <!JEKYLL@5260@50> 的网络摄像机。
测试功能
在客户端上,网络摄像机重定向模块可以在不同的模式下用于在客户环境条件下测试隔离的组件。
生产和调试模式
此模式将在 VDA 端显示的视频与编码器在客户端产生的实际缓冲区进行比较。它允许测试整个管道。
要启用此模式,请执行以下操作:
- 导航到 <!JEKYLL@5260@51> 配置文件并对其进行编辑。
- 
    将 <!JEKYLL@5260@52> 值设置为 True。 HDXWebcamDebug=True 
启用此模式后,编码器将使用缓冲区生成以下文件,具体取决于所使用的编码器:
- 对于 H264 编码器:/tmp/file_mode_buffers.h264
- 对于 Theora 编码器:/tmp/file_mode_buffers.theora
下图描述了生产和调试模式:

网络摄像机测试器模式
此模式允许您测试与其余管线元素隔离的网络摄像机。
<!JEKYLL@5260@53>
要启用网络摄像机测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@54>
<!JEKYLL@5260@55>
启用此模式后,将显示视频预览,并使用来自网络摄像机的原始缓冲区创建以下文件:
/tmp/wewbcam_buffers.buff
网络摄像即测试器模式所需的唯一开关为 <!JEKYLL@5260@56> 选项。还可以指定要测试的网络摄像机设备。例如,请参阅以下内容:
- ./gst_read -buffers 150
- ./gst_read –buffers 100 –input_device /dev/video2
下图描述了网络摄像机测试器模式:

编码器测试器模式
此模式允许您测试与管道隔离的编码器。
<!JEKYLL@5260@57>
要启用编码器测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@58>
<!JEKYLL@5260@59>
此模式所需的唯一开关为 <!JEKYLL@5260@60> 选项。还可以测试 Theora 或 H264 编码器以及要生成的缓冲区量。例如,请参阅以下内容:
- 对于 H264:./gst_read –output_file ~/file_buffers.h264 –buffers 200 –enableH264
- 对于 Theora:./gst_read -o ~/file_buffers.theora -b 100
下图描述了编码器测试器模式:

H264 软件编码器
如果基于软件的 H264 编码器无法正常运行,则必须使用以下步骤验证其依赖项:
- 
    验证 x264 <!JEKYLL@5260@61> 插件是否作为 <!JEKYLL@5260@62> 的一部分存在于系统中。如果在 <!JEKYLL@5260@63> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@64>  
- 
    运行以下命令验证 <!JEKYLL@5260@66> 库的依赖项: <!JEKYLL@5260@67>  
如果 <!JEKYLL@5260@68> 文件不存在,则必须使用以下命令安装 <!JEKYLL@5260@69> 插件:
<!JEKYLL@5260@70>
H264 硬件编码器
- 
    验证 <!JEKYLL@5260@71> 插件是否作为 <!JEKYLL@5260@72> 的一部分存在于系统中。如果在 <!JEKYLL@5260@73> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@74>  
- 
    运行以下命令以验证 libgstvaapi.so 库的依赖项: <!JEKYLL@5260@76>  
- 
    解决任何缺失的依赖项。 
要安装和配置 <!JEKYLL@5260@77>,请按照 <!JEKYLL@5260@78> 安装指南进行操作。
收集内部 <!JEKYLL@5260@79> 框架和 gst_read 日志
作为常规 <!JEKYLL@5260@80> 日志的替代方法,您必须从 <!JEKYLL@5260@81> 模块中收集日志。
请执行以下操作以收集日志:
- 
    打开终端并运行以下命令: <!JEKYLL@5260@82> <!JEKYLL@5260@83> 注意: 此变量设置日志收集级别以及用于存储日志的文件。在这种情况下,我们为 <!JEKYLL@5260@84> 框架设置级别 2,为 <!JEKYLL@5260@85> 模块设置级别 7。有关详细信息,请参阅 文档。建议仅为内部 <!JEKYLL@5260@86> 框架设置错误和警告级别,为 <!JEKYLL@5260@87> 设置日志级别。 
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@88> <!JEKYLL@5260@89> 
<!JEKYLL@5260@90> 文件是使用内部 <!JEKYLL@5260@91> 框架和 <!JEKYLL@5260@92> 日志生成的。
<!JEKYLL@5260@93> 管道检查
要查看 <!JEKYLL@5260@94> 框架正在创建的实际管道,请执行以下操作:
- 创建一个文件夹来存储点文件,例如:<!JEKYLL@5260@95>。
- 打开终端并导出 <!JEKYLL@5260@96>。此变量指示点文件的存储 <!JEKYLL@5260@97> 位置。
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@98> <!JEKYLL@5260@99> 
- 
    该目录 <!JEKYLL@5260@100> 包含点文件。<!JEKYLL@5260@101> 为管道中的每种状态变更生成一个点文件。因此,您可以检查创建管道的所有过程。下面是一组点文件的示例:  
- 安装点文件实用程序以查看管道的可视化表示。例如,Graphviz。下图是创建管道的优劣的示例:
管道已成功创建:

管道无法链接:

注意:
要放大前面的示意图或任何其他示意图,请右键单击该示意图,选择 Open image in new tab(在新选项卡中打开示意图),然后根据需要缩放浏览器。
如上图所示,第二个管道无法链接 <!JEKYLL@5260@102> 元素和 <!JEKYLL@5260@103> 元素。这些功能从未经过充分协商。有关详细信息,请参阅 文档。
RAVE 的系统诊断脚本
我们提供了脚本 <!JEKYLL@5260@104>,用于验证系统配置和依赖项是否适合支持远程音频视频扩展 (RAVE)。
注意:
RAVE 是一项 HDX 功能,支持优化的网络摄像机重定向和面向 Citrix VDA 的 Windows Media Player 重定向。
请执行以下操作来运行脚本:
- 请单击 rave_troubleshooting.sh 下载该脚本。
- 在 Linux 计算机中打开端点。
- 键入 <!JEKYLL@5260@105> 或 <!JEKYLL@5260@106> 可查看支持的命令行参数。
- 
    键入下面其中一个命令: - <!JEKYLL@5260@107> 或 <!JEKYLL@5260@108> - 使用此命令可对网络摄像机重定向运行检查。此命令是默认命令。
- <!JEKYLL@5260@109> 或 <!JEKYLL@5260@110> - 使用此命令可运行 RAVE 的检查。此时将显示一个播放 h264 测试视频的弹出窗口。
 此时将显示系统配置和依赖项。 
通用 USB 重定向
如何将 Android 手机重定向为通用 USB
可以按如下所示将 Android 手机重定向为通用 USB:
- 使用 USB 电缆将您的 Android 手机连接到安装了适用于 Linux 的 Citrix Workspace 应用程序的系统。
- 在手机上选择 USB 连接模式(MTP 或 PTP)。对于大多数 Android 手机,支持的模式为 PTP。
- 
    在终端中键入以下内容,从设备描述符 (VID) 中获取 Android 手机的供应商 ID,从设备描述符 (PID) 中获取产品 ID: <!JEKYLL@5260@111> 
- 记下您的 Android 手机的 VID 和 PID。
- 导航到 <!JEKYLL@5260@112> 文件。
- 
    在 <!JEKYLL@5260@113> 文件末尾添加 <!JEKYLL@5260@114> 行。例如,请按如下所示进行添加: <!JEKYLL@5260@115> 
- 导航到 Desktop Viewer 工具栏中的设备菜单。
- 选择要重定向的 Android 手机。
浏览器
本地浏览器
在 Windows 会话中单击某个链接时,链接内容将显示在本地浏览器中。wfclient.ini 中启用了服务器到客户端内容重定向功能。此重定向将导致本地应用程序运行。要禁用服务器-客户端内容重定向,请参阅服务器-客户端内容重定向。
访问已发布的资源
访问已发布的资源时,您的浏览器会提示保存文件。除 Firefox 和 Chrome 外,可能需要对其他浏览器进行配置才能连接到已发布的资源。但在尝试通过单击该页面上的图标访问资源时,浏览器将提示您保存 ICA 文件。
特定浏览器
如果使用特定 Web 浏览器时遇到问题,请在运行 <!JEKYLL@5260@116> 前,设置环境变量 BROWSER,以指定所需浏览器的本地路径和名称。
Firefox 浏览器
在 Firefox 中启动桌面或应用程序时,如果页面没有响应,请尝试启用 ICA 插件。
Firefox 中的 ICA 插件
在 Firefox 中启用了 ICA 插件时,桌面和应用程序会话可能未启动。在这种情况下,请尝试禁用 ICA 插件。
配置错误
如果某个连接条目配置不正确,可能会出现以下错误。
E_MISSING_INI_SECTION - 验证配置文件:“…”。配置文件中的“…”部分丢失。
配置文件存在编辑错误或已损坏。
E_MISSING_INI_ENTRY - 验证配置文件:“…”。“…”部分中必须包含条目“…”。
配置文件存在编辑错误或已损坏。
E_INI_VENDOR_RANGE - 验证配置文件:“…”。配置文件中的 X 服务器供应商范围“…”无效。
配置文件中的 X 服务器供应商信息已损坏。请与 Citrix 联系。
wfclient.ini 配置错误
如果未正确编辑 wfclient.ini,则可能会出现以下错误。
<!JEKYLL@5260@117>
保存连接数据库时出错;例如无磁盘空间。
<!JEKYLL@5260@118>
创建连接数据库时出错。
E_PNAGENT_FILE_UNREADABLE - 无法读取 Citrix Virtual Apps 文件“…”: 无此类文件或目录。
— 或 —
无法读取 Citrix Virtual Apps 文件“…”: 权限被拒绝。
您尝试通过桌面项或菜单访问资源,但该资源对应的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件不可用。请在查看菜单中选择应用程序刷新以刷新已发布的资源列表,然后重新尝试访问该资源。如果错误仍然存在:
- 检查桌面图标或菜单项的属性
- 检查图标或项目所引用的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件。
浏览器内容重定向
有关如何排除浏览器内容重定向故障的信息,请参阅知识中心文章 CTX230052。
如何将自签名证书导入 nssdb
在终端中运行以下命令以将自签名证书导入到 <!JEKYLL@5260@119> 中:
<!JEKYLL@5260@120>
命令中的参数如下:
- <!JEKYLL@5260@121> - 向数据库中添加证书。
- <!JEKYLL@5260@122> - 证书的名称。此参数是可选的,可用于添加昵称。
- <!JEKYLL@5260@123> - 从 badssl.com 站点导出的证书的名称。
- <!JEKYLL@5260@124> - <!JEKYLL@5260@125> 表示 TRUSTARGS,C 表示 CA 证书。有关详细信息,请参阅 Google 文档。
- <!JEKYLL@5260@126> - 数据库的位置。
- <!JEKYLL@5260@127> - 表示输入文件。此参数用于添加证书文件的位置和名称。
有关 BCR 的信息,请参阅 Citrix Virtual Apps and Desktops 文档中的浏览器内容重定向页面。
其他
连接问题
您可能还会发现以下问题。
关闭会话
要了解服务器是否已指示 Citrix Workspace 应用程序关闭会话,请使用 <!JEKYLL@5260@128> 程序。此程序在收到来自服务器的终止会话命令时进行记录。
要通过 syslog 系统记录此信息,请将值为 6 的 SyslogThreshold 添加到配置文件的 [WFClient] 部分中。此设置将启用优先级为 LOG_INFO 或更高的消息日志记录功能。SyslogThreshold 的默认值为 4 (=LOG_WARNING)。
同样,要使 <!JEKYLL@5260@129> 将消息发送到标准错误,请将值为 6 的 PrintLogThreshold 添加到 [WFClient] 部分。PrintLogThreshold 的默认值为 0 (=LOG_EMERG)。
有关日志收集的详细信息,请参阅日志收集,有关 syslog 配置的详细信息,请参阅 syslog 配置。
配置文件设置
wfclient.ini 中的每个条目都必须在 All_Regions.ini 中有对应的条目,这样该设置才能生效。此外,wfclient.ini 文件的 [Thinwire3.0]、[ClientDrive] 和 [TCP/IP] 部分中的每个条目都必须在 canonicalization.ini 中有对应的条目,该设置才能生效。有关详细信息,请参阅 $ICAROOT/config 目录中的 All_Regions.ini 和 canonicalization.ini 文件。
已发布的应用程序
如果运行访问串行端口的已发布的应用程序时遇到问题,则当该端口被其他应用程序锁定时,该应用程序可能会失败(是否显示错误消息取决于应用程序本身)。在此类情况下,请检查是否有其他应用程序临时锁定了该串行端口,或者是否有锁定该串行端口的应用程序在退出时未释放该端口。
要解决此问题,请停止阻止串行端口的应用程序。对于 UUCP 样式的锁定,应用程序退出后可能会在后面遗留一个锁定文件。这些锁定文件所在的位置取决于使用的操作系统。
启动 Citrix Workspace 应用程序
如果 Citrix Workspace 应用程序未启动,并显示“找不到应用程序默认文件或该文件已过期”消息。原因可能是未正确定义环境变量 ICAROOT。如果将 Citrix Workspace 应用程序安装到非默认位置,则必须设置此变量。要解决此问题,Citrix 建议执行以下操作之一:
- 
    将 ICAROOT 定义为安装目录。 要检查是否正确定义了 ICAROOT 环境变量,请尝试从终端会话启动 Citrix Workspace 应用程序。如果仍显示该错误消息,则可能未正确定义 ICAROOT 环境变量。 
- 
    将 Citrix Workspace 应用程序重新安装到默认位置。有关安装 Citrix Workspace 应用程序的详细信息,请参阅安装和设置。 如果先前将 Citrix Workspace 应用程序安装到默认位置,请在重新安装前删除 <!JEKYLL@5260@130> 或 <!JEKYLL@5260@131> 目录。 
Citrix CryptoKit(以前称为 SSLSDK)
要查找您正在运行的 Citrix CryptoKit(以前称为 SSLSDK)或 OpenSSL 的版本号,可以使用以下命令: <!JEKYLL@5260@132>
还可以在 AuthManagerDaemon 或 PrimaryAuthManager 上运行此命令
键盘快捷方式
如果窗口管理器使用相同的键组合提供本机功能,您的键组合可能不起作用。例如,<!JEKYLL@5260@133> 窗口管理器使用 Ctrl+Shift+F1 到 Ctrl+Shift+F4 的键组合在桌面 13 到 16 之间切换。如果遇到此问题,请尝试以下解决方案:
- 键盘上的转换模式将一组本地键组合映射到服务器端键组合。例如,在转换模式下,默认将 Ctrl+Shift+F1 映射到服务器端键组合 Alt+F1。要将此映射重新配置为备用本地键组合,请更新 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中的以下条目。此设置会将本地键组合 Alt+Ctrl+F1 映射到 Alt+F1:
    - 将 Hotkey1Shift=Ctrl+Shift 更改为 Hotkey1Shift=Alt+Ctrl。
 
- 键盘上的直接模式将所有键组合直接发送到服务器。这些键组合不在本地处理。要配置直接模式,请在 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中,将 TransparentKeyPassthrough 设置为 Remote。
- 重新配置窗口管理器,使其阻止使用默认键盘组合。
远程 Croatian 键盘
以下过程可确保将 ASCII 字符正确发送到具有 Croatian 键盘布局的远程虚拟机。
- 在相应配置文件的 WFClient 部分中,将 UseEUKSforASCII 设置为 True。
- 将 UseEUKS 设置为 2。
日语键盘
要配置对日语键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Japanese (JIS)
ABNT2 键盘
要配置对 ABNT2 键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Brazilian (ABNT2)
本地键盘
如果本地键盘上的某些键未按预期运行,请从 $ICAROOT/config/module.ini 的列表中选择最相配的服务器布局。
Windows Media Player
Citrix Workspace 应用程序可能没有 <!JEKYLL@5260@134> 插件,无法处理请求的格式。此问题通常会导致服务器请求其他格式。有时首次检查适用的插件会错误地指出已存在一个插件。此问题通常会被检测到,并且会导致服务器上出现一个错误对话框,指示 Windows Media Player 在播放文件时遇到问题。在会话中重试文件通常有效,因为 Citrix Workspace 应用程序拒绝该格式。因此,服务器会请求其他格式或提供媒体本身。
在少数情况下,尽管进度指示器在 Windows Media Player 中按预期移动,但检测不到恰当的插件,并且无法正确播放文件。
要避免显示此错误对话框,或者避免在将来的会话中播放失败,请执行以下操作:
- 
    临时将配置选项“SpeedScreenMMAVerbose=On”添加到 $Home/.ICAClient/wfclient.ini(举例)的 [WFClient] 部分。 
- 
    通过已从终端启动的自助服务重新启动 <!JEKYLL@5260@135>。 
- 
    播放导致出现此错误的视频。 
- 
    记录(在跟踪输出中)与缺失插件跟踪关联的 MIME 类型,或者记录必须受支持但不播放的 MIME 类型(例如“video/x-h264..”)。 
- 
    编辑 $ICAROOT/config/MediaStreamingConfig.tbl。在包含记录的 MIME 类型的行中,在“:”与 MIME 类型之间插入“?”。此设置禁用该格式。 
- 
    对引发此错误情况的其他媒体格式重复(上述)步骤 2 - 5。 
- 
    将修改后的 MediaStreamingConfig.tbl 分发到安装了相同的一组 <!JEKYLL@5260@136> 插件的其他计算机。 
注意:
也可以在识别 MIME 类型后安装 <!JEKYLL@5260@137> 插件进行解码。
用于验证 Windows Media Player 重定向的系统要求的脚本
在 2307 版本中,引入了一个新的 bash 脚本,用于验证适用于 Linux 的 Citrix Workspace 应用程序中 Windows Media Player 重定向功能所需的配置。此功能有助于缩短 Windows Media Player 重定向功能的故障排除时间。要验证配置,您可以使用 RAVE 的系统诊断脚本中提供的相同 rave_troubleshooting.sh。
串行端口设置
要配置一个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=1
ComPort1=device
要配置两个或多个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=2
ComPort1=device1
ComPort2=device2
错误
本主题列出了在使用 Citrix Workspace 应用程序时可能出现的其他常见错误消息。
出现错误。错误代码为 11 (E_MISSING_INI_SECTION)。请参阅相关文档。正在退出。
从命令行运行 Citrix Workspace 应用程序时,此错误通常意味着在 appsrv.ini 文件中未找到命令行中指定的说明。
E_BAD_OPTION - 选项“…”无效。
选项“…”缺少参数。
E_BAD_ARG - 选项“…”具有无效参数: …。
为选项“…”指定了无效参数。
E_INI_KEY_SYNTAX - 密钥“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_INI_VALUE_SYNTAX - 值“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_SERVER_NAMELOOKUP_FAILURE - 无法连接到服务器“…”。
无法解析服务器名称。
无法写入一个或多个文件: …。请更正任何磁盘满载问题或权限问题并重试。
检查是否存在磁盘已满问题或权限问题。如果发现问题,请予以更正,并重试提示此错误消息的操作。
服务器连接已断开。请重新连接并重试。以下文件可能丢失数据: …。
重新连接并重试提示此错误消息的操作。
诊断信息
如果在使用 Citrix Workspace 应用程序时遇到问题,可能需要向技术支持部门提供诊断信息。此信息可帮助此团队尝试诊断问题并提供帮助来修复该问题。
获取与 Citrix Workspace 应用程序有关的诊断信息:
- 
    在安装目录中,键入 util/lurdump。建议您在会话处于打开状态时以及(如有可能)出现问题时执行此修改。 此时将生成一个包含详细诊断信息的文件,其中包括版本详细信息、Citrix Workspace 应用程序的配置文件内容以及各系统变量的值。 
- 
    将该文件发送给 Citrix 技术支持部门之前,请检查文件中是否包含机密信息。 
对与资源的连接进行故障排除
用户可以使用连接中心管理其活动的连接。此功能是一个非常有用的生产力促进工具,通过该工具,用户和管理员可以对速度缓慢或有问题的连接进行故障诊断并解决出现问题。在连接中心中,用户可以通过以下方法管理连接:
- 关闭应用程序。
- 注销会话。此步骤将结束会话并关闭任何打开的应用程序。
- 从会话中断开会话。此步骤将在不关闭任何打开的应用程序的情况下断开与服务器的选定连接(除非服务器配置为在断开连接时关闭应用程序)。
- 查看连接传输统计数据。
日志收集
在早期版本中,<!JEKYLL@5260@138> 和 <!JEKYLL@5260@139> 文件用于配置日志记录。
自版本 2009 起,您可以使用以下方法之一配置日志收集:
- 命令行接口
- GUI
同样,自版本 2009 起,<!JEKYLL@5260@140> 配置文件将从 Citrix Workspace 应用程序安装程序软件包中删除。
日志会将 Citrix Workspace 应用程序部署详细信息、配置更改以及管理活动捕获到日志收集数据库。第三方开发人员可以使用日志收集 SDK(作为 Citrix Workspace 应用程序平台优化 SDK 的一部分捆绑在一起)来应用此日志收集机制。
可以使用日志信息执行以下操作:
- 诊断和排除任何更改后出现的问题。日志提供浏览路径记录。
- 协助更改管理和跟踪配置。
- 报告管理活动。
如果使用 root 用户权限安装 Citrix Workspace 应用程序,则日志将存储在 <!JEKYLL@5260@141> 中。否则,日志将存储在 <!JEKYLL@5260@142> 中。
安装 Citrix Workspace 应用程序时,将创建一个名为 <!JEKYLL@5260@143> 的用户以处理日志记录功能。
命令行接口
- 在命令提示符下,导航至 <!JEKYLL@5260@144> 路径。
- 
    运行以下命令以设置日志首选项。 <!JEKYLL@5260@145> 
此时将显示所有可用命令。
下表列出了各种模块和及其相应的跟踪类值。要获取特定的命令行日志值集,请使用下表:
| 模块 | 日志类 | 
|---|---|
| 断言 | LOG_ASSERT | 
| 音频监视器 | TC_CM | 
| 基于 CEF 的 BCR | TC_CEFBCR | 
| 客户端音频映射 | TC_CAM | 
| 连接中心 | TC_CONNCENTER | 
| 客户端通信端口 | TC_CCM | 
| 客户端驱动器映射 | TC_CDM | 
| 剪辑 | TC_CLIP | 
| 客户端打印机映射 | TC_CPM | 
| 客户端打印机映射 | TC_CPM | 
| 字体 | TC_FONT | 
| 帧 | TC_FRAME | 
| 图形抽象 | TC_GA | 
| 输入法编辑器 | TC_IME | 
| IPC | TC_IPC | 
| 键盘映射 | TC_KEY | 
| 许可驱动程序 | TC_VDLIC | 
| 多媒体 | TC_MMVD# 故障排除 | 
本文中提供的信息可帮助管理员解决 Citrix Workspace 应用程序出现的问题。
连接
您可能会遇到以下连接问题。
已发布的资源或桌面会话
与 Windows 服务器建立连接时,如果显示带有“正在连接到服务器…”消息的对话框,但以后不显示连接窗口,则可能需要为服务器配置客户端访问许可证 (Client Access License, CAL)。有关许可的详细信息,请参阅许可。
会话重新连接
重新连接到颜色深度高于 Citrix Workspace 应用程序所需的颜色深度的会话时,连接可能会失败。服务器上的可用内存不足时会出现此故障。
如果重新连接失败,Citrix Workspace 应用程序将尝试使用初始颜色深度。否则,服务器将尝试以所请求的颜色深度启动一个新会话,而将初始会话保持在断开连接状态。如果服务器上的可用内存仍然不足,则第二个连接也可能会失败。
完整 Internet 名称
Citrix 建议您在网络上配置 DNS(域名服务器)。此配置使您能够解析要连接的服务器的名称。如果不配置 DNS,则可能无法将服务器名称解析为 IP 地址。您也可以改为按 IP 地址(而非名称)指定服务器。TLS 连接要求完全限定的域名,而非 IP 地址。
会话速度缓慢
如果某个会话在您移动鼠标后才启动,Linux 内核中的随机数字生成功能可能存在问题。解决方法:运行一个熵生成的后台程序,例如 <!JEKYLL@5260@0>(基于硬件)或 <!JEKYLL@5260@1>(来自 Magic Software)。
发送有关 Citrix Workspace 应用程序的反馈
发送反馈选项允许您通知 Cloud Software Group 在使用 Citrix Workspace 应用程序过程中可能会遇到的任何问题。您也可以发送建议,以帮助我们改善您的 Citrix Workspace 应用程序体验。
这项新功能增强了反馈体验,确保了用户与支持团队之间更高效、信息更丰富的沟通渠道。
发送反馈选项包括集成的日志管理器,使用户能够捕获并包括相关日志以生成全面的反馈报告。
此外,发送反馈使用户能够使用其系统中安装的默认邮件客户端直接发送反馈电子邮件来提供无缝通信。
支持的电子邮件客户端如下:
- Thunderbird
- Evolution
- Mutt
- Alpine
要配置用于发送反馈的电子邮件地址,请执行以下操作:
在 <!JEKYLL@5260@2> 文件中添加以下密钥:
<!JEKYLL@5260@3>
注意:
向 Cloud Software Group 发送反馈,即表示您同意您的参与符合 Cloud Software Group 最终用户协议并受其约束。
可以使用以下任一方法发送反馈:
- 导航到添加帐户屏幕。
- 单击汉堡菜单。
- 
    单击发送反馈。  
或者,
- 
    单击应用程序指示器图标中的发送反馈。  
或者,
- 在命令行中,导航到 <!JEKYLL@5260@4> 路径。
- 
    运行以下命令: <!JEKYLL@5260@5> 
- 
    此时将出现发送反馈屏幕。  
- 提供问题的 Title(标题)。
- 在 Tell us more(告诉我们更多信息)字段中添加问题详细信息。
- 
    单击 Capture my issue(捕获我的问题)。此时将出现 Citrix 日志收集实用程序屏幕。  单击 Start capture(开始捕获),然后重现问题以收集最新的日志。 或者, 如果您无法重现该问题,请单击 Choose existing logs(选择现有日志)。 注意: 有关 Citrix 日志收集实用程序的详细信息,请参阅日志收集。 
- 请确保日志文件显示在 Capture my issue(捕获我的问题)旁边。
- 
    单击选择文件,然后添加用于描述您的问题的附件,例如屏幕截图或屏幕录制文件。  
- 
    单击发送。此时将出现Feedback report(反馈报告)屏幕。  .tar.gz 文件包含日志文件、作为测试文件的问题描述以及附件。 
- 
    您可以使用以下选项将反馈报告发送给 Citrix: 单击 Send the feedback report using the default email app(使用默认电子邮件应用程序发送反馈报告)以使用系统中的默认邮件应用程序。 或者, 手动将报告发送到提供的电子邮件 ID。 
注意:
请确保电子邮件中附加了 .zip 文件。
密码套件
如果连接失败,并提供新的加密支持:
- 可以使用各种工具来检查服务器支持的密码套件,包括:
    - <!JEKYLL@5260@6>(要求服务器具有 Internet 访问权限)
- <!JEKYLL@5260@7> (<!JEKYLL@5260@8>)
 
- 在 Linux 客户端 WireShark 中,使用过滤器 (ip.addr == <!JEKYLL@5260@9>) 查找数据包 (Client Hello, Server Hello) 以查找 SSL 部分。结果包含由客户端发送并由服务器接受的密码套件。
Citrix 优化 SDK 不正确
Citrix Optimization SDK 软件包包含不正确的 <!JEKYLL@5260@10> 版本。解决方法:执行以下操作之一:
- 
    从下载页面下载 Citrix Optimization SDK 软件包版本 18.10。 - 
        转至路径 <!JEKYLL@5260@11>: <!JEKYLL@5260@12> 
- 
        删除所有对象文件: <!JEKYLL@5260@13> 
- 
        转到 WebKit 文件夹: <!JEKYLL@5260@14> 
- 
        删除现有的 <!JEKYLL@5260@15>: <!JEKYLL@5260@16> 
- 
        在 WebKit 目录中使用以下命令: <!JEKYLL@5260@17> 新的 <!JEKYLL@5260@18> 已生成。 
- 
        将新库复制到 $ICAROOT/lib 目录中。 
 
- 
        
适用于 SSL 连接的弱密码套件
建立 TLS 连接时,Citrix Workspace 应用程序默认情况下将提供一组严格的高级密码套件。
如果要连接到需要较旧的密码套件的服务器,请在配置文件的 [WFClient\] 部分中设置配置选项 <!JEKYLL@5260@19>。
支持以下高级密码套件:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)、ALL、GOV
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)、ALL、COM
连接中断
使用 EDT 协议时,您可能会看到以下错误消息:与“…”的连接已断开。如果连接是通过适用于 EDT 的最大传输单位小于默认值 1500 字节的路由器建立的,可能会出现此问题。请执行以下操作:
- 在配置文件中设置 <!JEKYLL@5260@20>。
连接错误
连接错误可能会产生各种不同的错误对话框。示例如下:
- 连接出错: 与身份验证服务通信时出现协议错误。
- 无法联系身份验证服务。
- 无法使用此服务器地址添加您的帐户。
某些问题可能会导致出现此类错误,包括:
- 本地计算机和远程计算机无法协商通用 TLS 协议时可能会出现错误。有关详细信息,请参阅 TLS。
- 远程计算机需要对 TLS 连接使用较旧的密码套件时可能会出现错误。在这种情况下,您可以在配置文件的 <!JEKYLL@5260@21> 部分中设置配置选项 <!JEKYLL@5260@22>,然后在重新启动连接之前运行 <!JEKYLL@5260@23>。
- 远程计算机不恰当地请求客户端证书时可能会出现错误。IIS 必须仅接受或要求提供 Citrix、Authentication 和 Certificate 的证书。
- 其他问题。
低带宽连接
Citrix 建议您在服务器上使用最新版本的 Citrix Virtual Apps and Desktops 或 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)。此外,请在用户设备上使用最新的 Citrix Workspace 应用程序。
如果使用低带宽连接,则可以更改 Citrix Workspace 应用程序的配置以及 Citrix Workspace 应用程序的使用方法以提高性能。
- 配置 Citrix Workspace 应用程序连接 - 配置 Citrix Workspace 应用程序连接可以降低 ICA 所需的带宽并提高性能
- 更改 Citrix Workspace 应用程序的使用方式 - 更改 Citrix Workspace 应用程序的使用方式还可以降低实现高性能连接所需的带宽
- 启用 UDP 音频 - 此功能可以在阻塞的网络上保持 IP 语音 (VoIP) 连接中延迟的一致性
- 使用最新版本的适用于 Linux 的 Citrix Workspace 应用程序和 Citrix Virtual Apps and Desktops 或 Citrix DaaS - Citrix 不断地增强和提升每个版本的性能,许多性能功能需要最新的 Citrix Workspace 应用程序和服务器软件
显示
屏幕撕裂
在水平块中,两个(或多个)不同的帧的几个部分同时出现在屏幕上时会出现屏幕撕裂的情况。在桌面上内容更改频率非常快的大型区域中此问题最常见。
在 VDA 上捕获数据时可避免屏幕撕裂。当数据传递到客户端时,不会引入屏幕撕裂现象。但是,X11(Linux/Unix 图形子系统)没有提供一致的方式来防止屏幕撕裂。
为防止屏幕撕裂,Citrix 建议您使用将应用程序绘制与屏幕绘制同步的标准方法。即,等待 <!JEKYLL@5260@24> 启动下一帧的绘制。根据客户端上的图形硬件和您使用的窗口管理器,以下两组解决方案可用于防止屏幕撕裂:
- X11 GPU 设置
- 使用组合管理器
X11 GPU 配置
对于 Intel 高清图形,请在名为 20-intel.conf 的 xorg.conf.d 中创建一个包含以下内容的文件:
Section "Device"
 Identifier    "Intel Graphics"
 Driver        "intel"
 Option        "AccelMethod" "sna"
 Option        "TearFree" "true"
 EndSection
对于 NVIDIA 图形,请在 xorg.conf.d 文件夹中找到包含您的配置的“MetaModes”选项的文件。对于所使用的每个以逗号分隔的 MetaMode,请添加以下内容:
{ForceFullCompositionPipeline = On}
例如:
Option “MetaModes” “DFP-0: 1920x1200 +0+0 {ForceFullCompositionPipeline = On}”
注意:
不同的 Linux 分发包使用不同的 xorg.conf.d 路径,例如 /etc/X11/xorg.conf.d 或 /user/share/X11/xorg.conf.d。
组合管理器
使用以下命令:
- 
    Compiz(嵌入到 Ubuntu Unity 中)。安装“CompizConfig Settings Manager”。 运行“CompizConfig Settings Manager”。 在常规 > 撰写下,取消选中取消重定向全屏窗口。 
注意:
使用“CompizConfig Settings Manager”时应谨慎,因为错误地更改值会阻止系统启动。
- 
    Compton(加载项实用程序)。有关完整的详细信息,请参阅 Compton 的主页/文档。例如,请运行以下命令: <!JEKYLL@5260@25> 
击键不正确
如果使用的是非英文键盘,屏幕显示与键盘输入可能不匹配。在这种情况下,必须指定所使用的键盘类型和布局。有关指定键盘的详细信息,请参阅 Control keyboard behavior(控制键盘行为)。
过度重绘
移动无缝窗口时,某些窗口管理器会不断报告新的窗口位置,导致过度重绘。要解决此问题,请将窗口管理器切换到在移动窗口时仅绘制窗口轮廓的模式。
图标兼容性
Citrix Workspace 应用程序创建的窗口图标与大多数窗口管理器兼容。但是,这些图标与 X 客户端间通信约定并不完全兼容。
完全图标兼容性
要提供完全图标兼容性,请执行以下操作:
- 打开 wfclient.ini 配置文件。
- 在 [WFClient] 部分中编辑以下行:UseIconWindow=True
- 保存并关闭该文件。
光标颜色
如果光标的颜色与背景色相同或相似,则可能难以看到光标。可以将光标区域的颜色强制设置为黑色或白色来修复此问题。
更改光标颜色
- 
    打开 wfclient.ini 配置文件。 
- 
    在 [WFClient] 部分添加以下行之一: CursorStipple=ffff,ffff(将光标设置为黑色) CursorStipple=0,0(将光标设置为白色) 
- 
    保存并关闭该文件。 
彩色闪光
将鼠标移入或移出连接窗口时,非焦点窗口中的颜色开始闪烁。此问题是将 X Windows 系统与伪彩色显示结合使用时的已知限制。如有可能,请为受影响的连接使用更高的颜色深度。
使用真彩色显示器的颜色变化
连接到服务器时,用户可以选择使用 256 色。此选项假定视频硬件支持调色板,使应用程序能够更改调色板颜色,以产生动画显示效果。
真彩色显示没有相应的机制来模拟通过快速更改调色板来产生动画效果的功能。从时间和网络流量角度来说,通过软件模拟此机制的代价非常高。为降低此项成本,Citrix Workspace 应用程序将缓冲快速的调色板更改操作,并每隔几秒钟更新一次实时调色板。
显示错误
Citrix Workspace 应用程序对日语字符使用 EUC-JP 或 UTF-8 字符编码,而服务器则使用 SJIS 字符编码。Citrix Workspace 应用程序无法在这些字符集之间进行转换。此问题可能会导致显示以下对象时出现问题:
- 保存在服务器上并在本地查看的文件
- 保存在本地并在服务器上查看的文件
此问题还会影响在扩展参数传递中所用的参数中的日语字符。
会话宽幅显示
全屏会话默认跨多个显示器,但还可以使用命令行多显示器显示控制选项 -span。通过该选项,可以将全屏会话跨额外的显示器显示。
通过 Desktop Viewer 工具栏功能,您可以在窗口化会话窗口与全屏会话窗口之间切换,包括对相交显示器的多显示器支持。
重要:
对于采用无缝或标准窗口的会话(包括已最大化的窗口中的会话),宽幅显示不起作用。
- span 选项采用以下格式: -span [h][o][a|mon1[,mon2[,mon3, mon4]]]
如果指定了 <!JEKYLL@5260@26>,则将在 <!JEKYLL@5260@27> 中输出显示器列表。如果 <!JEKYLL@5260@28> 是完整的选项值,<!JEKYLL@5260@29> 将退出。
如果指定了 <!JEKYLL@5260@30>,则会话窗口将带有 <!JEKYLL@5260@31> 属性。
小心:
- 建议不要使用此选项。它旨在作为与不兼容的窗口管理器一起使用的最后一个选项。
- 会话窗口对该窗口管理器不可见,没有图标,也无法重新创建堆栈。
- 只能通过结束会话来删除此值。
如果指定了 <!JEKYLL@5260@32>,Citrix Workspace 应用程序将尝试创建一个在所有显示器中显示的会话。
Citrix Workspace 应用程序假定其余的 -span 选项值为显示器编号的列表:
- 单个值将选择特定的监视器。
- 两个值将选择所需区域左上角和右下角的监视器。
- 四个值将指定区域顶部、底部、左侧和右侧边缘的监视器。
如果未指定 <!JEKYLL@5260@33>,wfica 将使用 _NET_WM_FULLSCREEN_MONITORS 消息从窗口管理器中请求相应的窗口布局(如果支持该功能)。否则,将使用尺寸和位置提示来请求所需的布局。
可以使用以下命令来测试窗口管理器是否支持该功能: <!JEKYLL@5260@34>
如果没有输出,则不支持该功能。如果不支持,可能需要一个覆盖重定向窗口。可以使用 <!JEKYLL@5260@35> 设置覆盖重定向窗口。
从命令行设置跨额外的显示器的会话:
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@36> 用户设备当前所连接的显示器编号列表将打印到 <!JEKYLL@5260@37>,<!JEKYLL@5260@38> 将退出。 
- 
    请记下这些显示器编号。 
- 
    在命令提示窗口中,键入: <!JEKYLL@5260@39> w、x、y 和 z 值是上面的步骤中的步骤 1 中的监视器编号。单个值 w 将指定特定的监视器。两个值 w 和 x 指定所需区域的左上角和右下角的监视器。四个值 w、x、y 和 z 指定区域顶部、底部、左侧和右侧边缘的监视器。 重要: - 在通过浏览器启动自助服务之前,定义 WFICA_OPTS 变量。要定义此变量,请编辑配置文件(通常位于 $HOME/.bash_profile 或 $HOME/.profile),在其中添加一行来定义 WFICA_OPTS 变量。例如: <!JEKYLL@5260@40>
- 此更改同时影响虚拟应用程序和桌面会话。
- 如果已启动自助服务或 <!JEKYLL@5260@41>,请删除启动的进程,以便新环境变量能够生效。请通过以下命令将其删除:<!JEKYLL@5260@42>
 
本地应用程序
您可能不会退出全屏会话以使用本地应用程序或其他会话。出现此问题的原因是客户端系统用户界面被隐藏,键盘透明度功能禁用了常见键盘命令(例如 Alt+Tab),改为将命令发送到服务器。
解决方法:使用 Ctrl+F2 暂时清除键盘透明度功能,直至焦点下次返回会话窗口。备选解决方法为在 $ICAROOT/config/module.ini 中将 TransparentKeyPassthrough 设置为 No。此解决方法将禁用键盘透明度功能。但是,您可能需要通过在 All_regions.ini 文件中添加此设置来覆盖 ICA 文件。
改进了错误消息
以前,所有错误消息都有默认错误代码以及不针对该错误的描述。自 Citrix Workspace 应用程序版本 2309 起,错误消息经过改进,包括了错误特有的错误代码、事务 ID 和说明字段。当会话开始使用 ICA 启动或者在启用了服务连续性功能的情况下启动会话时,会出现这些错误消息。
例如,如果会话启动失败,则会显示以下错误消息:

网络摄像机
更新默认网络摄像机
目前,适用于 Linux 的 Citrix Workspace 应用程序中的网络摄像机重定向一次仅支持一个网络摄像机。所选的默认网络摄像机会映射到设备路径 <!JEKYLL@5260@43>,通常是便携式计算机中的内置网络摄像机。
必须使用以下命令安装 v4l 工具,才能列出系统中具有视频功能的所有设备:
<!JEKYLL@5260@44>
使用以下命令列出视频设备:
<!JEKYLL@5260@45>
您可能会收到如下输出:
<!JEKYLL@5260@46>
根据前面的示例,有两个网络摄像机。您可以使用其中的任何一个。Citrix 建议使用第一个索引。Ubuntu 存在已知问题,因此您可能会看到一个网络摄像机的多个索引。在此示例中,您可以使用 /dev/video0 和 /dev/video2。
要将其他捕获视频设置为默认值,请执行以下操作:
- 导航到 <!JEKYLL@5260@47> 配置文件并对其进行编辑。
- 
    在 [WFClient] 部分中,添加以下设置。 <!JEKYLL@5260@48> 
例如,添加 <!JEKYLL@5260@49> 以在系统中设置映射到 <!JEKYLL@5260@50> 的网络摄像机。
测试功能
在客户端上,网络摄像机重定向模块可以在不同的模式下用于在客户环境条件下测试隔离的组件。
生产和调试模式
此模式将在 VDA 端显示的视频与编码器在客户端产生的实际缓冲区进行比较。它允许测试整个管道。
要启用此模式,请执行以下操作:
- 导航到 <!JEKYLL@5260@51> 配置文件并对其进行编辑。
- 
    将 <!JEKYLL@5260@52> 值设置为 True。 HDXWebcamDebug=True 
启用此模式后,编码器将使用缓冲区生成以下文件,具体取决于所使用的编码器:
- 对于 H264 编码器:/tmp/file_mode_buffers.h264
- 对于 Theora 编码器:/tmp/file_mode_buffers.theora
下图描述了生产和调试模式:

网络摄像机测试器模式
此模式允许您测试与其余管线元素隔离的网络摄像机。
<!JEKYLL@5260@53>
要启用网络摄像机测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@54>
<!JEKYLL@5260@55>
启用此模式后,将显示视频预览,并使用来自网络摄像机的原始缓冲区创建以下文件:
/tmp/wewbcam_buffers.buff
网络摄像即测试器模式所需的唯一开关为 <!JEKYLL@5260@56> 选项。还可以指定要测试的网络摄像机设备。例如,请参阅以下内容:
- ./gst_read -buffers 150
- ./gst_read –buffers 100 –input_device /dev/video2
下图描述了网络摄像机测试器模式:

编码器测试器模式
此模式允许您测试与管道隔离的编码器。
<!JEKYLL@5260@57>
要启用编码器测试器模式,请从命令行运行以下命令:
<!JEKYLL@5260@58>
<!JEKYLL@5260@59>
此模式所需的唯一开关为 <!JEKYLL@5260@60> 选项。还可以测试 Theora 或 H264 编码器以及要生成的缓冲区量。例如,请参阅以下内容:
- 对于 H264:./gst_read –output_file ~/file_buffers.h264 –buffers 200 –enableH264
- 对于 Theora:./gst_read -o ~/file_buffers.theora -b 100
下图描述了编码器测试器模式:

H264 软件编码器
如果基于软件的 H264 编码器无法正常运行,则必须使用以下步骤验证其依赖项:
- 
    验证 x264 <!JEKYLL@5260@61> 插件是否作为 <!JEKYLL@5260@62> 的一部分存在于系统中。如果在 <!JEKYLL@5260@63> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@64>  
- 
    运行以下命令验证 <!JEKYLL@5260@66> 库的依赖项: <!JEKYLL@5260@67>  
如果 <!JEKYLL@5260@68> 文件不存在,则必须使用以下命令安装 <!JEKYLL@5260@69> 插件:
<!JEKYLL@5260@70>
H264 硬件编码器
- 
    验证 <!JEKYLL@5260@71> 插件是否作为 <!JEKYLL@5260@72> 的一部分存在于系统中。如果在 <!JEKYLL@5260@73> 库中可用,请运行以下命令进行验证: <!JEKYLL@5260@74>  
- 
    运行以下命令以验证 libgstvaapi.so 库的依赖项: <!JEKYLL@5260@76>  
- 
    解决任何缺失的依赖项。 
要安装和配置 <!JEKYLL@5260@77>,请按照 <!JEKYLL@5260@78> 安装指南进行操作。
收集内部 <!JEKYLL@5260@79> 框架和 gst_read 日志
作为常规 <!JEKYLL@5260@80> 日志的替代方法,您必须从 <!JEKYLL@5260@81> 模块中收集日志。
请执行以下操作以收集日志:
- 
    打开终端并运行以下命令: <!JEKYLL@5260@82> <!JEKYLL@5260@83> 注意: 此变量设置日志收集级别以及用于存储日志的文件。在这种情况下,我们为 <!JEKYLL@5260@84> 框架设置级别 2,为 <!JEKYLL@5260@85> 模块设置级别 7。有关详细信息,请参阅 文档。建议仅为内部 <!JEKYLL@5260@86> 框架设置错误和警告级别,为 <!JEKYLL@5260@87> 设置日志级别。 
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@88> <!JEKYLL@5260@89> 
<!JEKYLL@5260@90> 文件是使用内部 <!JEKYLL@5260@91> 框架和 <!JEKYLL@5260@92> 日志生成的。
<!JEKYLL@5260@93> 管道检查
要查看 <!JEKYLL@5260@94> 框架正在创建的实际管道,请执行以下操作:
- 创建一个文件夹来存储点文件,例如:<!JEKYLL@5260@95>。
- 打开终端并导出 <!JEKYLL@5260@96>。此变量指示点文件的存储 <!JEKYLL@5260@97> 位置。
- 下载有效 VDA 的 ICA 文件。
- 
    在同一终端上,运行以下命令以启动 VDA 会话: <!JEKYLL@5260@98> <!JEKYLL@5260@99> 
- 
    该目录 <!JEKYLL@5260@100> 包含点文件。<!JEKYLL@5260@101> 为管道中的每种状态变更生成一个点文件。因此,您可以检查创建管道的所有过程。下面是一组点文件的示例:  
- 安装点文件实用程序以查看管道的可视化表示。例如,Graphviz。下图是创建管道的优劣的示例:
管道已成功创建:

管道无法链接:

注意:
要放大前面的示意图或任何其他示意图,请右键单击该示意图,选择 Open image in new tab(在新选项卡中打开示意图),然后根据需要缩放浏览器。
如上图所示,第二个管道无法链接 <!JEKYLL@5260@102> 元素和 <!JEKYLL@5260@103> 元素。这些功能从未经过充分协商。有关详细信息,请参阅 文档。
RAVE 的系统诊断脚本
我们提供了脚本 <!JEKYLL@5260@104>,用于验证系统配置和依赖项是否适合支持远程音频视频扩展 (RAVE)。
注意:
RAVE 是一项 HDX 功能,支持优化的网络摄像机重定向和面向 Citrix VDA 的 Windows Media Player 重定向。
请执行以下操作来运行脚本:
- 请单击 rave_troubleshooting.sh 下载该脚本。
- 在 Linux 计算机中打开端点。
- 键入 <!JEKYLL@5260@105> 或 <!JEKYLL@5260@106> 可查看支持的命令行参数。
- 
    键入下面其中一个命令: - <!JEKYLL@5260@107> 或 <!JEKYLL@5260@108> - 使用此命令可对网络摄像机重定向运行检查。此命令是默认命令。
- <!JEKYLL@5260@109> 或 <!JEKYLL@5260@110> - 使用此命令可运行 RAVE 的检查。此时将显示一个播放 h264 测试视频的弹出窗口。
 此时将显示系统配置和依赖项。 
通用 USB 重定向
如何将 Android 手机重定向为通用 USB
可以按如下所示将 Android 手机重定向为通用 USB:
- 使用 USB 电缆将您的 Android 手机连接到安装了适用于 Linux 的 Citrix Workspace 应用程序的系统。
- 在手机上选择 USB 连接模式(MTP 或 PTP)。对于大多数 Android 手机,支持的模式为 PTP。
- 
    在终端中键入以下内容,从设备描述符 (VID) 中获取 Android 手机的供应商 ID,从设备描述符 (PID) 中获取产品 ID: <!JEKYLL@5260@111> 
- 记下您的 Android 手机的 VID 和 PID。
- 导航到 <!JEKYLL@5260@112> 文件。
- 
    在 <!JEKYLL@5260@113> 文件末尾添加 <!JEKYLL@5260@114> 行。例如,请按如下所示进行添加: <!JEKYLL@5260@115> 
- 导航到 Desktop Viewer 工具栏中的设备菜单。
- 选择要重定向的 Android 手机。
浏览器
本地浏览器
在 Windows 会话中单击某个链接时,链接内容将显示在本地浏览器中。wfclient.ini 中启用了服务器到客户端内容重定向功能。此重定向将导致本地应用程序运行。要禁用服务器-客户端内容重定向,请参阅服务器-客户端内容重定向。
访问已发布的资源
访问已发布的资源时,您的浏览器会提示保存文件。除 Firefox 和 Chrome 外,可能需要对其他浏览器进行配置才能连接到已发布的资源。但在尝试通过单击该页面上的图标访问资源时,浏览器将提示您保存 ICA 文件。
特定浏览器
如果使用特定 Web 浏览器时遇到问题,请在运行 <!JEKYLL@5260@116> 前,设置环境变量 BROWSER,以指定所需浏览器的本地路径和名称。
Firefox 浏览器
在 Firefox 中启动桌面或应用程序时,如果页面没有响应,请尝试启用 ICA 插件。
Firefox 中的 ICA 插件
在 Firefox 中启用了 ICA 插件时,桌面和应用程序会话可能未启动。在这种情况下,请尝试禁用 ICA 插件。
配置错误
如果某个连接条目配置不正确,可能会出现以下错误。
E_MISSING_INI_SECTION - 验证配置文件:“…”。配置文件中的“…”部分丢失。
配置文件存在编辑错误或已损坏。
E_MISSING_INI_ENTRY - 验证配置文件:“…”。“…”部分中必须包含条目“…”。
配置文件存在编辑错误或已损坏。
E_INI_VENDOR_RANGE - 验证配置文件:“…”。配置文件中的 X 服务器供应商范围“…”无效。
配置文件中的 X 服务器供应商信息已损坏。请与 Citrix 联系。
wfclient.ini 配置错误
如果未正确编辑 wfclient.ini,则可能会出现以下错误。
<!JEKYLL@5260@117>
保存连接数据库时出错;例如无磁盘空间。
<!JEKYLL@5260@118>
创建连接数据库时出错。
E_PNAGENT_FILE_UNREADABLE - 无法读取 Citrix Virtual Apps 文件“…”: 无此类文件或目录。
— 或 —
无法读取 Citrix Virtual Apps 文件“…”: 权限被拒绝。
您尝试通过桌面项或菜单访问资源,但该资源对应的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件不可用。请在查看菜单中选择应用程序刷新以刷新已发布的资源列表,然后重新尝试访问该资源。如果错误仍然存在:
- 检查桌面图标或菜单项的属性
- 检查图标或项目所引用的 Citrix Virtual Apps and Desktops 或 Citrix DaaS 文件。
浏览器内容重定向
有关如何排除浏览器内容重定向故障的信息,请参阅知识中心文章 CTX230052。
如何将自签名证书导入 nssdb
在终端中运行以下命令以将自签名证书导入到 <!JEKYLL@5260@119> 中:
<!JEKYLL@5260@120>
命令中的参数如下:
- <!JEKYLL@5260@121> - 向数据库中添加证书。
- <!JEKYLL@5260@122> - 证书的名称。此参数是可选的,可用于添加昵称。
- <!JEKYLL@5260@123> - 从 badssl.com 站点导出的证书的名称。
- <!JEKYLL@5260@124> - <!JEKYLL@5260@125> 表示 TRUSTARGS,C 表示 CA 证书。有关详细信息,请参阅 Google 文档。
- <!JEKYLL@5260@126> - 数据库的位置。
- <!JEKYLL@5260@127> - 表示输入文件。此参数用于添加证书文件的位置和名称。
有关 BCR 的信息,请参阅 Citrix Virtual Apps and Desktops 文档中的浏览器内容重定向页面。
其他
连接问题
您可能还会发现以下问题。
关闭会话
要了解服务器是否已指示 Citrix Workspace 应用程序关闭会话,请使用 <!JEKYLL@5260@128> 程序。此程序在收到来自服务器的终止会话命令时进行记录。
要通过 syslog 系统记录此信息,请将值为 6 的 SyslogThreshold 添加到配置文件的 [WFClient] 部分中。此设置将启用优先级为 LOG_INFO 或更高的消息日志记录功能。SyslogThreshold 的默认值为 4 (=LOG_WARNING)。
同样,要使 <!JEKYLL@5260@129> 将消息发送到标准错误,请将值为 6 的 PrintLogThreshold 添加到 [WFClient] 部分。PrintLogThreshold 的默认值为 0 (=LOG_EMERG)。
有关日志收集的详细信息,请参阅日志收集,有关 syslog 配置的详细信息,请参阅 syslog 配置。
配置文件设置
wfclient.ini 中的每个条目都必须在 All_Regions.ini 中有对应的条目,这样该设置才能生效。此外,wfclient.ini 文件的 [Thinwire3.0]、[ClientDrive] 和 [TCP/IP] 部分中的每个条目都必须在 canonicalization.ini 中有对应的条目,该设置才能生效。有关详细信息,请参阅 $ICAROOT/config 目录中的 All_Regions.ini 和 canonicalization.ini 文件。
已发布的应用程序
如果运行访问串行端口的已发布的应用程序时遇到问题,则当该端口被其他应用程序锁定时,该应用程序可能会失败(是否显示错误消息取决于应用程序本身)。在此类情况下,请检查是否有其他应用程序临时锁定了该串行端口,或者是否有锁定该串行端口的应用程序在退出时未释放该端口。
要解决此问题,请停止阻止串行端口的应用程序。对于 UUCP 样式的锁定,应用程序退出后可能会在后面遗留一个锁定文件。这些锁定文件所在的位置取决于使用的操作系统。
启动 Citrix Workspace 应用程序
如果 Citrix Workspace 应用程序未启动,并显示“找不到应用程序默认文件或该文件已过期”消息。原因可能是未正确定义环境变量 ICAROOT。如果将 Citrix Workspace 应用程序安装到非默认位置,则必须设置此变量。要解决此问题,Citrix 建议执行以下操作之一:
- 
    将 ICAROOT 定义为安装目录。 要检查是否正确定义了 ICAROOT 环境变量,请尝试从终端会话启动 Citrix Workspace 应用程序。如果仍显示该错误消息,则可能未正确定义 ICAROOT 环境变量。 
- 
    将 Citrix Workspace 应用程序重新安装到默认位置。有关安装 Citrix Workspace 应用程序的详细信息,请参阅安装和设置。 如果先前将 Citrix Workspace 应用程序安装到默认位置,请在重新安装前删除 <!JEKYLL@5260@130> 或 <!JEKYLL@5260@131> 目录。 
Citrix CryptoKit(以前称为 SSLSDK)
要查找您正在运行的 Citrix CryptoKit(以前称为 SSLSDK)或 OpenSSL 的版本号,可以使用以下命令: <!JEKYLL@5260@132>
还可以在 AuthManagerDaemon 或 PrimaryAuthManager 上运行此命令
键盘快捷方式
如果窗口管理器使用相同的键组合提供本机功能,您的键组合可能不起作用。例如,<!JEKYLL@5260@133> 窗口管理器使用 Ctrl+Shift+F1 到 Ctrl+Shift+F4 的键组合在桌面 13 到 16 之间切换。如果遇到此问题,请尝试以下解决方案:
- 键盘上的转换模式将一组本地键组合映射到服务器端键组合。例如,在转换模式下,默认将 Ctrl+Shift+F1 映射到服务器端键组合 Alt+F1。要将此映射重新配置为备用本地键组合,请更新 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中的以下条目。此设置会将本地键组合 Alt+Ctrl+F1 映射到 Alt+F1:
    - 将 Hotkey1Shift=Ctrl+Shift 更改为 Hotkey1Shift=Alt+Ctrl。
 
- 键盘上的直接模式将所有键组合直接发送到服务器。这些键组合不在本地处理。要配置直接模式,请在 $HOME/.ICAClient/wfclient.ini 的 [WFClient] 部分中,将 TransparentKeyPassthrough 设置为 Remote。
- 重新配置窗口管理器,使其阻止使用默认键盘组合。
远程 Croatian 键盘
以下过程可确保将 ASCII 字符正确发送到具有 Croatian 键盘布局的远程虚拟机。
- 在相应配置文件的 WFClient 部分中,将 UseEUKSforASCII 设置为 True。
- 将 UseEUKS 设置为 2。
日语键盘
要配置对日语键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Japanese (JIS)
ABNT2 键盘
要配置对 ABNT2 键盘的使用,请更新 wfclient.ini 配置文件中的以下条目:
KeyboardLayout=Brazilian (ABNT2)
本地键盘
如果本地键盘上的某些键未按预期运行,请从 $ICAROOT/config/module.ini 的列表中选择最相配的服务器布局。
Windows Media Player
Citrix Workspace 应用程序可能没有 <!JEKYLL@5260@134> 插件,无法处理请求的格式。此问题通常会导致服务器请求其他格式。有时首次检查适用的插件会错误地指出已存在一个插件。此问题通常会被检测到,并且会导致服务器上出现一个错误对话框,指示 Windows Media Player 在播放文件时遇到问题。在会话中重试文件通常有效,因为 Citrix Workspace 应用程序拒绝该格式。因此,服务器会请求其他格式或提供媒体本身。
在少数情况下,尽管进度指示器在 Windows Media Player 中按预期移动,但检测不到恰当的插件,并且无法正确播放文件。
要避免显示此错误对话框,或者避免在将来的会话中播放失败,请执行以下操作:
- 
    临时将配置选项“SpeedScreenMMAVerbose=On”添加到 $Home/.ICAClient/wfclient.ini(举例)的 [WFClient] 部分。 
- 
    通过已从终端启动的自助服务重新启动 <!JEKYLL@5260@135>。 
- 
    播放导致出现此错误的视频。 
- 
    记录(在跟踪输出中)与缺失插件跟踪关联的 MIME 类型,或者记录必须受支持但不播放的 MIME 类型(例如“video/x-h264..”)。 
- 
    编辑 $ICAROOT/config/MediaStreamingConfig.tbl。在包含记录的 MIME 类型的行中,在“:”与 MIME 类型之间插入“?”。此设置禁用该格式。 
- 
    对引发此错误情况的其他媒体格式重复(上述)步骤 2 - 5。 
- 
    将修改后的 MediaStreamingConfig.tbl 分发到安装了相同的一组 <!JEKYLL@5260@136> 插件的其他计算机。 
注意:
也可以在识别 MIME 类型后安装 <!JEKYLL@5260@137> 插件进行解码。
用于验证 Windows Media Player 重定向的系统要求的脚本
在 2307 版本中,引入了一个新的 bash 脚本,用于验证适用于 Linux 的 Citrix Workspace 应用程序中 Windows Media Player 重定向功能所需的配置。此功能有助于缩短 Windows Media Player 重定向功能的故障排除时间。要验证配置,您可以使用 RAVE 的系统诊断脚本中提供的相同 rave_troubleshooting.sh。
串行端口设置
要配置一个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=1
ComPort1=device
要配置两个或多个串行端口,请在 $ICAROOT/config/module.ini 配置文件中添加以下条目:
LastComPortNum=2
ComPort1=device1
ComPort2=device2
错误
本主题列出了在使用 Citrix Workspace 应用程序时可能出现的其他常见错误消息。
出现错误。错误代码为 11 (E_MISSING_INI_SECTION)。请参阅相关文档。正在退出。
从命令行运行 Citrix Workspace 应用程序时,此错误通常意味着在 appsrv.ini 文件中未找到命令行中指定的说明。
E_BAD_OPTION - 选项“…”无效。
选项“…”缺少参数。
E_BAD_ARG - 选项“…”具有无效参数: …。
为选项“…”指定了无效参数。
E_INI_KEY_SYNTAX - 密钥“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_INI_VALUE_SYNTAX - 值“…”(在配置文件“…”中)无效。
配置文件中的 X 服务器供应商信息已损坏。请创建一个配置文件。
E_SERVER_NAMELOOKUP_FAILURE - 无法连接到服务器“…”。
无法解析服务器名称。
无法写入一个或多个文件: …。请更正任何磁盘满载问题或权限问题并重试。
检查是否存在磁盘已满问题或权限问题。如果发现问题,请予以更正,并重试提示此错误消息的操作。
服务器连接已断开。请重新连接并重试。以下文件可能丢失数据: …。
重新连接并重试提示此错误消息的操作。
诊断信息
如果在使用 Citrix Workspace 应用程序时遇到问题,可能需要向技术支持部门提供诊断信息。此信息可帮助此团队尝试诊断问题并提供帮助来修复该问题。
获取与 Citrix Workspace 应用程序有关的诊断信息:
- 
    在安装目录中,键入 util/lurdump。建议您在会话处于打开状态时以及(如有可能)出现问题时执行此修改。 此时将生成一个包含详细诊断信息的文件,其中包括版本详细信息、Citrix Workspace 应用程序的配置文件内容以及各系统变量的值。 
- 
    将该文件发送给 Citrix 技术支持部门之前,请检查文件中是否包含机密信息。 
对与资源的连接进行故障排除
用户可以使用连接中心管理其活动的连接。此功能是一个非常有用的生产力促进工具,通过该工具,用户和管理员可以对速度缓慢或有问题的连接进行故障诊断并解决出现问题。在连接中心中,用户可以通过以下方法管理连接:
- 关闭应用程序。
- 注销会话。此步骤将结束会话并关闭任何打开的应用程序。
- 从会话中断开会话。此步骤将在不关闭任何打开的应用程序的情况下断开与服务器的选定连接(除非服务器配置为在断开连接时关闭应用程序)。
- 查看连接传输统计数据。
日志收集
在早期版本中,<!JEKYLL@5260@138> 和 <!JEKYLL@5260@139> 文件用于配置日志记录。
自版本 2009 起,您可以使用以下方法之一配置日志收集:
- 命令行接口
- GUI
同样,自版本 2009 起,<!JEKYLL@5260@140> 配置文件将从 Citrix Workspace 应用程序安装程序软件包中删除。
日志会将 Citrix Workspace 应用程序部署详细信息、配置更改以及管理活动捕获到日志收集数据库。第三方开发人员可以使用日志收集 SDK(作为 Citrix Workspace 应用程序平台优化 SDK 的一部分捆绑在一起)来应用此日志收集机制。
可以使用日志信息执行以下操作:
- 诊断和排除任何更改后出现的问题。日志提供浏览路径记录。
- 协助更改管理和跟踪配置。
- 报告管理活动。
如果使用 root 用户权限安装 Citrix Workspace 应用程序,则日志将存储在 <!JEKYLL@5260@141> 中。否则,日志将存储在 <!JEKYLL@5260@142> 中。
安装 Citrix Workspace 应用程序时,将创建一个名为 <!JEKYLL@5260@143> 的用户以处理日志记录功能。
命令行接口
- 在命令提示符下,导航至 <!JEKYLL@5260@144> 路径。
- 
    运行以下命令以设置日志首选项。 <!JEKYLL@5260@145> 
此时将显示所有可用命令。
下表列出了各种模块和及其相应的跟踪类值。要获取特定的命令行日志值集,请使用下表:
| 模块 | 日志类 | 
|---|---|
| 断言 | LOG_ASSERT | 
| 音频监视器 | TC_CM | 
| 基于 CEF 的 BCR | TC_CEFBCR | 
| 客户端音频映射 | TC_CAM | 
| 连接中心 | TC_CONNCENTER | 
| 客户端通信端口 | TC_CCM | 
| 客户端驱动器映射 | TC_CDM | 
| 剪辑 | TC_CLIP | 
| 客户端打印机映射 | TC_CPM | 
| 客户端打印机映射 | TC_CPM | 
| 字体 | TC_FONT | 
| 帧 | TC_FRAME | 
| 图形抽象 | TC_GA | 
| 输入法编辑器 | TC_IME | 
| IPC | TC_IPC | 
| 键盘映射 | TC_KEY | 
| 许可驱动程序 | TC_VDLIC | 
| 鼠标映射 | TC_MOU | 
| MS Teams | TC_MTOP | 
| 其他库 | TC_LIB | 
| 协议驱动程序 | TC_PD | 
| PNA 应用商店 | TC_PN | 
| 标准事件日志 | LOG_CLASS | 
| SRCC | TC_SRCC | 
| SSPI 登录 | TC_CSM | 
| 智能卡 | TC_SCARDVD | 
| 自助服务 | TC_SS | 
| 自助服务扩展 | TC_SSEXT | 
| StorefrontLib | TC_STF | 
| 传输驱动程序 | TC_TD | 
| Thinwire | TC_TW | 
| 透明窗口界面 | TC_TUI | 
| 虚拟通道 | TC_VD | 
| PAL | TC_VP | 
| UI | TC_UI | 
| <!JEKYLL@5260@146> | TC_UIDW3 | 
| UIDialogLibWebKit3_ext | TC_UIDW3E | 
| USB 守护程序 | TC_CTXUSB | 
| 视频帧驱动程序 | TC_VFM | 
| Web 套件 | TC_WEBKIT | 
| WinStation 驱动程序 | TC_WD | 
| Wfica | TC_NCS | 
| Wfica引擎 | TC_WENG | 
| WficaShell | TC_WFSHELL | 
| Web 帮助程序 | TC_WH | 
| 零延迟 | TC_ZLC | 
GUI
转到菜单 > 偏好设置。此时将显示 Citrix Workspace - 首选项对话框。
    
在跟踪详细信息级别不断增加时,可以使用以下值:
- 已禁用
- 仅限错误
- 正常
- 详细
默认情况下,日志记录选项设置为 Only Error(仅限错误)。
由于可以生成大量数据,因此,跟踪可能会严重影响 Citrix Workspace 应用程序的性能。仅当故障转移需要时才建议使用详细级别。
选择所需的日志收集级别后,单击保存并关闭。这些更改将在会话中动态应用。
单击日志记录选项下拉菜单旁边的设置图标。此时将显示 Citrix 日志首选项对话框。
   
注意:
如果删除
ICAClient.log文件,则必须重新启动日志收集服务ctxcwalogd。例如,如果您使用的是
systemd-capable的安装程序,请运行以下命令:
systemctl restart ctxcwalogd。
在版本 2006 及更早版本中启用日志收集:
如果您使用的是版本 2006 及更早版本,请使用以下过程启用日志收集:
- 下载并在您的 Linux 计算机上安装 Citrix Workspace 应用程序。
- 
    将 ICAROOT环境变量设置为安装位置。例如, /opt/Citrix/ICAClient。默认情况下, TC_ALL类处于启用状态以提供所有跟踪。
- 
    要收集特定模块的日志,请打开位于 $ICAROOT的debug.ini文件并将所需的跟踪参数添加到[wfica]部分中。添加具有“+”符号的跟踪类。例如, +TC_LIB。您可以添加由管道符号分隔的不同类。 例如, +TC_LIB|+TC_MMVD。
下表列出了 wfica 模块和及其相应的跟踪类值:
| 模块 | TraceClasses 值 | 
|---|---|
| 图形 | TC_TW | 
| EUEM | TC_EUEM | 
| WFICA(会话启动) | TC_NCS | 
| 打印 | TC_CPM | 
| 连接顺序 - WD | TC_WD | 
| 连接顺序 - PD | TC_PD | 
| 连接顺序 - TD | TC_TD | 
| 与代理相关的文件 | TC_PROXY | 
| 多媒体虚拟驱动程序/网络摄像机 | TC_MMVD | 
| 虚拟驱动程序 | TC_VD | 
| 客户端驱动器映射 | TC_CDM | 
| 音频 | TC_CAM | 
| COM(通信端口) | TC_CCM | 
| 无缝 | TC_TWI | 
| 智能卡 | TC_SCARDVD | 
下表列出了连接中心模块及其相应的跟踪类值:
| 模块 | TraceClasses 值 | 
|---|---|
| 连接中心 | TC_CSM | 
下表列出了 setWebHelper 的跟踪类值:
| TraceClasses 值 | 
|---|
| 将 logSwitch 设置为 1(启用)或 0(禁用) | 
| 示例:logSwitch = 1 | 
故障排除:
如果 ctxcwalogd 变得无响应,则会在 syslog 中跟踪日志。
有关获取在后续启动时生成的新日志和更新的日志的信息,请参阅 Syslog 配置。
Syslog 配置
默认情况下,所有 syslog 日志都保存在 /var/log/syslog。要配置日志文件的路径和名称,请在 /etc/rsyslog.conf 文件中的 [RULES] 部分下编辑以下行。例如,
user.* -/var/log/logfile_name.log
保存所做的更改,然后使用以下命令重新启动 syslog 服务:
sudo service rsyslog restart
需要记住的几个要点:
- 
    要验证新 syslog 是否可用,请删除 syslog 并运行命令: sudo service rsyslog restart。
- 
    为避免出现重复消息,请在 rsyslog.conf文件开头添加 $RepeatedMsgReduction on。
- 
    要接收日志,请确保取消注释 rsyslog.conf文件开头的 $ModLoad imuxsock.so 行。
远程日志收集
要启用远程日志收集,请执行以下操作:
- 
    服务器端配置: 取消注释 syslog 服务器的 rsyslog.conf文件中的以下行:$ModLoad imtcp$InputTCPServerRun 10514
- 
    客户端配置: 通过将 localhost 替换为远程服务器的 IP 地址,在 rsyslog.conf文件中添加以下行:*.* @@localhost:10514
收集日志文件
以前,没有可用于在 Citrix Workspace 应用程序中收集日志文件的工具。日志文件分散在不同的文件夹中。您必须手动从不同的文件夹中收集日志文件。
自 2109 版起,Citrix Workspace 应用程序引入了 collectlog.py 工具,用于从不同的文件夹中收集日志文件。您可以使用命令行运行该工具。生成的日志文件为压缩格式。可以从本地服务器进行下载。
必备条件
- Python 3
- 需要额外的空间来保存日志
自版本 2109 起,增加了两个新文件,以使用 collectlog.py 工具收集日志文件:
- 
logcollector.ini文件 – 保存日志文件的名称和路径。
- 
collectlog.py文件 – 收集日志文件并将其保存为cwalog_{timestamp}.tar.gz压缩文件。
默认情况下,[hdxteams] 组件将添加到 logcollector.ini 文件中以收集 Microsoft Teams 的日志文件。但是,您也可以按照以下过程在 logcollector.ini 文件中添加其他组件:
- 导航到 ${HOME}/.ICAClient/logs/ICAClient.log/logcollector.ini文件。
- 根据以下示例添加收集日志文件所需的组件:
[component_name]
log_name1 = “log_path1”
log_name2 = “log_path2”
如果您使用的是版本 2109,请通过以下过程收集日志文件:
- 下载并在您的 Linux 计算机上安装 Citrix Workspace 应用程序。
- 在命令行中,导航到 /opt/Citrix/ICAClient/util路径。
- 
    运行以下命令: ./collctlog.py -h将显示以下命令用法信息: usage: collect_log [-h] [-c CONFIG] [-a ARCHIVE]optional arguments: -h, --help show this help message and exit -c CONFIG, --config CONFIG The logcollector.ini path & file -a ARCHIVE, --archive ARCHIVE The archive path & file
- 
    根据需要运行以下命令: - 
./collectlog.py– 使用默认路径中的配置文件来收集日志文件,并在默认路径中将其保存为压缩的日志文件。
- 
./collectlog.py -c /user_specified_path/logcollector.ini– 使用用户指定路径中的配置文件收集日志文件,并在默认路径中将其保存为压缩的日志文件。
- 
./collectlog.py -c /user_specified_path/logcollector.ini -a/another_user_specified_path/– 使用用户指定路径中的配置文件收集日志文件,并在用户定义的路径中将其保存为压缩的日志文件。
 注意: logcollector.ini配置文件的默认路径为/opt/Citrix/ICAClient/config/logcollector.ini。压缩的日志文件的默认路径为/tmp。
- 
- 导航到 /tmp文件夹并收集cwalog_{timestamp }.tar.gz压缩文件。
注意:
日志文件将保存在文件名为
cwalog_{timestamp}.tar.gz的/tmp文件夹中。
日志收集的增强功能
自 Citrix Workspace 应用程序版本 2309 起,提供了以下增强功能:
Citrix 日志收集实用程序
Citrix 日志收集实用程序可帮助您收集新日志和现有日志。此实用程序专门收集详细日志并将所有日志保存在 tar.gz 文件中。
可以使用以下任一方法打开 Citrix 日志收集实用程序:
- 导航到添加帐户屏幕。
- 单击汉堡菜单。
- 选择收集日志

或者,
在应用程序指示器图标中单击故障排除 > 收集日志。

或者,
- 在命令行中,导航到 /opt/Citrix/ICAClient/util路径。
- 运行以下命令:./logmgr
此时将出现 Citrix 日志收集实用程序屏幕。

收集全新的日志
- 
    导航到 Citrix 日志收集实用程序,然后单击开始收集日志。此时将显示以下屏幕:  
- 重现问题场景。
- 
    重现该问题后,单击停止收集日志。此时将显示以下屏幕:  
- 
    单击保存日志以保存日志。用于保存日志的文件资源管理器窗口已打开。  
- 
    单击保存。日志文件已保存。此时将显示以下屏幕:  
- 
    单击查看保存的日志以查看保存的日志。保存的日志文件显示在以下屏幕中:  
注意:
如果第二次单击开始收集日志,则会收到一条警告消息,提示您覆盖现有日志:
收集现有日志
- 打开 Citrix 日志收集实用程序。
- 
    单击收集现有日志以收集可能从先前的事件中捕获到问题的日志。打开文件资源管理器窗口以保存现有日志。  
- 
    单击保存将现有日志保存到其他文件夹,以后可以从中访问日志文件。此时将显示以下屏幕:  
- 
    单击查看保存的日志以查看日志。  
收集用户活动日志
自 2311 版本起,您可以收集用户活动日志。与大部分 Storebrowse 命令相关的活动将保存在日志文件中。可以在以下位置找到日志文件:
${HOME}/.ICAClient/logs/userActivitylog/
默认情况下,用户活动日志处于启用状态。要将其禁用,请在 Authmanconfig.xml 文件中添加以下密钥:
<key>UserActivityLogsDisabled</key>
<value>true</value>
<!--NeedCopy-->
禁止收集 DS 日志
DS 日志将收集所有日志。如果不需要 dslogs,可以通过在 Authmanconfig.xml 文件中添加以下密钥来将其禁用:
<key>DsLogsDisabled</key>
<value>true</value>
<!--NeedCopy-->
增强了浏览器内容重定向的系统日志
自 2405 版本起,浏览器内容重定向现在允许管理员监视功能状态,作为系统日志的增强功能的一部分。有关详细信息,请参阅浏览器内容重定向。
