On Thu, Mar 7, 2024 at 11:04 AM Mansour Al Akeel <mansour.alak...@gmail.com> wrote:
> Hello all, > > We have a legacy Java application (thick client). Currently, users connect > to MS terminal server, to access the application, where some driver's must > be installed. The platform is windows. We are hoping to replace TS with an > open source alternative to avoid licensing costs. I believe this should be > a simple process. > > I'll answer your other questions below; however, for a Java-based thick client, if it will run on platforms other than Windows (that's kind of one of the points of Java, right?), you might be able to get rid of Windows and run on Linux + xrdp or something like that. If drivers have to be installed, and there aren't any available for Linux, then, well, you might be out-of-luck. > My questions: > - Can guacamole replace MS terminal server, or is it just an HTML5 adapter > ? > No, Guacamole is not a replacement for the actual terminal server, it is a Remote Desktop gateway/client that runs in a browser (with a couple of back-end components). > - If it is a replacement, can it be installed on windows ? > Not really, at least, not fully. You can definitely install the client-side bits on Windows (Tomcat 9.x). However, at the moment, guacd only runs on Linux. You could run it in WSL, though, if you absolutely must run Windows. But, why not just run Linux ;-)? > > - Looking at this page > https://guacamole.apache.org/doc/gug/guacamole-architecture.html I can > see that a user connects to guacd which in truns connects to the RDP > server. Does it open a session for each user ? In other words, do we need a > license for each user or does it require multiple connections ? > Kind of - not quite. Depending on how you leverage it, there are several components: * Guacamole Client, which is the web application, manages access control, etc. If you use this (rather than writing your own web application), the user will log in to the Guacamole Client web page, which is hosted by a Tomcat server (or other JavaEE-compatible application server), and then they can open connections from that client interface. * Part of the stock Guacamole Client is the HTTP(S)+WS(S) tunneling functionality, which provides the link between the user's web browser and guacd, allowing for data (images, keystrokes, mouse movement, sound, etc.) to be transferred between the client and guacd. * guacd takes care of the translation between the Guacamole protocol and the remote server protocols (RDP, SSH, Telnet, Kubernetes, and VNC). > Does it open a session for each user Your question, here, is a bit vague. Does what open a session for each user? What users are you talking about? What sessions? > In other words, do we need a license for each user or does it require multiple connections ? Again, I'm not entirely sure what you're referring to, here, when you ask about licensing. Guacamole is freely-available, licensed under the Apache 2.0 license. There's nothing you have to license or buy for that. For Windows, all of your normal Microsoft EULA licensing applies. I won't go into detailed examples, but using Guacamole is not going to let you have the same number of users accessing the application on the Terminal Server and somehow reduce your Terminal Server/RDS licensing numbers/costs. Microsoft has very, very good legal folks writing their EULAs, and they've already dealt with the use of gateways end between actual end users/devices and terminal servers in the terms of those EULAs. If your only reason for trying to use Guacamole is to reduce the number of terminal server licenses you're purchasing, IMHO, you might as well quit, now. > > - For docker installation, all I need is the server ( guacamole/guacd ), > but my guess is Linux image, and not for windows. Is this correct ? > > No, you need both guacamole/guacamole (the client side) and guacamole/guacd. And, yes, those are Linux-based images, not Windows. -Nick >