[winswitch] Xpra Client in Listen Mode Enquiry
Abdulaziz M. Aldarrab
adarrab at gmail.com
Mon Nov 2 18:47:20 GMT 2015
Well, the load balancer (running on Linux) dispatches GUI job, which may or may not start immediately depending on the resources requested. It is part of a medium size grid that has both visualization and compute nodes, and unfortunately a simple load balancer gimme-host.sh kinda script won't work. Theoretically, I could have an agent that monitors the job state, then invokes xpra client once a job in running state, but that would still be buggy with unnecessary delays.
I'm not familiar with Xpra proxy server (yet) but I would imagine it might complicate things.
It would be nice to have those two additional options (--listen, --client) e.g.
Xpra_cmd.exe attach [ssh/tcp]: EMPTY --listen=[IP:PORT] (Waits for server ready msg, with optional timeout. IP is provided in case a machine has more than 1 active address, otherwise not needed)
xpra --start :XX --start-child=CMD --client=IP:PORT
So once server is initiated successfully, it sends a triggering tcp message to the client containing USER at SERVER :XX to be used by the client to initiate ssh/tcp connection. This "could" be a security hazard where a bad guy broadcasts a trigger message to clients to connect to a malicious server, but I guess client won't connect to a server initiated by another user.
I'm thinking of modifying Xpra in case you don't see this option in your plans, where would be the best place to start in the source code? I'm a C++ developer, familiar with sockets, and I can read python :)
From: shifter-users [mailto:shifter-users-bounces at lists.devloop.org.uk] On Behalf Of Antoine Martin
Sent: Saturday, October 31, 2015 9:47 AM
To: shifter-users at lists.devloop.org.uk
Subject: Re: [winswitch] Xpra Client in Listen Mode Enquiry
On 28/10/15 17:54, Abdulaziz Aldarrab wrote:
> Good day,
> Current scenario, I have set of Linux servers to run applications on. The clients, Windows machines using Exceed (running in passive mode). Clients launch an application using an application launcher that: ssh Linux master node, then “qsub” use a schedule (UGE, PBS...etc.) to submit a job which will be allocated an appropriate machine based on the resources requested. The submission script is nothing more than setenv DISPLAY to windows client & application execution script.
> With Xpra, I couldn’t figure out a similar operation mode, where the windows client listens for connections coming from the Linux host as soon as the application starts remotely.
There is no passive mode, and none is planned.
Since you are running the script from the windows box, can't you just have your script tell the windows box where to connect?
HOST=`ssh LOADBALANCER gimme-host.sh`
xpra attach ssh:$HOST
(converting this shell example into the horrible win32 batch file format left as an exercise)
Or you could extend the proxy server to deal with this load balancing.
The proxy server can use a simple text file to associate client connections with their final server destination. As long as you update this file, the client only needs to connect to the proxy server.
> Any hint would be really appreciated,
> Thank you,
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
shifter-users mailing list
shifter-users at lists.devloop.org.uk
More information about the shifter-users