Linux Virtual Delivery Agent

Session reliability

Citrix introduces the session reliability feature to all supported Linux platforms. Session reliability is enabled by default.

Session reliability reconnects ICA sessions seamlessly across network interruptions. For more information about session reliability, see Auto client reconnect and session reliability.

Note: Data transmitted through a session reliability connection is in plain text by default. For security purposes, We recommend that you enable TLS encryption. For more information about TLS encryption, see Secure user sessions using TLS.

Configuration

Policy settings in Citrix Studio

You can set the following policies for session reliability in Citrix Studio:

  • Session reliability connections
  • Session reliability timeout
  • Session reliability port number
  • Reconnection UI transparency level

For more information, see Session reliability policy settings and Auto client reconnect policy settings.

Note: After setting the Session reliability connections or Session reliability port number policy, restart the VDA service and the HDX service, in this order, for your settings to take effect.

Settings on the Linux VDA

  • Enable/disable the session reliability TCP listener

By default, the session reliability TCP listener is enabled and listening on port 2598. To disable the listener, run the following command.

/opt/Citrix/VDA/bin/ctxreg update -k "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\WinStations\cgp"   -v  "fEnableWinStation" -d "0x00000000"
<!--NeedCopy-->

Note: Restart the HDX service for your settings to take effect. Disabling the TCP listener does not disable session reliability. Session reliability is still available through other listeners (for example, SSL) if the feature is enabled through the Session reliability connections policy.

  • Session reliability port number

You can also set the session reliability port number by using the following command (using port number 2599 as an example).

/opt/Citrix/VDA/bin/ctxreg update -k  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\WinStations\cgp"   -v  "PortNumber" -d  "2599"
<!--NeedCopy-->

Note: Restart the HDX service for your setting to take effect. If the port number has been set through the policy setting in Citrix Studio, your setting on the Linux VDA is ignored. Ensure that the firewall on the VDA is configured not to prohibit network traffic through the set port.

  • Server-to-client keep-alive interval

Keep-alive messages are sent between the Linux VDA and the client when there’s no activity (for example, no mouse movement or screen update) in a session. The keep-alive messages are used to detect whether the client is still responsive. If there is no response from the client, the session is suspended until the client reconnects. This setting specifies the number of seconds between successive keep-alive messages. By default, this setting is not configured. To configure it, run the following command (using 10 seconds as an example).

/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XTEConfig"  -t "REG_DWORD"  -v  "CgpServerToClientKeepAlive"  -d  "10"  --force
  • Client-to-server keep-alive interval

This setting specifies the number of seconds between successive keep-alive messages sent from the ICA client to the Linux VDA. By default, this setting is not configured. To configure it, run the following command (using 10 seconds as an example).

/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XTEConfig"  -t "REG_DWORD"  -v  "CgpClientToServerKeepAlive"  -d  "10"  --force
<!--NeedCopy-->

Troubleshooting

Unable to launch sessions after enabling session reliability through the policy setting.

To work around this issue, do the following:

  1. Ensure that the VDA service and HDX service are restarted, in this order, after you enable session reliability through the policy setting in Citrix Studio.
  2. On the VDA, run the following command to verify that the session reliability TCP listener is running (using port 2598 as an example).

    netstat -an | grep 2598
    <!--NeedCopy-->
    

    If there is no TCP listener on the session reliability port, enable the listener by running the following command.

    /opt/Citrix/VDA/bin/ctxreg update -k  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\WinStations\cgp"   -v  "fEnableWinStation" -d "0x00000001"
    <!--NeedCopy-->
    
Session reliability