[winswitch] Xpra on ubuntu 18.04 unity

Antoine Martin antoine at nagafix.co.uk
Fri Oct 5 17:54:48 BST 2018

On 05/10/2018 14:00, Iwan Vosloo via shifter-users wrote:
> Hi,
> We've been using xpra on Ubuntu 16.04 for a while now without issues,
> (thanks!) but after upgrade to Ubuntu 18.04 we cant get the client to
> work under unity.
> We run xpra server inside an lxc container. The container runs Ubuntu
> 18.04 (and has done so before the client side has been upgraded without
> issues), and xpra --version says: xpra v2.3.4-r20509
> Xpra is started like this:
>   xpra start --sharing=yes :100
> Then we attach from outside the container, with the same version of xpra:
>   xpra attach --sharing=yes ssh:
FYI: you should probably use unix-domain sockets and a shared location
rather than ssh.

> When run from a normal, "Ubuntu" session (meaning the new Gnome shipped
> with Ubuntu 18.04), all is well.
> However, if we log into a unity session (which is what we'd like to do),
> xpra cannot attach,  giving:
> 2018-10-05 08:35:15,622 Xpra gtk2 client version 2.3.4-r20509 64-bit
> 2018-10-05 08:35:15,623  running on Linux Ubuntu 18.04 bionic
> 2018-10-05 08:35:17,212 GStreamer version 1.14.1 for Python 2.7.15 64-bit
> 2018-10-05 08:35:17,376 No OpenGL_accelerate module loaded: No module
> named OpenGL_accelerate
> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152:
> Warning: cannot register existing type 'GdkScreen'
>   glarea.realize()
> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152:
> Warning: g_once_init_leave: assertion 'result != 0' failed
>   glarea.realize()
> /usr/lib/python2.7/dist-packages/xpra/client/gl/gtk_base/gtkgl_check.py:152:
> GtkWarning: gdk_screen_is_composited: assertion 'GDK_IS_SCREEN (screen)'
> failed
>   glarea.realize()
> Segmentation fault (core dumped)
That's an OpenGL crash.
We have sanity checks to verify that the OpenGL drivers work properly
before we enable them, but it is those checks that are causing the crash
here. If the drivers can't create a simple test window, something is
fundamentally wrong.

Looks like the opengl bindings don't run properly under Unity.
This would be a bug for Unity or gtkgl.

You may have more luck with the alternative opengl backend:
xpra attach --opengl=native

The only thing we could do better here would be to proactively disable
OpenGL under Unity.
Let us know how you get on so that I can blacklist Unity if necessary.
It wouldn't hurt to have the output of the command:
xpra opengl

> If we run it under unity with:
>   xpra attach --sharing=yes --opengl=no ssh:vagrant at
> ...then it attaches fine (also according to the server log file), but
> running a program on :100 does not open a window on the attached client.
This looks like a separate issue.
It's very difficult to tell you anything useful as there just isn't
enough information there. FWIW, I've just tried it and encountered no
Try filing a ticket and make sure to include "xpra info".

Please note that applications should be started with "--start=whatever"
rather than using "DISPLAY=:100 whatever" to ensure that the environment
is correct.

> I have also noticed that if you click on the app indicator that xpra
> client adds to unity, and click on anything (say Information>>Session
> info), nothing is displayed either.
Oh, the mess that is Ubuntu's flawed appindicator API, hopefully it will
be abandoned soon. In the meantime, you can try to disable it with:
XPRA_USE_NATIVE_TRAY=0 xpra attach ...

> How do I go about debugging this further?
Try adding "--debug=tray" to your attach command line.


> Thanks.

More information about the shifter-users mailing list