Lots of activity on the mailing list the last 2-3 weeks. Recent discussions got me thinking (again) about a more specific/pointed feature request that helps alleviate some issues that I think many of us Guacamole administrators would like:
I think it would be a nice feature to: 1) Monitor for some kind of real-user-to-vm activity, and having the connection disconnect if it sits idle for a configured period of time 2) and/or: a feature to require the user to take an action to extend their session after a configured amount of time This seems to also address some of the pushback and use cases mentioned on https://issues.apache.org/jira/browse/GUACAMOLE-1126 -- where many of us are trying to balance resources & costs, and user activity / action is what determines if we have a user's VM loaded/online/existing. * Mark Nolan noted he spins up VMs on connection, and presumably then, turns them off after some period when the user is not connected. This is very similar to my use case. * Alexander Fischer noted that inactive users trigger reconnection, which might be a cause of an issue for him... but would also likely be mitigated if reconnection factored in the last time the user seems to have used guacamole when deciding to try and reconnect. * Edgardo Rodriguez noted in his initial description of G-1126 that users walk/tab away from Guacamole (also a pain point I feel regularly)... This kind of feature would likely reduce the need for limiting retry attempts (though I think _a_ limit on retry attempts is a nice feature on its own) Basically, identify when a user is not actually using the machine anymore, and allow the guacamole server to go through the connection close-out process. This saves on guacamole server resources, and can allow those of us with hooks on connection states to perform our desired actions (like freeing the target for a new user, shutting down the VM, etc.). This is obviously also a help for budgeting & resource management -- do I really have 500 active guacamole sessions, or 300 active guacamole sessions and 200 connections that are idle for 6+ hours, or days? Without snooping on the sessions, or the target VMs, I'm not aware of an ability to extract this information right now. If I could say I want sessions that are idle for 3 hours to be closed out, I can at least be sure the connections have seen activity in that time window. This doesn't exactly address what "activity" is, but I think it would be safe to assume that automated re-connection is not user activity... we'd probably want to see the mouse move in the guacamole tab, or a keypress. Would love to hear others thoughts on this kind of feature -Lee