故障排除

本文提供信息,旨在帮助管理员对 Citrix Workspace app 进行故障排除。

连接

您可能会遇到以下连接问题。

已发布的资源或桌面会话

当尝试连接到 Windows 服务器时,如果出现一个对话框,显示消息“正在连接到服务器…”但随后没有出现连接窗口,则可能需要使用客户端访问许可证 (CAL) 配置服务器。有关许可的详细信息,请参阅许可

会话重新连接

当重新连接到颜色深度高于 Citrix Workspace app 所需的会话时,连接可能会失败。此故障发生在服务器可用内存不足时。

如果重新连接失败,Citrix Workspace app 会尝试使用原始颜色深度。否则,服务器会尝试使用请求的颜色深度启动新会话,使原始会话处于断开连接状态。如果服务器上仍然缺少可用内存,则第二次连接也可能失败。

完整 Internet 名称

  • Citrix® 建议您在网络上配置 DNS(域名服务器)。此配置使您能够解析要连接的服务器的名称。如果您未配置 DNS,则可能无法将服务器名称解析为 IP 地址。您可以改为通过其 IP 地址而不是名称来指定服务器。TLS 连接需要完全限定域名,而不是 IP 地址。

  • 会话缓慢

如果会话在您移动鼠标之前未启动,则 Linux 内核中可能存在随机数生成问题。作为一种解决方法,请运行熵生成守护程序,例如 rngd(基于硬件)或 haveged(来自 Magic Software)。

发送有关 Citrix Workspace app 的反馈

发送反馈选项允许您将使用 Citrix Workspace app 时可能遇到的任何问题告知 Cloud Software Group。您还可以发送建议,以帮助我们改进您的 Citrix Workspace app 体验。

这项新功能增强了反馈体验,确保用户与支持团队之间建立更高效、信息更丰富的沟通渠道。

发送反馈选项包含一个集成的日志管理器,使用户能够捕获并包含相关日志,以生成全面的反馈报告。

此外,发送反馈通过允许用户使用其系统上安装的默认邮件客户端直接发送反馈电子邮件,从而提供无缝通信。

支持的电子邮件客户端如下:

  • 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 最终用户协议的约束。

您可以使用以下任一方法发送反馈:

  1. 导航到添加帐户屏幕。
  2. 单击汉堡菜单。
  3. 单击发送反馈

    添加帐户

或者,

  1. 单击应用程序指示器图标中的发送反馈

    应用程序指示器

或者,

-  1.  在命令行中,导航到 `/opt/Citrix/ICAClient/util` 路径。
  1. 运行以下命令:

    ./sendfeedback
    <!--NeedCopy-->
    
  2. 此时将显示发送反馈屏幕。

    发送反馈

  3. 提供问题标题
  4. 告诉我们更多字段中添加问题详细信息。
  5. 单击捕获我的问题。此时将显示 Citrix 日志收集实用程序屏幕。

    日志收集实用程序

    单击开始捕获,然后重现问题以收集最新日志。

    或者,

  • 如果您无法重现问题,请单击选择现有日志

  • 注意:

    有关 Citrix 日志收集实用程序的详细信息,请参阅日志收集

  1. 确保日志文件显示在捕获我的问题旁边。
  2. 单击选择文件,然后添加描述您问题的附件,例如屏幕截图或屏幕录制。
  • 提交反馈完成
  1. 单击发送。此时将显示反馈报告屏幕。
  • send-feedback-report

  • .tar.gz 文件包含日志文件、作为测试文件的问题描述以及附件。

  1. 您可以使用以下选项将反馈报告发送给 Citrix:
  • 单击 “使用默认电子邮件应用程序发送反馈报告” 以使用系统中的默认邮件应用程序。

  • 或者,

    手动将报告发送到提供的电子邮件 ID。

注意:

请确保 .zip 文件已作为附件添加到电子邮件中。

  • 密码套件

如果您的连接因新的加密支持而失败:

  1. 您可以使用各种工具检查服务器支持的密码套件,包括:
    • Ssllabs.com(要求服务器具有 Internet 访问权限)
    • sslyze (https://github.com/nabla-c0d3/sslyze)
  2. 在 Linux Client WireShark 中,使用筛选器 (ip.addr == VDAIPAddress) 查找数据包(客户端 Hello、服务器 Hello),以找到 SSL 部分。结果包含客户端发送并由服务器接受的密码套件。

不正确的 Citrix Optimization SDK

Citrix Optimization SDK 软件包包含不正确的 UIDialogLibWebKit.so 版本。作为一种解决方法,请执行以下操作:

  1. 下载 页面下载 Citrix Optimization SDK 软件包版本 18.10。

    1. 转到路径 CitrixPluginSDK/UIDialogLib/GTK

      ```

  • <!– Configure email address for sendfeedback - - >

cwa-linux-feedback@cloud.com

SendFeedbackEnabled

true

    1.  删除所有对象文件:

            ```
    ./sendfeedback
    <!--NeedCopy-->
1.  转到 WebKit 文件夹:

    ```
    sudo apt-get install v4l-utils
    <!--NeedCopy--> ```

1.  删除现有的 `UIDialogLibWebKit.so`:

    ```
    v4l2-ctl --list-devices
    <!--NeedCopy--> ```

1.  在 WebKit 目录中使用以下命令:

    ```
    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--> ```

     生成新的 `UIDialogLibWebKit.so`。
1.  将新库复制到 **$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 的最大传输单元 (Maximum Transmission Unit) 小于默认值 1,500 字节,则可能会出现此问题。请执行以下操作:

  • 在配置文件中设置 edtMSS=1000

连接错误

连接错误可能会产生各种不同的错误对话框。例如:

  • 连接错误:与身份验证服务通信时发生协议错误。
  • 无法联系身份验证服务。
  • 无法使用此服务器地址添加您的帐户。

某些问题可能会导致此类错误,包括:

  • 当本地计算机和远程计算机无法协商通用 TLS 协议时,可能会发生错误。有关详细信息,请参阅 TLS
  • 当远程计算机需要旧密码套件进行 TLS 连接时,可能会发生错误。在这种情况下,您可以在配置文件的 \[WFClient\] 部分中设置配置选项 SSLCiphers=ALL,并在重新启动连接之前运行 killall AuthManagerDaemon ServiceRecord selfservice storebrowse
  • 当远程计算机不适当地请求客户端证书时,可能会发生错误。IIS 必须仅接受要求 Citrix、身份验证和证书的证书。
  • 其他问题。

低带宽连接

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 音频 - 此功能可以在 Voice-over-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 HD 显卡,请在 xorg.conf.d 中创建一个名为 20-intel.conf 的文件,其内容如下:

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”。

    General > Composition 下,清除 Undirect Fullscreen Windows

注意:

请谨慎使用“CompizConfig Settings Manager”,因为错误地更改值可能会导致系统无法启动。

  • Compton(一个附加实用程序)。有关完整详细信息,请参阅 Compton 的主页/文档。例如,运行以下命令:

    • compton ---vsync opengl ---vsync -aggressive

错误的击键

如果使用的是非英语键盘,屏幕显示可能与键盘输入不匹配。在这种情况下,必须指定正在使用的键盘类型和布局。有关指定键盘的详细信息,请参阅控制键盘行为

过度重绘

某些窗口管理器在移动无缝窗口时会持续报告新的窗口位置,这可能导致过度重绘。要解决此问题,请将窗口管理器切换到在移动窗口时仅绘制窗口轮廓的模式。

图标兼容性

Citrix Workspace app 创建的窗口图标与大多数窗口管理器兼容。但是,这些图标与 X Inter-Client Communication Convention 不完全兼容。

完全图标兼容性

-  要提供完全图标兼容性:
  1. 打开 wfclient.ini 配置文件。
  2. 编辑 [WFClient] 部分中的以下行:UseIconWindow=True
  3. 保存并关闭文件。

光标颜色

如果光标颜色与背景颜色相同或相似,则可能难以看清。可以通过强制光标区域为黑色或白色来解决此问题。

更改光标颜色

  1. 打开 wfclient.ini 配置文件。

  2. 将以下行之一添加到 [WFClient] 部分:

    CursorStipple=ffff,ffff(使光标变为黑色)

    CursorStipple=0,0(使光标变为白色)

  3. 保存并关闭文件。

颜色闪烁

将鼠标移入或移出连接窗口时,非焦点窗口中的颜色开始闪烁。此问题是使用 X Windows System 和 PseudoColor 显示器时的一个已知限制。如果可能,请为受影响的连接使用更高的颜色深度。

TrueColor 显示器的颜色更改

连接到服务器时,可以选择使用 256 种颜色。此选项假定视频硬件具有调色板支持,以使应用程序能够更改调色板颜色以生成动画显示。

TrueColor 显示器无法通过快速更改调色板来模拟生成动画的能力。此功能的软件仿真在时间和网络流量方面成本高昂。为了降低此成本,Citrix Workspace app 会缓冲快速调色板更改,并且每隔几秒钟才更新一次实际调色板。

显示不正确

Citrix Workspace app 对日语字符使用 EUC-JP 或 UTF-8 字符编码,而服务器使用 SJIS 字符编码。Citrix Workspace app 不会在这些字符集之间进行转换。此问题可能导致以下文件显示出现问题:

  • 保存在服务器上并在本地查看的文件
  • 保存在本地并在服务器上查看的文件

此问题还会影响扩展参数传递中使用的参数中的日语字符。

会话跨度

默认情况下,全屏会话会跨所有显示器,但也可以使用命令行多显示器显示控制选项 -span。它允许全屏会话跨额外的显示器。

桌面查看器工具栏功能允许您在窗口化和全屏会话窗口之间切换会话,包括对相交显示器的多显示器支持。

重要提示:

Span 对无缝或普通窗口化会话(包括最大化窗口中的会话)没有影响。

-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

如果没有输出,则表示不支持。如果不支持,您可能需要一个 override-redirect 窗口。您可以使用 -span o 设置 override-redirect 窗口。

要从命令行创建跨额外显示器的会话:

  1. 在命令提示符下,键入:

    /opt/Citrix/ICAClient/wfica -span h

    当前连接到用户设备的显示器编号列表将打印到 stdout,并且 wfica 将退出。

  2. 记下这些显示器编号。

      1. 在命令提示符下,键入:

    /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`
    

本地应用程序

您可能无法从全屏会话中退出以使用本地应用程序或另一个会话。出现此问题的原因是客户端系统 UI 被隐藏,并且键盘透明功能禁用了常用的键盘命令(例如 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

  • 要将另一个捕获视频设置为默认值,请执行以下操作:

    1. 导航到 ~/.ICAClient/wfclient.ini 配置文件并对其进行编辑。
    1. [WFClient] 部分中,添加以下设置。

    HDXWebCamDevice=<device path>

例如,添加 HDXWebCamDevice=/dev/video2 以在系统中设置映射到 /dev/video2 的网络摄像头。

测试功能

在客户端上,网络摄像头重定向模块可以在不同的模式下使用,以在客户环境条件下测试隔离的组件。

生产和调试模式

此模式比较 VDA 端显示的视频和编码器在客户端生成的实际缓冲区。它允许测试整个管道。

要启用此模式:

  1. 导航到 ~/.ICAClient/wfclient.ini 配置文件并对其进行编辑。
  2. 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 编码器无法正常工作,您必须使用以下步骤验证其依赖项:

  1. 验证 x264 GStreamer 插件是否作为 gstreamer-plugins-ugly 的一部分存在于系统中。如果它在 libgstx264.so 库中可用,请运行以下命令进行验证:

    ```

  • gst-inspect-1.0 x264

    ```

    x264 `GStreamer` 验证的图像

  1. 运行以下命令以验证 libgstx264.so 库的依赖项:

    ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstx264.so
    <!--NeedCopy-->
    
  • libgstx264.so 库验证的图像

  • 如果 libgstx264.so 文件不存在,您必须使用以下命令安装 GStreamer 插件 ugly:

sudo apt-get install gstreamer1
0-plugins-ugly
<!--NeedCopy-->

H264 硬件编码器

  1. 验证系统中是否存在作为 gstreamer1.0-vaapi 一部分的 vaapi GStreamer 插件。如果它在 libgstvaapi.so 库中可用,请运行以下命令进行验证:

    gst-inspect-1.0 vaapi
    <!--NeedCopy-->
    

    vaapi GStreamer 验证图像

  2. 运行以下命令以验证 libgstvaapi.so 库的依赖项:

        ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
    <!--NeedCopy-->
    

    libgstvaapi.so 库验证图像

  3. 解决所有缺失的依赖项。

要安装和配置 vaapi,请遵循 GStreamer vappi 安装指南

收集内部 GStreamer 框架和 gst_read 日志

除了常规的 ICAClient 日志之外,您还必须收集 gst_read 模块的日志。

请执行以下操作来收集日志:

  1. 打开终端并运行以下命令:

        
    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 设置日志级别。

  2. 下载有效 VDA 的 ICA® 文件。
  3. 在同一终端中,运行以下命令以启动 VDA 会话:

    cd /opt/Citrix/ICAClient
    <!--NeedCopy-->
    
    ./wfica   <ICA file path>/vda.ica
    <!--NeedCopy-->
    

将生成包含内部 GStreamer 框架和 gst_read 日志的 gst_read.log 文件。

  • GStreamer 管道检查

  • 要查看 GStreamer 框架正在创建的实际管道,请执行以下操作:
  1. 创建一个文件夹来存储点文件,例如:gstIntPipes
  2. 打开终端并导出 GST_DEBUG_DUMP_DOT_DIR=<Absolute path>/gstIntPipes。此变量指示 GStreamer 将点文件存储在哪里。
  3. 下载有效 VDA 的 ICA 文件。
  4. 在同一终端中,运行以下命令以启动 VDA 会话:

    cd /opt/Citrix/ICAClient/
    <!--NeedCopy-->
    
    ./wfica <ICA file path>/vda.ica
    <!--NeedCopy-->
    
  5. 目录 gstIntPipes 包含点文件。GStreamer 为管道中的每个状态更改生成一个点文件。因此,您可以检查管道创建的所有过程。以下是点文件集的一个示例:

    点文件图像

  6. 安装点文件实用程序以查看管道的可视化表示。例如,Graphviz。以下图像是管道创建成功和失败的示例:

管道成功创建:

管道成功链接图像

管道无法链接:

管道无法链接图像

注意:

要放大上述图像或任何其他图像,请右键单击图像,选择在新选项卡中打开图像,然后根据需要缩放浏览器。

如上图所示,第二个管道无法链接 GstCapsFilter 元素和 GstVaapiEncodeH264 元素。功能从未完全协商。有关详细信息,请参阅文档

RAVE 的系统诊断脚本

我们提供了一个脚本 rave_troubleshooting.sh,用于验证系统配置和依赖项是否适合支持远程音频视频扩展 (RAVE)。

注意:

RAVE 是一项 HDX™ 功能,用于支持 Citrix VDA 的优化网络摄像头重定向和 Windows Media Player 重定向。

请执行以下操作来运行脚本:

  1. 单击 rave_troubleshooting.sh 下载脚本。
  2. 在您的 Linux 计算机中打开终端。
  3. 键入 rave_troubleshooting.sh --helprave_troubleshooting.sh -h 以查看支持的命令行参数。
  4. 键入以下任一命令:

    • rave_troubleshooting.sh -wrave_troubleshooting.sh --webcam - 使用此命令运行网络摄像头重定向检查。此命令是默认命令。
    • rave_troubleshooting.sh -rrave_troubleshooting.sh --rave - 使用此命令运行 RAVE 检查。将显示一个播放 h264 测试视频的弹出窗口。

    将显示系统配置和依赖项。

通用 USB 重定向

如何将 Android 手机重定向为通用 USB

您可以按如下方式将 Android 手机重定向为通用 USB:

    1. 使用 USB 连接线将 Android 手机连接到安装有 Citrix Workspace 应用程序(适用于 Linux)的系统。
    1. 在手机上选择 USB 连接模式 (MTP 或 PTP)。对于大多数 Android 手机,支持的模式是 PTP。
  1. 在终端中键入以下内容,以从设备描述符 (VID) 获取 Android 手机的供应商 ID,并从设备描述符 (PID) 获取产品 ID:

    lsusb
    <!--NeedCopy-->
    
  2. 记下 Android 手机的 VID 和 PID。
  3. 导航到 usb.conf 文件。
  4. usb.conf 文件末尾添加 CONNECT vid=<您的手机的 vid> pid=<您的手机的 pid> split=01 intf=00 行。例如,按如下方式添加:

    CONNECT vid=18d1 pid=4ee2 split=01 intf=00
    <!--NeedCopy-->
    
  5. 导航到 Desktop Viewer 工具栏中的”设备”菜单。
  6. 选择要重定向的 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 - 无法写入文件:“...”

保存连接数据库时出现问题;例如,磁盘空间不足。

E\_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 系统记录此信息,请将 SyslogThreshold 的值 6 添加到配置文件的 [WFClient] 部分。此设置可启用优先级为 LOG_INFO 或更高级别的消息的日志记录。SyslogThreshold 的默认值为 4 (=LOG_WARNING)。

同样,要让 wfica 将信息发送到标准错误,请将 PrintLogThreshold 的值 6 添加到 [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 应用程序未启动,则会显示错误消息“Application default file could not be found or is out of date”(找不到应用程序默认文件或文件已过期)。原因可能是环境变量 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。
  • 重新配置窗口管理器,使其抑制默认键盘组合。

远程克罗地亚语键盘

此过程可确保 ASCII 字符正确发送到具有克罗地亚语键盘布局的远程虚拟桌面。

  1. 在相应配置文件的 WFClient 部分中,将 UseEUKSforASCII 设置为 True。
  2. 将 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 中的进度指示器按预期移动。

为避免将来会话中出现此错误对话框或播放失败:

  1. 例如,将配置选项 “SpeedScreenMMAVerbose=On” 临时添加到 $Home/.ICAClient/wfclient.ini 的 [WFClient] 部分。

  2. 从已从终端启动的自助服务中重新启动 wfica

  3. 播放会生成此错误的视频。

  4. 记下(在跟踪输出中)与缺失插件跟踪关联的 MIME 类型,或必须支持但无法播放的 MIME 类型(例如,“video/x-h264..”)。

  5. 编辑 $ICAROOT/config/MediaStreamingConfig.tbl。在包含所记录 MIME 类型的行上,在“:”和 MIME 类型之间插入一个“?”。此设置会禁用该格式。

  6. 重复执行步骤 2-5(前述),以处理产生此错误条件的其他媒体格式。

  7. 将此修改后的 MediaStreamingConfig.tbl 分发到安装了相同 GStreamer 插件集的其他计算机。

注意:

另外,在识别出 MIME 类型后,可能可以安装 GStreamer 插件来对其进行解码。

用于验证 Windows Media Player 重定向系统要求的脚本

借助 2307 版本,引入了一个新的 bash 脚本,用于验证 Citrix Workspace app for Linux 中 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 app 时可能遇到的其他常见错误消息列表。

发生错误。错误代码为 11 (E_MISSING_INI_SECTION)。请参阅文档。正在退出。

从命令行运行 Citrix Workspace app 时,此错误通常表示在命令行上给出的描述未在 appsrv.ini 文件中找到。

E_BAD_OPTION - 选项“…”无效。

选项“…”缺少参数。

E_BAD_ARG - 选项“…”的参数无效:“…”。

为选项“…”指定了无效参数。

E_INI_KEY_SYNTAX - 配置文件“…”中的密钥“…”无效。

配置文件中的 X Server 供应商信息已损坏。请创建配置文件。

E_INI_VALUE_SYNTAX - 配置文件“…”中的值“…”无效。

配置文件中的 X Server 供应商信息已损坏。请创建配置文件。

E_SERVER_NAMELOOKUP_FAILURE - 无法连接到服务器“…”。

无法解析服务器名称。

无法写入一个或多个文件:“…”。请更正任何磁盘空间不足问题或权限问题,然后重试。

检查是否存在磁盘空间不足问题或权限问题。如果发现并更正了问题,请重试导致此错误消息的操作。

服务器连接丢失。请重新连接并重试。这些文件可能缺少数据:“…”。

重新连接并重试导致此错误的操作。

诊断信息

如果您在使用 Citrix Workspace app 时遇到问题,可能会要求您向技术支持部门提供诊断信息。此信息有助于该团队诊断问题并提供帮助以纠正问题。

要获取有关 Citrix Workspace app 的诊断信息:

  1. 在安装目录中,键入 util/lurdump。建议您在会话打开时(如果可能,在问题发生时)执行此修改。

    将生成一个文件,其中提供详细的诊断信息,包括版本详细信息、Citrix Workspace app 配置文件内容以及各种系统变量的值。

  2. 在将文件发送给技术支持部门之前,请检查其中是否包含机密信息。

解决资源连接问题

用户可以使用连接中心管理其活动连接。此功能是一个有用的生产力工具,使用户和管理员能够解决缓慢或有问题的连接。通过连接中心,用户可以通过以下方式管理连接:

  • 关闭应用程序。
  • 注销会话。此步骤将结束会话并关闭所有打开的应用程序。
  • 断开会话连接。此步骤将切断与服务器的选定连接,而不会关闭任何打开的应用程序(除非服务器配置为在断开连接时关闭应用程序)。
  • 查看连接传输统计信息。

日志收集

在早期版本中,debug.inimodule.ini 文件用于配置日志记录。

从 2009 版本开始,您可以使用以下方法之一配置日志收集:

  • 命令行界面
  • GUI

同样,自 2009 版本起,debug.ini 配置文件已从 Citrix Workspace 应用程序安装程序包中移除。

日志会捕获 Citrix Workspace 应用程序部署详细信息、配置更改和管理活动到日志收集数据库中。第三方开发人员可以通过使用日志收集 SDK 来应用此日志收集机制,该 SDK 作为 Citrix Workspace 应用程序平台优化 SDK 的一部分进行捆绑。

您可以使用日志信息执行以下操作:

  • 诊断和解决在任何更改后发生的问题。日志提供了跟踪线索。
  • 协助变更管理并跟踪配置。
  • 报告管理活动。

如果 Citrix Workspace 应用程序以 root 用户权限安装,日志将存储在 /var/log/citrix/ICAClient.log 中。否则,日志将存储在 ${HOME}/.ICAClient/logs/ICAClient.log 中。

安装 Citrix Workspace 应用程序时,会创建一个名为 citrixlog 的用户以处理日志记录功能。

命令行界面

  1. 在命令提示符下,导航到 /opt/Citrix/ICAClient/util 路径。
  2. 运行以下命令以设置日志首选项。

    ````


将显示所有可用命令。

下表列出了各种模块及其对应的跟踪类值。使用下表设置特定的命令行日志值:

|  模块 | 日志类  |
|-- | -- |
| 断言  | 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` |
| 鼠标映射 | TC_MOU |
| MS Teams | TC_MTOP|
| 其他库 | TC_LIB |
| 协议驱动程序 | TC_PD |
| PNA Store | TC_PN |
| 标准事件日志 | LOG_CLASS |
| SRCC | TC_SRCC|
| SSPI 登录 | TC_CSM |
| 智能卡 | TC_SCARDVD |
| Selfservice | TC_SS |
| Selfservice 扩展 | TC_SSEXT |
| StorefrontLib | TC_STF |
| 传输驱动程序 | TC_TD |
| Thinwire | TC_TW |
| 透明窗口界面 | TC_TUI |
| 虚拟通道 | TC_VD |
| PAL | TC_VP |
| UI | TC_UI |
| `UIDialogLibWebKit3` | TC_UIDW3 |
| `UIDialogLibWebKit3\_ext` | TC_UIDW3E |
| USB 守护程序 | TC_CTXUSB |
| 视频帧驱动程序 | TC_VFM |
| Web kit | TC_WEBKIT |
| WinStation 驱动程序 | TC_WD |
| `Wfica` | TC_NCS |
| `Wfica` 引擎 | TC_WENG |
|`Wfica` Shell |TC_WFSHELL |
| Web 助手 |TC_WH |
| 零延迟 | TC_ZLC |

### GUI

转到“**菜单**”>“**首选项**”。将显示“**Citrix Workspace - 首选项**”对话框。
![Preferences dialog](/en-us/citrix-workspace-app-for-linux/media/preferences.png)

随着跟踪详细信息级别的提高,可用值如下:

-  已禁用
-  仅错误
-  正常
-  详细

默认情况下,“**日志记录**”选项设置为“**仅错误**”。

由于可能生成大量数据,跟踪可能会显著影响 Citrix Workspace 应用程序的性能。仅在故障排除需要时才建议使用“**详细**”级别。

选择所需的日志收集级别后,单击“**保存并关闭**”。更改将在会话中动态应用。

单击“**日志记录**”选项下拉菜单旁边的设置图标。将显示“**Citrix 日志首选项**”对话框。
![Log Preferences dialog](/en-us/citrix-workspace-app-for-linux/media/log_preferences.png)

> **注意:**
>
> 如果删除 `ICAClient.log` 文件,则必须重新启动日志收集服务 `ctxcwalogd`。
>
> 例如,如果您使用的是 `systemd-capable` 设置,请运行以下命令:
>
> `    ```
    ./sendfeedback
    <!--NeedCopy-->

在 2006 版本及更早版本上启用日志收集:

如果您使用的是 2006 版本及更早版本,请使用以下过程启用日志收集:

  1. 在您的 Linux 计算机上下载并安装 Citrix Workspace 应用程序。
  2. ICAROOT 环境变量设置为安装位置。

    例如,/opt/Citrix/ICAClient

    默认情况下,TC\_ALL 跟踪类处于启用状态以提供所有跟踪。

  3. 要收集特定模块的日志,请打开 \$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] 部分下的以下行。例如,

sudo apt-get install v4l-utils
<!--NeedCopy-->

保存更改,然后使用以下命令重新启动 syslog 服务:

v4l2-ctl --list-devices
<!--NeedCopy-->

要记住的要点:

  • 要验证新的 syslog 是否可用,请删除 syslog 并运行命令:sudo service rsyslog restart

  • 为避免重复消息,请在 rsyslog.conf 文件的开头添加 $RepeatedMsgReduction on

  • 要接收日志,请确保 rsyslog.conf 文件开头的 $ModLoad imuxsock.so 行已取消注释。

远程日志收集

要启用远程日志收集,请执行以下操作:

  • 服务器端配置: 在 syslog 服务器的 rsyslog.conf 文件中取消注释以下行:

    \$ModLoad imtcp

    \$InputTCPServerRun 10514

  • 客户端配置:rsyslog.conf 文件中添加以下行,将 localhost 替换为远程服务器的 IP 地址:

    \*.\* @@localhost:10514

收集日志文件

以前,Citrix Workspace 应用程序中没有可用于收集日志文件的工具。日志文件位于不同的文件夹中。您必须手动从不同的文件夹中收集日志文件。

从 2109 版本开始,Citrix Workspace 应用程序引入了一个 collectlog.py 工具,用于从不同文件夹收集日志文件。您可以使用命令行运行该工具。日志文件将生成为压缩日志文件。您可以从本地服务器下载它。

先决条件

  • Python 3
  • 需要额外的空间来保存日志

从 2109 版本开始,添加了两个新文件以使用 collectlog.py 工具收集日志文件:

  • logcollector.ini 文件 – 保存日志文件的名称和路径。
  • collectlog.py 文件 – 收集日志文件并将其保存为 cwalog\_{timestamp}.tar.gz 压缩文件。

默认情况下,logcollector.ini 文件中添加了 \[hdxteams] 组件,用于收集 Microsoft Teams 的日志文件。但是,您也可以使用以下过程在 logcollector.ini 文件中添加其他组件:

  1. 导航到 \${HOME}/.ICAClient/logs/ICAClient.log/logcollector.ini 文件。
  2. 根据以下示例添加您需要收集日志文件的组件:

[component_name]

log_name1 = “log_path1”

log_name2 = “log_path2”

如果您使用的是 2109 版本,请使用以下过程收集日志文件:

  1. 在您的 Linux 计算机上下载并安装 Citrix Workspace 应用程序。
  2. 在命令行中,导航到 /opt/Citrix/ICAClient/util 路径。
  3. 运行以下命令: ./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

  4. 根据需要运行以下命令:

    • ./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

  5. 导航到 /tmp 文件夹并收集 cwalog_{timestamp }.tar.gz 压缩文件。

注意:

日志文件将以 cwalog_{timestamp}.tar.gz 文件名保存在 /tmp 文件夹中。

日志收集增强功能

从 Citrix Workspace 应用程序 2309 版本开始,提供以下增强功能:

Citrix 日志收集实用程序

Citrix 日志收集实用程序可帮助您收集新日志和现有日志。此实用程序专门收集详细日志并将所有日志保存到 tar.gz 文件中。

您可以使用以下任一方法打开 Citrix 日志收集实用程序:

  1. 导航到添加帐户屏幕。
  2. 单击汉堡菜单。
  3. 选择收集日志

    添加帐户

或者,

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

应用程序指示器

或者,

  1. 在命令行中,导航到 /opt/Citrix/ICAClient/util 路径。
  2. 运行以下命令:./logmgr

将显示Citrix 日志收集实用程序屏幕。

Citrix 日志收集实用程序

收集新日志
  1. 导航到 Citrix 日志收集实用程序,然后单击“开始收集日志”。将显示以下屏幕:

    正在收集日志

  2. 重现问题场景。
  3. 重现问题后,单击“停止收集日志”。将显示以下屏幕:

    保存新日志

  4. 单击“保存日志”以保存日志。将打开用于保存日志的文件资源管理器窗口。

    保存日志

  5. 单击“保存”。日志文件已保存。将显示以下屏幕:

    保存日志文件资源管理器

  6. 单击“查看已保存的日志”以查看已保存的日志。已保存的日志文件将显示在以下屏幕中:

    保存日志文件资源管理器

注意:

如果第二次单击“开始收集日志”,您将收到一条警告消息,提示您覆盖现有日志:

警告消息

收集现有日志
  1. 打开 Citrix 日志收集实用程序。
  2. 单击“收集现有日志”以收集可能已捕获先前发生的问题的日志。将打开文件资源管理器窗口以保存现有日志。

    现有日志文件资源管理器

  3. 单击“保存”以将现有日志保存到其他文件夹,以便以后可以从该文件夹访问日志文件。将显示以下屏幕:

    现有日志文件资源管理器

  4. 单击“查看已保存的日志”以查看日志。

    现有日志文件资源管理器

收集用户活动日志

从 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 版本开始,浏览器内容重定向现在允许管理员监视功能状态,这是系统日志增强功能的一部分。有关详细信息,请参阅浏览器内容重定向

扩展日志记录支持

从 2601 版本开始,适用于 Linux 的 Citrix Workspace 应用程序添加了一个配置选项,用于启用扩展日志记录,以便于诊断。

要启用扩展日志记录:

  1. 编辑 /opt/Citrix/ICAClient/config/AuthManConfig.xml 处的 AuthManConfig.xml 文件。
  2. ExtendedLoggingEnabled 设置为 true

示例:

<!-- ExtendedLoggingEnabled - true, false (Collects verbose, service record, and dslogs) -->
ExtendedLoggingEnabled: false

<!-- To enable extended logging -->
ExtendedLoggingEnabled: true

<!--NeedCopy-->

启用后,将为适用于 Linux 的 Citrix Workspace 应用程序中的 ServiceRecord 和 dslogs 收集扩展日志。

故障排除