Problems with flexVDI Clients

Q: I have a problem with flexVDI Desktop Client and need assistance from the support team!

A: When you open an issue in the support site for a problem with the flexVDI Desktop Client, always attach the log file of the session where the problem happened, and include the approximate date and time of the problem in the issue's message. The flexVDI Desktop Client writes all log messages to a file in the following path:

  • Windows: %LOCALAPPDATA%\flexvdi-client\flexvdi-client.log
  • Linux: $XDG_DATA_HOME/flexvdi-client/flexvdi-client.log
  • Mac OS: $HOME/.local/share/flexvdi-client/flexvdi-client.log

The amount of information that is logged depends on the log-level configuration option. Always use the following logging configuration to generate the log file that you attach to the issue:

log-level=flexvdi:5,GSpice:5,3

This config parameter is set in the configuration file, in the  [General] section. In windows the file is  %LOCALAPPDATA%\flexvdi-client\settings.ini.

The support team may request you a different configuration if more information is needed.

Q: After a few minutes/seconds of user inactivity, keyboard and mouse stop working on virtual desktop / flexVDI Client disconnects.

A: The connections between flexVDI Client and the flexVDI Hosts that serve the virtual desktops are encapsulated in websockets that use https. In the datacenter, it is common that these connections go through a reverse web proxy that can drop inactive connections. For instance, a nginx web proxy with default configuration closes connections that have not had traffic for more than 60 seconds. Firewalls can exhibit the same behavior.

Keyboard, mouse, display, ... use separate connections to the guest, so when user stops typing in his keyboard, that socket stops sending data and can be closed due to inactivity by the proxy/firewall, although screen connection can be kept if a on-screen clock keeps updating screen image and generating traffic in that connection.

If this is your case, you can configure your network infrastructure to stop dropping these connections.

Alternatively, you can configure flexvdi-gateway to periodically generate network traffic, avoiding the detection of inactivity, performing the following steps:

  • In every host executing flexvdi-gateway, edit file /etc/flexvdi/flexvdi-gateway.conf adding a line (beween the other options) with the following content to send a packet every 15 seconds:

     "KeepAlive": 15,
  • Then restart the flexvdi-gateway with:

    service flexvdi-gateway restart

The restart will drop the connections being served by the flexvdi-gateway, so end users will be disconnected, but it does not affect the virtual machines.

Q: After a n minutes of opening a flexVDI session, flexVDI Client disconnects.

A: Some  web proxies  and firewalls have a default maximum duration for websockets, which are used by flexVDI clients. All of the flexVDI clientsm, from the HTML5 client running in a web browser to the native Windows, Linux, ... clients use websockets to connect to a flexvdi gateway or to the webportal.

HA proxy has a default timeout of 60 seconds, and drops websocket connections after that. To set this timeout to 10 hours in an HAproxy proxyfiyng a webportal, the following configuration is needed

backend webportal-demo_ipv4
        mode                    http
        ...
        timeout tunnel 36000s
		...
Q: I get a System Error message when I start flexvdi-client on Windows.

The message says that "The program can start because ucrtbase.dll is missing from your computer", and looks like this in a Windows server.

To fix this, install the Visual C++ Redistributable for your OS. You have links to them at https://flexvdi.com/en/downloads