
我在讓帶有 WinForms GUI 的 Mono 應用程式透過啟用了 X11 轉發的 SSH 連線工作時遇到一些問題。
我現在使用的機器是一台 Windows 10 筆記型電腦。我已經安裝了 Xming 和 Vcxsrv。我連接的機器是運行 Ubuntu 16.10 的虛擬機器。我使用 KiTTY 從筆記型電腦連接到虛擬機器。我在 KiTTY 連線配置中選取了「啟用 X11 轉送」複選框。我在 VM 上使用 Mono 版本 5.4.0.167。
當我連接到虛擬機器並運行 xeyes 或 Firefox 等 X 應用程式(當 Vcxsrv 在筆記型電腦上運行時)時,應用程式視窗將開啟(在後台),一旦進入前台,就會按預期運行。
但是,當我運行 Mono 應用程式時(例如,這頁)應該打開圖形介面,但行為不符合預期。 Windows 工作列顯示 X 應用程式已打開,將滑鼠懸停在工作列圖示上甚至會在預覽中顯示(預期的)使用者介面。但是,點擊工作列圖示不會將使用者介面帶到前台;即使我最小化所有其他打開的應用程序,用戶界面也根本不顯示。當我在筆記型電腦上使用 Xming 而不是 Vcxsrv 時,行為是相同的。
Mono X11 驅動程式和 Vcxsrv / Xming 之間是否有已知的不相容性?調試這個問題的好方法是什麼?
答案1
一些視窗管理器在更改螢幕解析度方面遇到麻煩 - 在某些情況下,這可能會導致視窗從螢幕上移出:Remote X 就是其中之一,拔掉顯示器則是另一回事。
透過最大化視窗(或將視窗移動到可見區域),您可以修復它,大多數情況下是永久修復。
順便說一句:它與單聲道無關。