Xpra


xpra or X Persistent Remote Applications is a tool which runs X clients, typically on a remote host, and directs their display to the local machine without losing any state.
It differs from standard "X forwarding" in that it allows disconnection and reconnection without disrupting the forwarded application. It differs from VNC and similar remote display technologies in that xpra is rootless: i.e., applications forwarded by xpra appear on the local desktop as normal windows managed by the local window manager, rather than being all "trapped in a box together". Xpra also uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable
over worse links than standard X.
The idea for Xpra was inspired after the original author's experience of attempting to use various NX technology based setups.

Operation

Xpra connects as a compositing window manager to an Xvfb display server. However, instead of combining the window images to present on the screen, it directs the window images into a network connection to the xpra client, where they are displayed on the remote screen. Mind, the server, also supports direct attachment, which makes it behave as a persistent application server. For example, in the case where there is only a X server available at the remote end. It also acts as a window manager for the X server it is running against, but it doesn't actually have any window manager policy built into it. Instead, it takes all the window management requests from the applications, sends them over the wire to the client, who then issues those same requests on the real display, waits for further answer the real window manager gives, and then forwards that answer back to the xpra server. In addition to the normal xpra client, it also supports using an html 5 capable web browser as a client.