为什么 x11vnc 和 x0vncserver 在 Gnome Ubuntu 22.04 中都以类似的方式失败?

为什么 x11vnc 和 x0vncserver 在 Gnome Ubuntu 22.04 中都以类似的方式失败?

我希望能够登录到我的远程 Ubuntu 22.04 并查看桌面如该机器上所示。(我知道如何创建vncserver具有单独桌面实例的)。我对内置远程桌面有单独的问题,因此这专门针对x11vncx0vncserver

多年来,它们在 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我正在为我的显卡使用开源驱动程序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 仿真器的。我会尽量记住在 EDID 仿真器到达并试用后更新此线程。

相关内容