Subject: Bug#1342: [X2Go-Dev] Bug#1342: Bug#1342: Graphical apps stalling in suspended session

From: Ulrich Sibiller <[email-masked]>
Date: Fri, 16 Nov 2018 09:54:51 +0100

On Thu, Nov 15, 2018 at 7:46 PM <[email-masked]> wrote:
>
> On Wed, 14 Nov 2018 21:50:59 +0100
> Ulrich Sibiller <[email-masked]> wrote:
>
> > That has been implemented on purpose by nomachine to take some load
> > off the server. You can disable that via the sleep option:
> >        sleep=<int>
> >               delay X server operations when suspended (provided in
> > msec), set to 0 to keep nxagent session fully functional when
> > suspended (e.g. useful when mirroring an nxagent session via VNC)
> >
> > You can set this sleep to 0 in /etc/x2go/x2goagent.options on the
> > server with the following line:
> > X2GO_NXAGENT_DEFAULT_OPTIONS="-options nx/nx,sleep=0"
> >
> > This in non-obvious and should be a client option instead... Can you
> > please try if that helps for your setup?
>
> So I tried this options by adding it to the previous ones:
> X2GO_NXAGENT_DEFAULT_OPTIONS+=" -options nx/nx,sleep=0"

In my tests I have changed the _first_ entry in the options file, the
one without the +. Does that make any difference for you?

> It seems to solve indeed the problem at least for glxgears, which now
> runs faster when I quit the x2go client, which is what I expect.
> However, it has the serious side effect of preventing the sessions to
> be suspended; the files clients, keyboard, state and the folders

Quitting the x2goclient is effectively suspending the session since
there's no nxproxy anymore. You can see that in the file session.log
on the server (~(.x2go/C-username-something/...).

Providing that sleep=0 option is changing only one thing: it
eliminates any sleeps that have been implemented to take load off the
server in suspended state. There should not be any other behaviourial
differences.

> mimebox and tools are not created in the x2go session folder
> (/tmp/.x2go-user/<session>).
> This side effect is kind of worse for us.

Can you please explain in detail? I am wondering what is happening here.

You can also try - instead of using the non-obvious setting in
x2goagent.setting - to adapt x2gostartagent on the server to integrate
that option into the generated options file.

Uli