Re: Special character issue in Slovenian keyboard Guacamole 1.4.0.

2023-06-18 Thread Michael Jumper

On 6/18/23 19:13, Saravanan Muthu wrote:

Hi,
Special characters using »Alt Gr«, are not working when we select 
Slovenian keyboard on backend server. But we must choose English 
keyboard in target server to get this work. Behaviour observer in 
Gaucamole 1.4.0. Would be great if any known workaround for this?


If you're referring to an RDP connection, Guacamole dynamically 
translates from your local keyboard layout (which can be anything) to 
the remote keyboard layout (which must be configured at the connection 
level and defaults to US English). If you change the layout within the 
session to something different from what Guacamole was configured to 
expect for that connection, then Guacamole will unknowlingly be sending 
the wrong scancodes to the RDP server.


See: 
https://guacamole.apache.org/faq/#does-guacamole-support-my-keyboard-layout


As long as you choose a layout that Guacamole supports, such as the 
default, it will not matter what layout is used locally. You can use the 
Slovenian keyboard layout locally and have things work just fine, as 
Guacamole will translate things as necessary to achieve the same result, 
including through sending Unicode events.


In the case that the RDP server does not support Unicode events, then 
you would need to select a remote keyboard layout that is supported by 
Guacamole and has the same characters, or implement the desired keyboard 
layout and contribute that layout, or open a feature request to 
implement that layout.


- Mike

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Special character issue in Slovenian keyboard Guacamole 1.4.0.

2023-06-18 Thread Saravanan Muthu
Hi,
Special characters using >Alt Gr<, are not working when we select Slovenian 
keyboard on backend server. But we must choose English keyboard in target 
server to get this work. Behaviour observer in Gaucamole 1.4.0. Would be great 
if any known workaround for this?

Thanks,
Saravanan.



Re: Struggling to get volumes mapped for session recording in docker image

2023-06-18 Thread Nick Couchman
On Sun, Jun 18, 2023 at 2:57 PM Najib .  wrote:
>
> Hi,
>
>
>
> I have been struggling for hours to get the proper volume mapped to get the 
> session recording and the extension functioning;
>
>
>
> When I enable session recording on a server connection object I see the 
> following in the logs:
>
>
>
> guacd[31]: ERROR:  Creation of recording failed: No such file or directory
>
>
>
> The manual says this is by default stored in /var/lib/guacamole/recordings
>
>
>
> However when entering the container there is no such folder which would make 
> the error understandable.
>

The folder(s) do not exist by default - you have to create them or
mount a volume. In a Docker environment, I'd highly suggest mounting a
volume, which is what you're trying to do, so that's good :-).

>
>
> Then I wanted to change the recording folder by using the 
> recording-search-path option in guacamole.properties. However this sent me on 
> a completely different marry go round. The logs mention this;
>
>
>
> INFO  o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is 
> "/home/guacamole/.guacamole".
>
> INFO  o.a.g.GuacamoleServletContextListener - Read configuration parameters 
> from "/home/guacamole/.guacamole/guacamole.properties".
>
>
>
> Trying to expose this to the host as a volume makes guacamole crash:
>
> guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or 
> resource busy
>
> guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or 
> resource busy
>
>
>
>
>
> I also tried following the manual by using the following volume in my docker 
> compose file:
>
> volumes:
>
>   - /home/guacamole/guacamole-config:/etc/guacamole
>
>
>
> When I put a guacamole.properties file in the host volume it gets ignored.
>

I would not try to mount either /home/guacamole/.guacamole or
/etc/guacamole. The Docker startup script generates the configuration
files during startup, which is probably why you're seeing these
errors, and why any settings you have in your guacamole.properties
file appear to be ignored.

>
>
> The documentation is not clear on this topic and the default path mentioned 
> seem not relevant to docker.This is really an unnecessary painful struggle 
> and very frustrating as all other containers map their volumes just fine. 
> Only stuck with with trying to map SOMETHING out of Guacamole to ultimately 
> get session recording working.
>
>
>
> Complete docker compose can be found here: 
> https://github.com/brolifen/GuacCompose/blob/main/docker-compose.yml

Looking at your current docker-compose, you appear to have the /record
volume mounted from your host to your guacd container. That means
that, in your connection parameters, you should be able to specify a
path starting with /record and guacd will generate the recordings to
that directory. Please keep in mind that, when you enable recordings,
guacd is the process that does the recording, not Guacamole client.

As far as being able to view those recordings in the web UI, since
you're using Docker, you're probably running into the fact that the
startup script does not contain a method to trigger the loading of
that extension. So, even if you were able to get the configuration
into the guacamole.properties file, and mount the same volume as you
have mounted on the guacd container, you're not going to see that in
the web UI because there's nothing to tell it to load the extension
there. This needs to be added into the startup script - I've created a
Jira issue to handle this:

https://issues.apache.org/jira/browse/GUACAMOLE-1813

-NIck

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: Error 404 with Guacamole 1.5.2

2023-06-18 Thread Nick Couchman
On Sun, Jun 18, 2023 at 2:28 PM Xuo  wrote:
>
> Hi,
>
> I'm trying to run Guacamole 1.5.2 on Mageia8 but I get the following error 
> message :
> HTTP Status 404 - not Found
> The origin server did not find a current representation for the target 
> resource or is not willing to disclose that one exists.
>
> Here are some trials I did to debug :
> Guacamole 1.4, Tomcat-9.0.41-1.mga8 => works fine.
> Guacamole 1.4, Tomcat-9.0.73-1.1.mga8 => works fine.
> Guacamole 1.5.2, Tomcat-9.0.73-1.1.mga8 => when trying to connect to 
> Guacamole, I get the following error message in my browser :

What version of Java?

> HTTP Status 404 - not Found
> The origin server did not find a current representation for the target 
> resource or is not willing to disclose that one exists.
>
> and in Tomcat logs :
>
> 18-Jun-2023 18:04:10.670 GRAVE [main] 
> org.apache.catalina.core.StandardContext.startInternal Un ou plusieurs 
> écouteurs n'ont pas pu démarrer, les détails sont dans le fichier de log du 
> conteneur
> ### Translated from French :
> ### One or more listener could not start, details are in the container logs.
>
> 18-Jun-2023 18:04:10.699 GRAVE [main] 
> org.apache.catalina.core.StandardContext.startInternal Erreur de démarrage du 
> contexte [/guacamole] suite aux erreurs précédentes
> ### Translated from French :
> ### Starting error of context [/guacamole] because of previous errors
>
> 18-Jun-2023 18:04:10.794 INFOS [14] 
> org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 
> Impossible de charger 
> [com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], ce 
> chargeur de classes a déjà été arrêté
> ### Translated from French :
> ### Impossible to load 
> [com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], 
> this class loader is already stopped.
>
> java.lang.IllegalStateException: Impossible de charger 
> [com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], ce 
> chargeur de classes a déjà été arrêté
> at 
> org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1432)
> ...

You'll probably need to enable additional debugging in the Guacamole
web application and try, again, and see if you get any more useful
messages:
https://guacamole.apache.org/doc/gug/configuring-guacamole.html#logging-within-the-web-application

>
> I don't know if this can help but here is my apache guacamole.conf file 
> (/etc/httpd/conf/sites.d/guacamole.conf)

I think the error you're seeing indicates it's more basic than this -
this would be the Apache httpd configuration for the proxying
Guacamole, but it seems like Tomcat is failing to load it for some
reason.

-Nick

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Struggling to get volumes mapped for session recording in docker image

2023-06-18 Thread Najib .
Hi,

I have been struggling for hours to get the proper volume mapped to get the 
session recording and the extension functioning;

When I enable session recording on a server connection object I see the 
following in the logs:

guacd[31]: ERROR:  Creation of recording failed: No such file or directory

The manual says this is by default stored in /var/lib/guacamole/recordings

However when entering the container there is no such folder which would make 
the error understandable.

Then I wanted to change the recording folder by using the recording-search-path 
option in guacamole.properties. However this sent me on a completely different 
marry go round. The logs mention this;

INFO  o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is 
"/home/guacamole/.guacamole".
INFO  o.a.g.GuacamoleServletContextListener - Read configuration parameters 
from "/home/guacamole/.guacamole/guacamole.properties".

Trying to expose this to the host as a volume makes guacamole crash:
guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or resource 
busy
guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or resource 
busy


I also tried following the manual by using the following volume in my docker 
compose file:
volumes:
  - /home/guacamole/guacamole-config:/etc/guacamole

When I put a guacamole.properties file in the host volume it gets ignored.

The documentation is not clear on this topic and the default path mentioned 
seem not relevant to docker.This is really an unnecessary painful struggle and 
very frustrating as all other containers map their volumes just fine. Only 
stuck with with trying to map SOMETHING out of Guacamole to ultimately get 
session recording working.

Complete docker compose can be found here: 
https://github.com/brolifen/GuacCompose/blob/main/docker-compose.yml

Thanks in advance for any help.


Error 404 with Guacamole 1.5.2

2023-06-18 Thread Xuo

Hi,

I'm trying to run Guacamole 1.5.2 on Mageia8 but I get the following 
error message :

HTTP Status 404 - not Found
The origin server did not find a current representation for the target 
resource or is not willing to disclose that one exists.


Here are some trials I did to debug :
Guacamole 1.4, Tomcat-9.0.41-1.mga8 => works fine.
Guacamole 1.4, Tomcat-9.0.73-1.1.mga8 => works fine.
Guacamole 1.5.2, Tomcat-9.0.73-1.1.mga8 => when trying to connect to 
Guacamole, I get the following error message in my browser :

HTTP Status 404 - not Found
The origin server did not find a current representation for the target 
resource or is not willing to disclose that one exists.


and in Tomcat logs :

18-Jun-2023 18:04:10.670 GRAVE [main] 
org.apache.catalina.core.StandardContext.startInternal Un ou plusieurs 
écouteurs n'ont pas pu démarrer, les détails sont dans le fichier de log 
du conteneur

### Translated from French :
### One or more listener could not start, details are in the container logs.

18-Jun-2023 18:04:10.699 GRAVE [main] 
org.apache.catalina.core.StandardContext.startInternal Erreur de 
démarrage du contexte [/guacamole] suite aux erreurs précédentes

### Translated from French :
### Starting error of context [/guacamole] because of previous errors

18-Jun-2023 18:04:10.794 INFOS [14] 
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 
Impossible de charger 
[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], 
ce chargeur de classes a déjà été arrêté

### Translated from French :
### Impossible to load 
[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], 
this class loader is already stopped.


    java.lang.IllegalStateException: Impossible de charger 
[com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator], 
ce chargeur de classes a déjà été arrêté
    at 
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1432)

...

I don't know if this can help but here is my apache guacamole.conf file 
(/etc/httpd/conf/sites.d/guacamole.conf)



    Header always set Strict-Transport-Security "max-age=15768000; 
includeSubDomains; preload"





    
  Order allow,deny
  Allow from all
  ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
  ProxyPassReverse http://192.168.0.14:8080/guacamole/
    

    
  Order allow,deny
  Allow from all
  ProxyPass ws://192.168.0.14:8080/guacamole/websocket-tunnel
  ProxyPassReverse ws://192.168.0.14:8080/guacamole/websocket-tunnel
    



Could you help me to solve this issue ?

Regards.

Xuo.

smime.p7s
Description: Signature cryptographique S/MIME


RE: Re: The IP of "Remote host" under "History" is always the docker default gateway IP address

2023-06-18 Thread Najib .
Hi Michael,

Thanks for pushing me in the right direction that indeed solved my problem! I 
used the Traefik docker image to do this.

On 2023/06/14 21:41:27 Michael Jumper wrote:
> Try:
>
> 1. Set up a reverse proxy in front of the Guacamole container to provide
> SSL/TLS (either Apache or Nginx - whichever you prefer), if you have not
> already done so.
>
> 2. Make sure to configure your reverse proxy to send the IP address of
> the client with the "X-Forwarded-For" header. This is shown in the
> examples in the documentation.
>
> 3. Configure the Guacamole container to trust the "X-Forwarded-For"
> header it receives from your reverse proxy by setting the
> "REMOTE_IP_VALVE_ENABLED" environment variable to "true".
>
> See:
>
> * https://guacamole.apache.org/doc/gug/reverse-proxy.html
> *
> https://guacamole.apache.org/doc/gug/guacamole-docker.html#running-guacamole-behind-a-proxy
>
> There is otherwise no way for a Docker container to see the IP address
> of the connected client unless the container is not running behind a
> gateway at all.
>
> - Mike
>
> On 6/14/23 12:36, Henri Alves de Godoy wrote:
> > Hi all.
> >
> > I've also had this problem for some time. How could I register the IP of
> > the client and not the gateway?
> >
> > Thanks
> > Henri.
> >
> > Em qua., 14 de jun. de
Sent from Mail for Windows