Jump to content

Przemyslaw Mantaj

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Przemyslaw Mantaj

  1. A quite old post but we did a similar scenario for our Customer and I would like like to share a few tips.

     

    Local App Access feature cannot communicate between Citrix Workspace (Receiver) and  VDA as Carl mentioned. Custom Virtual Channel development is needed. 


    In our scenario, we wanted to send audio from workstation to the backend without sending all traffic through VDA. We had to install a client on VDA but part of our application needed to listen on localhost on workstation only. How we solved it.


    1. We used the Virtual Channel SDK to create EXE that was installed on VDA and DLL that is loaded by Citrix Workspace (Receiver). SDK contains example how to create client (DLL) and a server application (EXE). There is a documentation as well.

    2. The EXE is a TCP Server implementation in C language that receive all TCP connections from our client (VDA) and send them through the virtual channel to the Citrix Workspace (Receiver).

    3. The DLL receives all traffic from our TCP Server (EXE) through the virtual channel and send them to the localhost:<port> on the workstation. All responses from localhost:<port> is sent back through the virtual channel to the TCP Server (EXE) and then the TCP Server send traffic to the client installed on VDA.

     

    The key is to learn how to develop DLL and EXE by Virtual Channel SDK. The best way to to it is to analyse all examples very deeply with documentation to SDK.

     

    I hope that I helped. 

  2. Hi Qian,

     

    Thank you for the response. I am using easyinstall setup.

     

    ctxvda service status

    ctxvda.service - Citrix DotNet VDA Service
       Loaded: loaded (/etc/systemd/system/ctxvda.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2020-09-28 11:45:03 CEST; 7min ago
     Main PID: 3364 (ctxvda)
       CGroup: /system.slice/ctxvda.service
               ├─3364 /bin/sh /opt/Citrix/VDA/sbin/ctxvda
               └─3370 /usr/bin/dotnet /opt/Citrix/VDA/lib64/BrokerAgentLinux.dll
    
    Sep 28 11:45:03 xxxxxx systemd[1]: Started Citrix DotNet VDA Service.

    DotNet installation:

    sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
    sudo yum install dotnet-runtime-2.1

    DotNet path

    $ /opt/Citrix/VDA/bin/ctxreg dump | grep -i dotnet
    create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/usr/bin" --force
    $ /usr/bin/dotnet --info
    
    Host (useful for support):
      Version: 2.1.22
      Commit:  23677d3ee7
    
    .NET Core SDKs installed:
      No SDKs were found.
    
    .NET Core runtimes installed:
      Microsoft.NETCore.App 2.1.22 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
    
    To install additional .NET Core runtimes or SDKs:
      https://aka.ms/dotnet-download

     

    I thought that Citrix Policies break something after adding the VDA to the DeliveryGroup. I excluded all Citrix Policies from the DeliveryGroup but problem is the same. The strange thing is that when I add the VDA to the Machine Catalog first time I can enumerate linux applications from Start Menu. The problem is when I add the VDA to the Delivery Group and then the state changed from Registered to Initializing.

  3. My environment:

    • VirtualApps 1912 LTSR
    • Linux VDA 1912 LTSR on Centos 7.7

     

    I installed Linux VDA with success. It means that:

    • Linux joined to domain controller correctly
    • I can log in through ssh on my domain credentials.
    • I added VDA correctly to Machine Catalog and the Registered State appeared.

     

    The problem is that after adding the VDA to the Delivery Group the VDA changes state from Registered to Initializing.

     

    Sometimes, in vda log I see error like that:

    [BrokerAgent] [Error] RegistrationManager.ResynchroniseSystemTime: Process failed to be started, Exception:System.ComponentModel.Win32Exception (2):
     No such file or directory
       at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
       at System.Diagnostics.Process.Start()
       at Citrix.Cds.BrokerAgent.RegistrationManager.ResynchoniseSystemTime()

    I verified NTP server and time synchronisation is correct.

     

    Has anyone encountered a similar problem before?

×
×
  • Create New...