RemoteFX & Session Sharing

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RemoteFX & Session Sharing

Herzog
Hello together,

I have two more questions :-)

1. Does guacamole support RemoteFX?

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:

2012: https://sourceforge.net/p/guacamole/discussion/1110833/thread/ae5bdb12/
2012 (but on FreeRDP issue board ;-): https://github.com/FreeRDP/FreeRDP/issues/772
2016: http://apache-guacamole-incubating-users.2363388.n4.nabble.com/Windows-server-2016-RemoteFX-and-Guacamole-td23.html
2017: http://apache-guacamole-incubating-users.2363388.n4.nabble.com/How-to-use-RemoteFX-RDP-solution-by-Guacamole-td829.html

2. Does guacamole support sharing sessions?

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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Mike Jumper
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
cooperation.

Adding support for RemoteFX is possible, but we will have to start
from scratch, ignoring those patches.

>
> 2. Does guacamole support sharing sessions?
>

Yes, since 0.9.10-incubating:

http://guacamole.incubator.apache.org/releases/0.9.10-incubating/

- Mike
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Herzog
This post was updated on .
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. :)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Mike Jumper
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
> SimpleGuacamoleTunnel(existingConfiguredSocket)?
>

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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Herzog
This post was updated on .
Hi Mike,

yes, of course!

I am trying to integrate Guacamole into my bachelor thesis project (a web app of it's own).

I already have user authentication and because I would like to have a seamless integration of a "Remote Desktop" feature within my web app, using the existing Guacamole web app did not make sense.

That's why my starting point was the excellent tutorial

https://guacamole.incubator.apache.org/doc/gug/writing-you-own-guacamole-app.html

I now have a GuacamoleHTTPTunnelServlet - basically as described in the tutorial, just with more config options, as well as a WebSocket equivalent and both ways to do Guacamole work impressively well.

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();
config.setConnectionID(previouslyStoredId);
GuacamoleSocket socket = new ConfiguredGuacamoleSocket(new InetGuacamoleSocket(guacamoleHost, guacamolePort), config);
Does that sound about right? :)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Mike Jumper
On Wed, Jun 7, 2017 at 1:58 PM, Herzog <[hidden email]> wrote:

> ...
>
> 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();
>> config.setConnectionID(previouslyStoredId);
>> 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.

- Mike
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RemoteFX & Session Sharing

Herzog
Thanks a lot!
Loading...