Shadowing
What is it?
Shadowing, also known as "cloning", is the ability to view, and optionally interact, with an existing session or local display.Two users sitting at different computers can interact together with the same application, shown in two (or even more) places.
Sound can also be shadowed.
Session Shadowing
By default, NX and VNC virtual desktops can be shadowed without needing any extra tools installed. The option to start a copy will be shown on the session's control window.Seamless applications cannot be shadowed at present.
Example
Although a warning is shown before allowing you to shadow your own display (as this is not particularly useful), it is also the easiest way to demonstrate the cloning process using a screenshot:Shadowing an existing X11 display with Xpra
All you need is to havexpra
installed both on the server and on the client.
Shadowing requires version 0.8 or greater.
(if you are installing from our packages, these should have been pulled as dependencies automatically)
Shadowing an existing X11 display with NX
With NX, all you need isnxagent
on the server and nxproxy
on the client.
(if you are installing from our packages, these should have been pulled as dependencies automatically)
Shadowing an existing X11 display with VNC
With VNC, you needx11vnc
on the server and a vncviewer
on the client.
Note:
x11vnc
may also be known as x0vncserver
or x0vnc4server
on some platforms.
(It is less efficient than using the 'vnc.so
' server module - but does not require you to make any changes to your local display configuration)
Shadowing an existing X11 display with GStreamer
You needgst-launch
installed on both the client and the server.
Note: only Unix-like operating systems can shadow using GStreamer at present, that is because the screen scraping uses
ximagesrc
.
Session Control Window
Once setup properly, your local X11 sessions will be accessible as shown as in this example:Note: to be able to see the preview icon (a small snapshot of the display taken at regular intervals) you will need to install on the server: The actual command used is set as
screen_capture_command
in your server.conf
.
Troubleshooting
If for any reason this does not work as expected, please visit troubleshooting info.There has been at least one report of problems with local displays not being detected, which should be solved by following bug 103.
The information you should be looking for in the server log (in debug mode) will be similar to:
LocalX11ServerUtil.do_detect_local_displays()
LocalX11ServerUtil.found_display(yourusername,:0,,1259350454)
LocalX11ServerUtil.get_local_display_owner(:0)=4ae18cd438fe11dfab60002564d3bffc
LocalX11ServerUtil.found_display(yourusername,:0,,1259350454) added X11 session 6aa6ae8a-a1ff-4212-80cb-5932de312804,
owned by antoine, size=1920x1080, started 12269785.5479 seconds ago