在无头模式下欺骗 Linux Mint Cinnamon 认为显示器已连接?

在无头模式下欺骗 Linux Mint Cinnamon 认为显示器已连接?

这是我到目前为止所拥有的:

  • 运行 Linux Mint 并以 Cinnamon 作为桌面的无头服务器
  • x11vnc已安装
  • 没有显示器连接到服务器

我遇到的问题是,即使上面的服务器和客户端计算机之间有 GigE 连接,x11vnc 也非常慢。

我注意到,当显示器通过 VGA 电缆连接到服务器但未开机(即显示器)时,x11vnc 的性能会显着提高。

经过一番挖掘,我发现了 x11vnc 的 github 问题,其中提到如果您在 Ubuntu 中关闭合成,这会有所帮助 [0]。我尝试关闭“效果”并将垂直同步设置为“无”,但没有成功。

然后我深入研究/var/log/syslog并注意到,当我连接 VGA 电缆时,xrandr 检测到了显示器(即使它未通电)。这也极大地提高了 vnc 性能。

有什么方法可以欺骗 Linux Mint 认为监视器就在那里吗?

[0]-https://github.com/LibVNC/x11vnc/issues/102

答案1

公认的答案是推荐使用虚拟 HDMI 插头,这将为用户提供多种视频分辨率选择。我可能会这样做,因为 800x600 的默认分辨率有点笨重,并且不允许太多的工作空间。

然而这个帖子为速度问题提供了足够好的解决方案。只需将字符串添加nomodeset到以下 Grub 变量中/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

然后update-grub以 root 身份运行并重新启动。现在,我的 LAN 上的 VNC 重画时间达到亚秒级!

答案2

我刚刚设置了一个运行 Mint Cinnamon 的无头构建,但遇到了同样的问题。连接显示器后,VNC 速度快如闪电,但一旦将其移除并重新启动,它的移动速度就会比糖蜜慢。

这绝对是一个解决方法,但您可以花几美元在线购买虚拟 HDMI 插头。它们具有各种常见的分辨率,并欺骗设备认为已连接显示器。

这不是最优雅的解决方案,但对我来说绝对是最不痛苦的解决方案。

答案3

我自己从来没有这样做过,但是 xorg 提供了一个虚拟视频驱动程序,并且还有适用于 Ubuntu 的 xdummy 软件包可以帮助您启动并运行这里是该软件包的链接。 http://manpages.ubuntu.com/manpages/focal/man8/Xdummy.8.html

相关内容