[winswitch] xpra: probe for active sessions

Antoine Martin antoine at nagafix.co.uk
Mon Sep 23 13:19:45 BST 2019

On 23/09/2019 15:15, Σταύρος Ντέντος via shifter-users wrote:
> Hello there,
> In some of my bug reports, it appears that I am doing a mistake of
> "specifying" where to start xpra instances.
> [i] One example is trying to start on a screen that already exists.
> However, it seems complicated to my usecase "not" to specify a screen
> number, since:
> 1] I usually have 2 sessions active (`xpra shadow` and `xpra start
> gnome-terminal`)
> 2] I'd like not to keep stale sessions active
> For [i], I would assume a fail-fast (instead of a timeout) client-side
> solution would quickly inform me that "try to attach instead". It could
> even automatically/interactively ask to do so?
I'm sure it sounds easy, but when starting over ssh it isn't so.
Feel free to create a ticket.

> For [2], I'd assume that `--start-child` / `--exit-with-child` would help
> (I don't use it, since I think I had issues with it. I'll try to dig on
> that one).
> However, what's the behavior on children started from that process?
Which process?
> Children started from `--start-new-commands=yes`?
Those are the same as "--start", they are not taken into account by 

> Is it wait-all, or simply
> polling the pid of the initially started process?
On MS Windows, we use polling, on Posix we have SIGHUP.
> What if multiple `--start-child` are given?
Then it waits for the last child to exit to trigger exit-with-children.

> I assume that `xpra attach` (plain) would try to attach to the exactly-one
> child active on the server.
I assume that you mean "instance" here instead of child?
Attaching to a child doesn't make sense.

> To "solve" [1], is it acceptable to, otherwise, provide an error message
> roughly saying:
> Cannot decide where to attach. Please specify applicable screen:
> `xpra list`-output
The current version shows this message:
xpra initialization error:
  there are multiple servers running, please specify

I am reluctant to change the wording too much, because servers may or 
may not be attached to a display, ie: proxy server instance are not.

> Additionally, for `xpra list`:
> Can the screens have names?
They can have one if you start your server with --session-name=
Or if you start a single application with --start=, then this will be 
used as default session name.

You can view this value with:
xpra id :DISPLAY
(or amongst more information via xpra info)

Listing the names in xpra list would be possible, but:
* I am reluctant to change the xpra list command output format
* You can already use the "xpra sessions" GUI for that

> And/or specify "how" they are started? xpra client can tell `xpra
> gnome-terminal :20` or `xpra compiz :0` (or equivalent) on the tray icon.
> Can `xpra list` do that too?
> I can create the tickets myself, if you believe that the missing features
> are well-defined (or you can reply with links yourself).
Please create tickets for the issues you care about.


> Ντέντος Σταύρος
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> https://lists.devloop.org.uk/mailman/listinfo/shifter-users

More information about the shifter-users mailing list