You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by "McRoy, Jeffrey (GE Healthcare)" <Je...@ge.com> on 2017/10/16 15:06:43 UTC

Guacd Telnet/SSH settings

Hi Everyone,

 

The newer versions of guacd allow for setting the color scheme, font size, and session capture. It looks like these are all set at the creation of the connection using guacd parameters. So far, I haven’t found a reference to accessing these features through the Javascript layer so users can control them. Is this the case, or did I miss something?

 

 

Thanks & Regards,

Jeff

 

 

From: Ryan Underwood <ry...@greymarketlabs.com>
Reply-To: "user@guacamole.incubator.apache.org" <us...@guacamole.incubator.apache.org>
Date: Friday, October 13, 2017 at 10:33 PM
To: "user@guacamole.incubator.apache.org" <us...@guacamole.incubator.apache.org>
Subject: EXT: RE: Deploying locally built WAR

 

Solved: Apologies in advance for the long message – I figured it out but have questions on the docs and what it’s actually doing

 

From digging on this I saw tomcat had guacd on localhost:4802 which is NOT where it is – it’s at guac-guacd:4822

From the log file: 

01:41:04.511 [http-nio-8080-exec-2] DEBUG o.a.g.net.InetGuacamoleSocket - Connecting to guacd at localhost:4822.

 

So I dug into the code that checks that and saw that the environment has a default setting of localhost for the guacd_hostname… and since my environment variable was set that seemed odd.  So then I see it’s reading /root/.guacamole/guacamole.properties and THAT file is being concatenated to MY guacamole.properties file that does not have a trailing newline.  When I added a line break to my guacamole.properties file it fixed it and loaded up. 

 

So having gone through this, I have a few questions as to how this was supposed to work ** this may only apply to a docker installation **
I created the properties file originally because it seemed like an easy way to set the config instead of on the docker run line. The documentation says “The guacamole.properties file is optional and is used to configure Guacamole in situations where the defaults are insufficient, or to provide additional configuration information for extensions.”  What actually is happening is the startup script is taking environment vars and creating the properties file (I think).  So the properties file is necessary, but me creating my own isn’t, since tomcat is actually reading it. Right?  And creating one can cause problems, even if it’s correct see #2…
The properties file in /root/.guacamole (that is created by the startup script) is concatenated to a guacamole.properties file located in my local volume. The local one is in a docker volume that I also set to $guacamole_home.  When the properties file is concatenated, if the one I created in my local volume doesn’t have a trailing newline, it puts 2 keys on one line—the script just starts writing to it, even though it exists already. In my case, that happened to be the guacd_hostname that got hosed. I did verify this happens in windows and ubuntu.  So if you create a properties file, it has to have a trailing newline. I worry about properties files that are concatenated like this because the property file could be invalid due to duplicate keys (or the newline issue).  The newline issue could be avoided by writing a newline to the properties file first in the script though. 
There may be an issue when trying to create a properties file programmatically when one already exists in the user defined guacamole_home.  Maybe this is a scenario that didn’t exist before deploying via docker.
Tomcat seems to only care about /root/.guacamole as the guacamole_home which is a bit confusing since it’s not using $guacamole_home.  This was actually the source of my issues. I didn’t realize that the environment variables were just used to create a properties file for tomcat. I saw my environment variables, they were correct, and yet tomcat had incorrect information due to the issues above. 
 

I may have misinterpreted some of this -- sorry if that’s the case.  I’d be happy to help get to a resolution on these if it’s agreed my scenario wasn’t unique to me and reflects some degree of misinformation in the documentation and/or approach to the properties file overall.

 

Thanks for the replies even though it seemed like I was churning =)

-Ryan

 

 

From: Ryan Underwood [mailto:ryan@greymarketlabs.com] 
Sent: Friday, October 13, 2017 4:20 PM
To: user@guacamole.incubator.apache.org
Subject: RE: Deploying locally built WAR

 

I can telnet from guacamole to guacd and guacd gives me a protocol error when I do. I literally copied the scripts a buddy is using on Windows and his works fine.
I added logging to the classes throwing the error to provide more details on what was requested.

Sent from my Android phone using TouchDown (www.symantec.com)

-----Original Message----- 
From: Mike Jumper [mike.jumper@guac-dev.org]
Received: Friday, 13 Oct 2017, 4:07PM
To: user@guacamole.incubator.apache.org [user@guacamole.incubator.apache.org]
Subject: Re: Deploying locally built WAR

On Fri, Oct 13, 2017 at 1:00 PM, Ryan Underwood <ry...@greymarketlabs.com> wrote:

Thanks Nick – not sure how I missed it in the root. 

Now I have the image built from my local repo clone. I’ve modified some of the source to add logging because I still can’t connect to an RDP instance and the only error I get is:

9:50:16.382 [http-nio-8080-exec-9] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Connection refused

19:50:16.384 [http-nio-8080-exec-9] DEBUG o.a.g.s.GuacamoleHTTPTunnelServlet - Internal error in HTTP tunnel.

org.apache.guacamole.GuacamoleServerException: java.net.ConnectException: Connection refused

 

 

This looks like guacd is unreachable. Is your Guacamole image configured to connect to a running copy of guacd (in another Docker container or otherwise)?

 

This is the same error I get with the docker hub image too.  However, after adding some logging in the java classes and updating the logback.xml to go to trace, none of my messages show up anywhere.  Any thoughts?

 

What logging did you add?

 

- Mike

 


Re: Guacd Telnet/SSH settings

Posted by Nick Couchman <vn...@apache.org>.
On Mon, Oct 16, 2017 at 11:06 AM, McRoy, Jeffrey (GE Healthcare) <
Jeffrey.McRoy@ge.com> wrote:

> Hi Everyone,
>
>
>
> The newer versions of guacd allow for setting the color scheme, font size,
> and session capture. It looks like these are all set at the creation of the
> connection using guacd parameters. So far, I haven’t found a reference to
> accessing these features through the Javascript layer so users can control
> them. Is this the case, or did I miss something?
>
>
>
>
>
> Thanks & Regards,
>
> Jeff
>

To my knowledge these parameters cannot be adjusted in Guacamole after a
connection is established.  They are connection parameters, so they are
configured with the connection and then set by the Guacamole Client when
talking to guacd at connection time.

That said, I believe some recent enhancements to guacd allow for better
manipulation of the Guacamole terminal from within the destination system.
Linux, in particular, has fairly extensive support for tweaking the
terminal while you're using it, so there may be some of those things (color
schemes, in particular) that can be adjusted in the session that you are
logged into rather than worrying about them on the client side.  I'm not
sure if font size/zoom is one of those things, though - I've been using
xfce-terminal for so long, now, that my skills for raw terminal
manipulation are a bit dull!

-Nick