[PLUG] duplicating window in X?

Keith Lofstrom keithl at kl-ic.com
Thu Oct 20 14:58:46 UTC 2011


> On Wed, Oct 19, 2011 at 12:25, Keith Lofstrom <keithl at kl-ic.com> wrote:
> > I assume it is possible to duplicate the same identical graphic
> > window from the same client on two different X displays ("servers").
> >
> > Can this be done, how is it done, and what is the process called?

On Thu, Oct 20, 2011 at 12:16:13AM -0700, chris (fool) mccraw wrote:
> sounds like you want something like vnc.  


I will look at vnc some more, but as I understand it, vnc copies
desktops, not the single window outputs of single applications
("clients" in X parlance).  I specifically do NOT want to share
whole desktops.

I'll provide an example.   Using the special duplication process,
(which I still need a name for!) I bring up an xterm on the desktop
of display/machine A, and that same xterm (via some magic) appears
on the otherwise completely independent display/machine B connected
over the internet.  With my focus over that xterm on machine A,
mouse movements and keyboard movements are fed to the xterm client
(which could be running on machine C, BTW).  The user on machine
B sees an identical xterm window on their own entirely different
desktop, and can also feed mouse and keyboard information to it
when that xterm is in focus.  Otherwise, the desktop of A is invisible
to B, and of B invisible to A.   There can be entirely different
applications running, screen sizes, hardware, etc.

This behavior is already inherent in X, for single windows tied
to single clients.   Already, you can run applications on remote
machines and have their display windows appear on yours.  Except
for communication delays, it is just like being there.  For 
example, if you have a student account on the linux machines at
Portland State, you can ssh to an account on one of their 
machines, and start firefox with the -remote option.  Firefox
runs on the PSU machine, the display is on your own machine, and
you have access to PSU resources.  I've done this to control one
of the unix-based test systems in the ECE test lab.  Slow, but
I don't have to carbon my way into Portland and find parking.
Tolerably fast with 15/5 FIOS, even through peering in Seattle.

In this case, I want to ask the X client to open TWO displays.
That would not be inherent in the client, but I can imagine
opening the client with the environment variable DISPLAY=Double,
where Double is a "pretend display" that opens identical windows
on machines A and B.

I suppose "Double" could be a fake desktop with no physical
hardware attached, which in turn is accessed by two instances
of vnc running on machine/displays A and B.  Perhaps the fake
desktop could be on a real video card with no display attached.
But that multiplies the watts and the computation involved.

Is it clearer what I want?  Remember, X already does something
like this with single display servers, so duplicating the X
message stream to two display servers is not inherently difficult.

Keith

-- 
Keith Lofstrom          keithl at keithl.com         Voice (503)-520-1993
KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon"
Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs



More information about the PLUG mailing list