Product Documentation

Troubleshooting

Sep 27, 2016

Kerberos issue

It is important that Kerberos on the Linux VDA has been adequately configured to locate its own domain’s domain controllers, and if working cross-domain, the domain controllers of the Broker’s domain. This is achieved by having domain name to KDC server mappings. These mappings are either statically configured in /etc/krb5.conf on each VDA, or queried via DNS SRV records. For more information, refer to the article Troubleshooting Linux VDA Registration issues.

Registration issue

Citrix recommends that you use XDPing for basic diagnostics. Refer to the support article for more information. Refer to the Linux VDA blog for additional details.

Session validation issue

Refer to the Linux VDA blog for information.

Verify H.264 encoding is in use

Linux VDA v1.3 adds H264 and a HardwareEncoding value in the registry path HKLM\Software\Citrix\Ica\Session\<session id>\Graphics to help troubleshoot graphics issues encountered with the VDA.

Run the following command to advertise H.264 encoding in a Linux VDA before a session is launched:

command 複製

/opt/Citrix/VDA/bin/ctxreg create -k

"HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v

"AdvertiseH264" -d "0x00000001" -force

Launch the session and check whether the key H264 is created in the registry path, if so, H.264 encoding is in use:

command 複製

/opt/Citrix/VDA/bin/ctxreg list -k

"HKLM\Software\Citrix\Ica\Session\{SESSION_ID}\Graphics"

Verify hardware encoding for 3D Pro is in use

3D Pro hardware encoding is disabled by default, use the command below to enable the function:

command 複製

/opt/Citrix/VDA/bin/ctxreg create -k

"HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v

"HardwareEncoding" -d "0x00000001" -force

Launch the session and check the value of "HardwareEncoding" in the registry path; 0 means not in use, 1 means hardware encoding is being used:

command 複製

/opt/Citrix/VDA/bin/ctxreg list -k

"HKLM\Software\Citrix\Ica\Session\{SESSION_ID}\Graphics"

Use the command below to query your session ID:

command 複製

/opt/Citrix/VDA/bin/ctxqsession

Customize the desktop environment for each user

Currently, the Linux VDA does not allow the user to choose the desktop environment when logging in; to workaround this issue, the user can configure a file (for example, .xsession) for the Linux distribution to set the default desktop environment for each user. Refer to the documents accompanying the Linux distribution for more information.

To se the KDE as the default environment:

command 複製

#! /usr/bin/env bash

exec startkde

To set GNOME as the default desktop envionment:

command 複製

#! /usr/bin/env bash

exec gnome-session

Check the Linux machine has been prepared correctly

The most common issues are a direct result of Linux machine misconfiguration, mainly around networking, NTP time server configuration or Active Directory domain membership. Fixing the Linux machine’s configuration will often resolve issues with the VDA software.

Configure logging and tracing

The broker agent and the HDX Service log to syslog. Citrix support have a set of tools that can enable addition trace during a support call.

HDX Service logging

The HDX Service is configured to log to syslog out-of-the-box and no further configuration is needed.

Broker Agent logging 

The broker agent (also known as the ctxvda service) writes log da?ta to syslog via network sockets. This may not be configured out-of-the-box. To enable the broker agent logging to syslog logging, the following configuration is required.

Edit the /etc/rsyslog.conf file and add the following lines:

command 複製

$ModLoad imudp

$UDPServerRun 514

Save and close the rsyslog.conf file. Restart the rsyslog service to have the change take affect:

command 複製

sudo /sbin/service rsyslog restart

What to try if HDX sessions won't start

Ensure you have no orphaned processes which might be preventing new sessions from starting:

command 複製

sudo pkill -9 ctxhdx

sudo pkill -9 ctxgfx

sudo pkill -9 ctxlogin

sudo pkill -9 ctxvfb

Restart the Linux VDA services and retry connection.

Verify ownership and permissions of key directories and files

Check the file ownership and permission of the following directories and files:

  • /var - Owner: root, Group: root, Permissions: 0755
  • /var/xdl - Owner: ctxsrvr, Group: ctxadm, Permissions: 0755
  • /var/xdl/.isacagent - Owner: root, Group: root, Permissions: 0666
  • /var/xdl/.winsta - Owner: ctxsrvr, Group: ctxadm, Permissions: 0777
  • /var/xdl/vda - Owner: root, Group: root, Permissions: 0755

Audio is not being heard

Check that the volume control on the device running the Citrix Receiver as well as the Linux desktop are not muted or set to a low level.

Check that audio is enabled on the Linux VDA. Use the ctxreg tool to query the value of the configuration item fDisableCam

command 複製

sudo ctxreg read -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam

A value of 0x1 means audio is disabled. To enable, set fDisableCam to 0x0:  

command 複製

sudo ctxreg update -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -v fDisableCam  -d 0x00000000

If audio is still not being heard check that the Citrix audio sink is loaded by pulseaudio. This  PulseAudio module is loaded into the pulseaudio daemon at session start. Use the pacmd tool to check the Citrix audio sink is loaded:

command 複製

pacmd list-sinks

If the Citrix audio sink is loaded, the output should be:

command 複製

name: <CitrixAudioSink>

driver: <module-ctx-sink.c>

If Citrix audio sink is not loaded, kill the ctxaudio process and restart it.

Audio is not being recorded

Check that audio is enabled on the Linux VDA and audio recording is enabled on the ICA client. If audio is still not being recorded check that the Citrix audio source is loaded by pulseaudio. If audio recording is enabled on the ICA client, this PulseAudio module will be loaded into the pluseaudio daemon at session start. Use the pacmd tool to check the Citrix audio source is loaded:

command 複製

pacmd list-sources

If the Citrix audio source is loaded, the output should be:

command 複製

name: <CitrixAudioSource>

driver: <module-ctx-source.c>

CDM does not work

The CDM feature includes a daemon process (ctxcdmd); if the CDM feature fails, reboot the Linux VDA machine and verify whether the daemon launched correctly:

command 複製

Ps -lef | grep ctxcdmd