On Fri, 2011-07-29 at 07:24 +0200, Daniel Lindgren wrote:
2011/7/28 John A. Sullivan III <jsullivan@opensourcedevel.com>: <snip>
> >>> I believe I have tested this on both Linux and Windows - becoming a bit > >>> of a blur after a long hot day!. In previous versions of X2GoClient, I > >>> could open multiple instances and connect to multiple different X2Go > >>> Server simultaneously. It was not official and it generated a few > >>> errors but it worked. This is actually a highly desirable feature for a > >>> possible very large account of ours. > >>> > >>> For some reason, that has stopped working in 3.99. It did not work in > >>> 3.0.1.18 either. It does work in Pyhoca so I do not think it is an > >>> impossibility. If at all possible, we would like to see this > >>> functionality restored - preferably officially but even accidentally as > >>> it was would do :) Thanks - John
One thing I've had problems with in the past is TCP port conflicts. When x2go starts a session, it always uses a TCP port above 30000, decided by x2gostartagent on the server side. If you start multiple sessions from one client to several different servers, wouldn't that create a port conflict sooner or later? Maybe that is what you've seen, with conflicts causing sessions to terminate.
Example, x2go on client CA connects (a ssh tunnel) to server SA on port 30001 (-L 30001:localhost:30001 user@SA). You then start another session from client A to server B, also using port 30001 (-L 30001:localhost:30001 user@SB). Doesn't that create a port conflict on client CA? You have two separate ssh tunnels trying to use the same TCP port on the client.
The problems I've seen have been when client CA has connected to server SA, which then has been used as a "gateway client" to connect to other servers. Sometimes the session between CA and SA used port 30001 and the session(s) between SA and other server SB also used port 30001. I could always set up the sessions, but if I tried to reconnect from client CA to SA I got an error message about ”the remote proxy closed the connection while negotiating …”. My workaround was to separate the port ranges used by x2gostartagent on the servers; server SA now uses 30001-, server SB uses 30101-, server SC uses 30201- and so on. No more conflicts.
I've been trying to think of some way to make x2go automatically only use free ports, but since there are possibly several clients and servers involved in multiple incoming and outgoing sessions, the only safe way I've come up with would be to register used ports (or reserve port ranges) on a shared resource somewhere, which would make all x2go clients and servers dependent on that one resource. <snip> Yes, but I believe in the past it has always managed to magically pick another set of ports. That seems to have stopped happening - John