Guacamole seems to use FreeRDP, which does. Yet, there is an open ticket which indicated that someone wrote a piece of code for activating RemoteFX support a few years ago, but did not commit it (https://glyptodon.org/jira/browse/GUAC-721). Is this still the case - or does it work now? :-) If so, what to do?
There are a few other threads asking the same question:
E.g., one user opening a VNC/RDP session between client -> guacamole -> vnc/rdp server, then another one joining in (client -> guacamole, but no new connection between guacamole -> vnc/rdp server). The reason is, that while VNC supports multiple simultaneous clients, that drains performance if the host is not well connected, while RDP does not seem to support multiple connections.
On Wed, Jun 7, 2017 at 11:57 AM, Herzog <[hidden email]> wrote:
> Hello together,
> I have two more questions :-)
> 1. Does guacamole support RemoteFX?
No, this is not implemented.
> Guacamole seems to use FreeRDP, which does. Yet, there is an open ticket
> which indicated that someone wrote a piece of code for activating RemoteFX
> support a few years ago, but did not commit it
> (https://glyptodon.org/jira/browse/GUAC-721). Is this still the case - or
> does it work now? :-) If so, what to do?
JIRA tickets get closed when features are implemented, so the fact
that this issue is open is a good indicator that the support is
absent. The JIRA instance you point to in this case is the JIRA
instance that the project used prior to moving to the Apache
Incubator, so it's possible that issues which have been addressed
upstream are not up-to-date there, but if a search of the Apache JIRA
reveals no such issues, and the issue in the old JIRA is still open,
it's probably safe to say it has not been addressed. Changes simply
aren't made to Guacamole without a corresponding issue in JIRA.
Regarding the code you refer to, the problem there is that the author
of those patches did not give permission to include his modifications
(they were provided back when the project was MIT-licensed), did not
specify the license under which his modifications released, and did
not respond to requests for permission to build off those
modifications. All that, plus the poor quality of that particular
piece of code, means that potential contribution is likely a
non-starter. It'd be nice if we could get his permission and would
work with him to address the quality issues ... but there's
unfortunately nothing we can do with those patches without his
Adding support for RemoteFX is possible, but we will have to start
from scratch, ignoring those patches.
Would it be sufficient to keep an instance of the initial ConfiguredGuacamoleSocket, e.g. in a Map and return a new instance of SimpleGuacamoleTunnel(existingConfiguredSocket)?
I just found the following in the docs:
When creating the Guacamole.Client, the tunnel used must not already be connected. The Guacamole.Client will call the connect() function for you when its own connect() function is invoked. If the tunnel is already connected when it is given to the Guacamole.Client, connection may not work at all.
This supports the hypothesis that a new tunnel is needed. :)
On Wed, Jun 7, 2017 at 12:58 PM, Herzog <[hidden email]> wrote:
> Would it be sufficient to keep an instance of the initial
> ConfiguredGuacamoleSocket, e.g. in a Map and return a new instance of
Can you describe what you're trying to do?
Guacamole already supports screen sharing. Unless you're writing an
extension, or trying to use that support in different webapp that
you're developing yourself using the Guacamole API, there's no need to
make any code changes. Everything is already there.
> I am trying to integrate Guacamole into my bachelor thesis project (a web
> app of it's own).
> I am now trying to implement a session sharing feature. And after stumbling
> across another code of yours, I would try the following for all but the
> first clients:
>> GuacamoleConfiguration config = new GuacamoleConfiguration();
>> GuacamoleSocket socket = new ConfiguredGuacamoleSocket(new
>> InetGuacamoleSocket(guacamoleHost, guacamolePort), config);
> Does that sound about right?
Yes. As long as previouslyStoredId is the ID value from
getConnectionID() of the ConfiguredGuacamoleSocket for the connection
being joined, and guacamoleHost and guacamolePort are the hostname and
port of the instance of guacd used for the connection being joined,
this should work fine.