문제

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,

도움이 되었습니까?

해결책

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.

다른 팁

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)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top