我正在運行Xorg並且我的(Qt)程序自身進行了守護。現在我註銷並重新啓動X服務器。當我再次登錄時,我的流程仍然運行良好,但我看不到它。重新映射丟失進程的X服務器視圖
有沒有辦法將X服務器的新化身添加到舊流程中? 如果我不重新啓動整個服務器,但是註銷並重新登錄,是否有辦法查看舊的進程?
感謝
我正在運行Xorg並且我的(Qt)程序自身進行了守護。現在我註銷並重新啓動X服務器。當我再次登錄時,我的流程仍然運行良好,但我看不到它。重新映射丟失進程的X服務器視圖
有沒有辦法將X服務器的新化身添加到舊流程中? 如果我不重新啓動整個服務器,但是註銷並重新登錄,是否有辦法查看舊的進程?
感謝
連接到X服務器後丟失,無法恢復它。
有一個名爲xmove的xserver代理,但它已經過時,並且不適用於幾個較新的X擴展,這些擴展很可能被現代工具包使用。
您可以嘗試在另一個虛擬X服務器(如xvnc或(更好)的NX)中運行您的進程。 NX是由NoMachine開發的X代理技術。 NX服務器也有免費的實現。 如果您在這樣的服務器中運行程序,可以從任意圖形環境中進行附加和分離。
這些傢伙說,這是可能的,我沒有測試這些功能...
使用類似Xpra或NX:它們都允許你運行一個離屏X11上的應用程序服務器,您可以在需要時重新連接,也可以從遠程機器連接。它們都支持「無縫」會話,所以窗口就像本地窗口一樣。
實例:
xpra start :10 --start-child=/bin/YOURAPP
然後,每當你想重新連接(比如一個X11服務器重啓後):
xpra attach :10
或從遠程計算機:
xpra attach ssh:THESERVERHOSTNAMEORIP:10
xpra應該達到您的要求。它也可以啓動tcp連接(不需要ssh)。開始它在你的服務器上:
xpra start :100 --start-child=xterm --bind-tcp=0.0.0.0:10000
連接其客戶端上:
xpra attach tcp:SERVERHOST:10000
您還可以使用Mac或Windows xpra應用連接。我嘗試了在win7和osx10.10.2。下載鏈接:
窗口:https://www.xpra.org/dists/windows/Xpra_Setup.exe MAC:https://www.xpra.org/dists/osx/x86/Xpra.dmg
ITT的相同,因爲我寫的解決方案 - 啓動虛擬X服務器內的應用程序。 – ypnos 2008-11-25 07:53:16