我对 Linux 还不熟悉,所以我的问题可能比较虚。我在 Raspberry Pi 4 (8GB) 上安装了 ubuntu 20.10,并带有桌面环境。安装了 X11VNC 并花了一些时间对其进行配置。经过几个小时的努力,我终于让它工作了。但是我遇到了一个问题,当我建立连接时(尝试了几个不同的 vnc 客户端,但结果仍然相同),我的桌面被复制了好几次。
当我点击绘制区域中的某个位置时,它会将其记录为我点击了顶部屏幕上的某个位置。基本上,它们是主屏幕的 8-10 个镜像。
我尝试查找 X11VNC 的配置,尝试调整设置(尝试和错误),但没有成功,尝试重新安装它 - 没有成功......
我基本上是新手,并试图了解导致问题(重复)的原因,以便我可以尝试寻找一些解决方案。
有人能帮助我解释一下导致重复的原因吗?
服务配置
[Unit]
Description=x11vnc remote desktop server
Requires=display-manager.service
After=display-manager.service network.target syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -loop -noxdamage -repeat -rfbauth /home/user/.vnc/passwd -rfbport 5900 -shared -ncache
Restart=on-failure
[Install]
WantedBy=multi-user.target
答案1
因为我遇到了同样的问题,而且在网上找不到答案,所以我将在这里分享。通过阅读 x11vnc 手册页并检查我(和你)使用的每一个参数,我找到了答案。
https://linux.die.net/man/1/x11vnc
-ncache n 客户端缓存方案。在实际帧缓冲区下方分配了相当于全屏显示容量 n(整数)倍的帧缓冲区内存,用于缓存屏幕内容以便快速检索。因此,W x H 帧缓冲区扩展为 W x (n+1)H one。使用 0 来禁用。n 实际上是可选的,默认值为 10。对于这个和其他 -ncache下面的选项中,你可以将“-ncache”缩写为“-nc”。此外,“-nonc”与“-ncache 0”相同。这是一个实验性的选项,目前实现的方式有点尴尬,在 VNC Viewer 中,如果你向下滚动,你就能看到像素缓存的内容等。因此,您必须进行设置,以便看不到该区域。如果此方法成功,将研究客户端需要进行哪些更改才能更轻松地完成此操作。