I've never used it myself, but Xpra appears to be the commonly suggested solution; you might also consider xmove. Both of these work by proxying the X client's connection to its server, and keeping track of enough state so that you can switch the proxy's server-side connection among servers and get a sensible result. Without such a proxy, as in "stock" X, it is not possible to disconnect a client from one server and connect it to another, except in the case of a client which is designed specifically to support such behavior.
Shift running X window (display environment) on SSH X11 forwarding
-
20-09-2022 - |
Domanda
I want to see remotely some running GUI application without kill the current process, I have tried vnc and xrdp, xrdp opens a new blank session, so it is not for me, vnc is good, but not exactly what I need, it uses the screen and devices presents, someone could mess with me moving the mouse or typing on the keyboard.
Therefore I figured out the only way I could do what I need is managing to shift a running X window from one display to another, thus even on a SSH -X (X11 forwarding) I would be able to see it.
I am on this quest for a long time and I didn't found out a conclusive solution, that is the reason I am appealing to you. Could you help me to solve this trouble?
Thanks,
Soluzione
Altri suggerimenti
If you look at the Wikipedia page on the subject there are several apps mentioned.
Xmove
excerpt
xmove is a computer program that allows the movement of X Window System applications between different displays and the persistence of X applications across X server restarts.[4] It solves a problem in the design of X, where an X client (an X application) is tied to the X server (X display) it was started on for its lifetime. Also, if the X server is shut down, the client application is forced to stop running.
xmove lets the client disconnect from its current X server, and connect to a new one, at any time. The transition is completely transparent to the client. xmove works by acting as a proxy between the client and server. It is a "pseudoserver" which stores enough server state so that clients can connect to a new server without being disrupted.
Xpra
excerpt
xpra or X Persistent Remote Applications is a tool which allows you to run X clients usually on a remote host and then direct their display to your local machine without losing any state.1
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 your desktop as normal windows managed by your 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.
Guievict
excerpt
guievict is a computer program which enables the GUI of any application for XFree86 implementation of X Window to be transparently migrated to or replicated on another display. Unlike some program providing similar functionalities, it requires neither prearranging steps such as re-linking the application program binary nor re-directing the application process's window system communication through a proxy like xmove does.
Guievict is based on a small X server extension that enables an application to retrieve its window state from the X server and a library of GUI migration functionality that is injected in the application process at run time. Code injection or runtime code-patching can be done via the DynInst API. However, guievict contains its own implementation to avoid requiring users to install DynInst.
Of the 3 of these, Guievict sounds like what you're looking for, mainly that it can checkpoint the state of X application AppX and migrate it to another X server where it can be restored.
(This answer comes from slm at unix.stackexchange)