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?

share|improve this question
up vote 21 down vote accepted

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.

share|improve this answer
    
slamdunk man. i wonder how that last one is pronounced. i'll upvote it again if you can link to an audible pronunciation guide... – mikeserv Aug 27 '14 at 6:08
2  
@mikeserv - it stands for GUI Eviction - pages.cs.wisc.edu/~zandy/guievict. gui-vict or goo-e-vict. README is here: pages.cs.wisc.edu/~zandy/guievict/README. – slm Aug 27 '14 at 6:21
1  
but I cant really upvote it again, you know. – mikeserv Aug 27 '14 at 6:32
    
@mikeserv - I know, I didn't know how to say it either, so I looked it up. – slm Aug 27 '14 at 6:33
    
of course you know - better than I! this is a really good answer though. you did a good job - thanks, @slm. – mikeserv Aug 27 '14 at 6:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.