0

I have guacamole 0.9.12-incubating. I have a vanilla deploy of three containers: guacamole, guacd and mysql. I am not seeing the api session timeout setting works, at the default of 60 nor at a custom 5 minutes.

I leave open a session to a remote RDP windows device. Didn't touch it for over an hour in a Chrome tab, and it still doesn't time out. (Also tried this on Safari). The remote desktop is still responsive after an hour. The connection history shows a session open for 1.2 hours in duration.

I don't see any standard HTTP traffic in the access logs after setting up the session. Here are the last log lines:

x.x.x.x  - - [25/Aug/2017:16:35:04 +0000] "GET /guacamole/websocket-tunnel?token=692868B05C74ED1E81A513CD70255BD557CB65875835C9500BA197822F2B9128&GUAC_DATA_SOURCE=mysql&GUAC_ID=4&GUAC_TYPE=c&GUAC_WIDTH=1414&GUAC_HEIGHT=825&GUAC_DPI=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE=image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp HTTP/1.1" 101 -
x.x.x.x - - [25/Aug/2017:16:35:04 +0000] "GET /guacamole/api/session/tunnels/8e3fc8f7-6c8e-4088-bd8b-cbf5ad2d7a99/activeConnection/connection/sharingProfiles?token=692868B05C74ED1E81A513CD70255BD557CB65875835C9500BA197822F2B9128 HTTP/1.1" 200 12

So the browser client apparently is keeping open the websocket to the server (guacamole client), even with no mouse or keyboard activity?

I would like no mouse activity for five minutes to close the guacamole client session (the web app session) so that it frees up the target windows devices.

I've set api-session-timeout to 5 in the guacamole.properties:

# guacamole.properties - generated Fri Aug 25 16:12:11 UTC 2017
guacd-hostname: 172.17.0.3
guacd-port: 4822
...
api-session-timeout: 5

I see this log line on startup:

16:12:16.414 [localhost-startStop-1] INFO  o.a.g.rest.auth.HashTokenSessionMap - Sessions will expire after 5 minutes of inactivity.

What is this api-session-timeout setting supposed to do?

Mark Sawers
  • 121
  • 2
  • 8

1 Answers1

1

I would like no mouse activity for five minutes to close the guacamole client session (the web app session) so that it frees up the target windows devices.

The Guacamole web application considers an open remote desktop connection to be user activity, regardless of how frequently the user moves the mouse. The api-session-timeout setting will only affect sessions without any open connections.

If you want the remote desktop connection to automatically close if the user is not moving the mouse, etc., you will need look for such a setting on the remote desktop server. In the case of RDP, this can be managed with the "Idle session limit" group policy setting:

Idle session limit

Specify the maximum amount of time that an active Remote Desktop Services session can be idle (without user input) before the session is automatically disconnected or ended.

The user receives a warning two minutes before the session is disconnected or ended, which allows the user to press a key or move the mouse to keep the session active.

Mike Jumper
  • 410
  • 3
  • 8
  • .Do you have any sample java application, where you can dynamically connect to remote computers using guacd?. The standard documentation is tough to digest for me. Please help in anyway possible. – Naanavanalla Sep 27 '17 at 13:45