I think that VNC uses Xnest which allows a virtual display to be created without the need for a physical display, then when requests come in from viewiers it just allows them to see the display so the $DISPLAY that the xterm is running on will always stay constant.
So if on hostA I'm running my normal X desktop the display is hostA:0.1 when I run xvncserver I can create a virtual display of hostA:1.0, if I use vncviewer on hostB the display that the xterm is in is still hostA:1.0.
Rob.
Steve Fosdick wrote:
On Thu, 24 Jan 2002 19:11:02 Ted Harding wrote:
Well, while I do strongly suspect that it can't be done, it's not for this reason.
I reckon it's _logically_ perfectly possible; it's just that a comprehensive solution would probably be so complicated that no-one has implemented one.
An X client (e.g. xterm) communicates with an X server (the thing that manages the display) by openning a socket to it. Any type of socket that supports reliable delivery of a data stream in order will do so as long as the server and Xlib have the code to support it. TCP and Unix Domain Sockets are common choices. There may also be a shared memory segment used for communication of some items if the client and server are running on the same machine.
So, for a client to move from one display to another it would have to be instructed to close its socket connection to the first X server and open a new one to the second X server. In the normal course of events closing the connection to the old X server would destroy all the windows the client had so it would have to remember what windows it had up and re-create them on the new X server including all properies it had set on those windows.
This is perfectly possible in theory, but current clients do not know how to do it. If such a facility were to be impemented the logical place to put it would be within the GUI toolkit (like Gtk or Qt) as it would be the job of each widget in the user interface to keep enough information to be able to re-create its window on a new X server.
Steve.
main@lists.alug.org.uk http://www.anglian.lug.org.uk/ http://lists.alug.org.uk/mailman/listinfo/main Unsubscribe? See message headers or the web site above!