guacamole-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Couchman <>
Subject Re: general functioning of guacamole
Date Fri, 05 Oct 2018 08:42:27 GMT
On Fri, Oct 5, 2018 at 4:04 AM Galyrith <>

> Hello,
> I have some questions about the general functioning of guacamole.
> So, I am trying to implement it in the structure where I am, but I am asked
> for something of a general nature.
> If I understand correctly how Guacamole works is between the web browser
> and
> the remote client and it is guacd that allows the link between the two.

Well, kind of.  The web browser does not directly interact with guacd.  The
web browser interacts with the Java application (Guacamole Client) running
in Tomcat.  That Java application translates between the web browser
(HTTP(S)/WS(S)) and the Guacamole Protocol.  The Guacamole Server (guacd)
translates between the Guacamole Protocol requests coming in from Guacamole
Client(s) and the remote desktop protocol.  My legendary skills in drawing
diagrams (</sarcasm) lead to this:

Web Browser <-- HTTP(S)/WS(S) Protocol --> Guacamole Client
(Tomcat/JBOSS/etc.) <-- (Guacamole Protocol) --> guacd <--
(RDP/SSH/Telnet/VNC) --> Remote Desktop Server

> So I have two questions:
> 1 / How does guacd manage this translation? does he compress the flow or
> not?

guacd attempts to do some analysis of the link between itself and Guacamole
Client to determine the best image type to send.  I believe it uses a
combination of JPEG and PNG, but Mike can probably provide more accurate
information on this.  Obviously JPEGs will be compressed, and PNGs may be
compressed.  The rest of the stream (commands, keystrokes, etc.) is not
compressed.  I'm not sure about the audio.

> 2 / How much data and how is it managed by the web browser?

"How much data" is a very open-ended question that doesn't really have a
single answer, aside from "that depends."  It depends on things like:
- The resolution of the client web browsers (image size)
- Whether you're doing audio or not, and how much audio
- Whether you're doing file transfers or not, what types of files, and how
- Whether you're doing printing or not, what types of printing, and how
- What remote protocol you're using (SSH/Telnet vs. RDP vs. VNC)
- How many concurrent users and connections you have or expect to have
- The length of the sessions

For the "how is it managed by the web browser" part of this question, I'm
not sure what you mean?  The browser interacts with the Guacamole Client
Java application the same way it interacts with any other HTTP/WS server -
there's not any special data management on the part of the web browser
that's specific to Guacamole.


View raw message