Working on any of the conventional desktop environments (KDE, mate, cinnamon, etc, wich usually run on the display :0 ), I am able to successfully launch a vnc xserver on display :1, and connect to it using a vncclient. As the vncserver works in the background, it continues to work even if I log out the (ie. KDE) session on display :0 .
After such a log out, :1 is still running, and I can connect to it again. However this time, trying to launch any graphical program inside the vncsession is not possible, and every application complains saying that they cannot connect to the :1 display:
$ xterm No protocol specified xterm: Xt error: Can't open display: :1 $ terminator No protocol specified /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display warnings.warn(str(e), _gtk.Warning) You need to run terminator in an X environment. Make sure $DISPLAY is properly set
Albeit they say that the $DISPLAY envvar is not set, it is correctly set indeed:
echo $DISPLAY :1
I especulate that the logout procedure on :0 messed something (perhaps the X11 sockets for :1) in the vncserver, preventing newer applications to connect to :1, however, but I have not been able to figure it out.
This happens regardless the vncserver implementation (vncserver, vnc4server, tightvncserver.. etc).
Similarly, other remote display solutions like xpra get messed after logout, for instance display :100 get inaccessible, and xpra attach cannot connect, despite it still continues running in background.
Any ideas of what is causing this?