Ssh

我可以將正在執行的應用程序移動到不同的 X 伺服器嗎?

  • August 26, 2014

有沒有辦法在通過 SSH 使用 X11 轉發並將 X 伺服器連接傳輸回 SSH 主機上的 X 伺服器時打開圖形程序(例如 gedit)?

如果您查看有關該主題的 Wikipedia 頁面,則會提到幾個應用程序。

移動

摘抄

xmove 是一個電腦程序,它允許 X Window System 應用程序在不同的顯示器之間移動,以及 X 應用程序在 X 伺服器重啟後的持久性。

$$ 4 $$它解決了 X 設計中的一個問題,其中一個 X 客戶端(一個 X 應用程序)與它在其生命週期內啟動的 X 伺服器(X 顯示器)相關聯。此外,如果 X 伺服器關閉,客戶端應用程序將被迫停止執行。 xmove 讓客戶端可以隨時斷開與目前 X 伺服器的連接,並連接到新的伺服器。過渡對客戶是完全透明的。xmove 通過充當客戶端和伺服器之間的代理來工作。它是一個“偽伺服器”,它儲存足夠的伺服器狀態,以便客戶端可以連接到新伺服器而不會被中斷。

Xpra

摘抄

xpra 或 X Persistent Remote Applications 是一種工具,它允許您通常在遠端主機上執行 X 客戶端,然後將它們的顯示定向到您的本地電腦而不會失去任何狀態。1

它與標準 X 轉發的不同之處在於它允許斷開和重新連接而不會中斷轉發的應用程序。它與 VNC 和類似遠端顯示技術的不同之處在於 xpra 是無根的:即,由 xpra 轉發的應用程序在您的桌面上顯示為由視窗管理器管理的普通視窗,而不是全部“被困在一個盒子中”。Xpra 還使用了一種自定義協議,該協議可以自我調整併且對延遲相對不敏感,因此可以在比標準 X 更差的鏈路上使用。

吉維克

摘抄

guievict 是一個電腦程序,它使任何用於 XFree86 實現 X Window 的應用程序的 GUI 能夠透明地遷移到或複製到另一個顯示器上。與某些提供類似功能的程序不同,它既不需要預先安排步驟,例如重新連結應用程序二進製文件,也不需要像 xmove 那樣通過代理重定向應用程序程序的視窗系統通信。

Guievict 基於一個小型 X 伺服器擴展,使應用程序能夠從 X 伺服器檢索其視窗狀態,以及一個在執行時注入應用程序程序的 GUI 遷移功能庫。程式碼注入或執行時程式碼修補可以通過 DynInst API 完成。但是,guievict 包含自己的實現以避免要求使用者安裝 DynInst。

在這 3 個中,Guievict 聽起來像您正在尋找的東西,主要是它可以檢查 X 應用程序 AppX 的狀態並將其遷移到另一個可以恢復的 X 伺服器。

引用自:https://unix.stackexchange.com/questions/152291