為什麼 x11vnc 和 x0vncserver 在 Gnome Ubuntu 22.04 都會以類似的方式失敗?

為什麼 x11vnc 和 x0vncserver 在 Gnome Ubuntu 22.04 都會以類似的方式失敗?

我希望能夠登入遠端 Ubuntu 22.04 並查看桌面如該機器上所示。 (我知道如何創建一個vncserver具有單獨的桌面實例)。我對內建遠端桌面有單獨的問題,所以這是專門關於x11vnc和 的x0vncserver

它們在 Xfce 下的 18.04 上為我工作了很多年。

現在在 22.04 上,它們以類似的方式失敗,所以我懷疑這確實是一個 Gnome 或 Xorg(或者 - Compiz 不再是一個東西了嗎?)問題。由於它使用得很好,這一事實更加強烈了這種懷疑gnome-session-flashback

我已經為x11vnc和擺弄了許多選項x0vncserver,但我的問題仍然存在。

簡短版本:當我移動視窗時,我會看到原始位置的原始視窗和新位置的視窗。也許在視窗移動的路徑中有一兩個視窗。例如,我從一個終端開始:

原來的單一窗口

然後我移動了視窗:

移動視窗

只有右下角是互動的...

現在的技巧...如果我停止客戶端和 vnc 伺服器,並啟動不同的客戶端和 vnc 伺服器,移動工件仍然存在。這是一個複製方法(這裡,「客戶端」是運行 vnc 客戶端的 Debian 機器,「伺服器」是運行 vnc 伺服器的 Ubuntu 22.04 機器):

  • 從剛剛重新啟動的伺服器開始。
  • 第一次連接
    • x11vnc -usepw -display :0 -forever -rfbport 5901在伺服器上啟動
    • 從客戶端連接 Remmina
    • 在vnc客戶端中:
      • 查看一個視窗(上面的第一個螢幕截圖)
      • 移動視窗
      • 查看兩個或更多視窗(上面的第二個螢幕截圖)
    • 殺死 Remmina 用戶端
    • 殺死x11vnc伺服器進程
  • 第二次連接
    • x0vncserver -rfbport=5901 -PasswordFile=/home/peter/.vnc/passwd -display=:0 -fg在伺服器上啟動
    • 連接xtigervncviewer到客戶端
    • 看到兩個或更多視窗!原來已經移動的視窗仍然在那裡。 「舊位置工件」仍然存在(但看起來有點不同,注意右上角實際上是兩個重疊的視窗):

第二個 VNC 連接

因此,原始視窗位置的歷史記錄以某種方式儲存在伺服器上,並且在x11vnc/x0vncserver重新啟動後仍然存在。這讓我相信這確實是一個 Gnome/Xorg/Compiz 問題。

編輯:附加數據點

  • 我嘗試安裝gnome-session-flashback,並在使用閃回會話時x11vnc按我的預期工作。但我其實不想gnome-session-flashback永遠奔跑。我預計(但尚未測試)XFCE 也能正常工作。

  • amdgpu我正在使用我的 graphcis 卡的開源驅動程式Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] [1002:67ff] (rev ff)。我嘗試安裝和使用 AMD 專有驅動程序,但沒有什麼區別。

  • 它在 VirtualBox 虛擬機器中也運作良好,顯然不使用 AMD 顯示卡驅動程式。

以前有人看過這樣的事情嗎?並且知道如何解決嗎?

答案1

原來這是因為我使用的是 KVM 切換器。我有一台桌上型電腦正在運行x11vnc,另一台(一台筆記型電腦)正在運行 VNC 用戶端。每次我使用筆記型電腦時,我都會透過切換 KVM 開關來顯示筆記型電腦,這會斷開監視器與正在運行的機器的連接x11vnc

如果我將 KVM 開關保留在x11vnc1電腦上並使用筆記型電腦的螢幕來運行 VNC 用戶端,則一切正常。一旦我將 KVM 切換器從x11vnc伺服器上移開,問題就會出現。

我已提交:LibVNC/x11vnc#234:“如果顯示器斷開連接或與 KVM 切換器一起使用,x11vnc 會出現顯示偽影並且運行緩慢。”為了這。

我計劃使用 EDID 模擬器來解決這個問題。我已訂購這個。它希望讓電腦認為顯示器仍然連接著。然後下次我更新 KVM 切換器時,購買一個內建 EDID 模擬器的 KVM 切換器。當 EDID 模擬器到達並且我已經嘗試過時,我會嘗試記住更新此線程。

相關內容