Is there any way to open a graphical program (for instance, gedit) while using X11 forwarding over SSH and transfer the X server connection back to the X server on the SSH host?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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.1It 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.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0