X11VNC中的X11是什么部分?

What is the part of X11 in X11VNC?

我了解到RFB协议是用来远程显示的。 X11VNC 使用 RFB 协议,因此任何 VNC 查看器(基于 RFB)都可以查看显示。

问题:

  1. 例如,假设我有一个帧缓冲区 /dev/fb0。我只能编写 运行 基于 RFB 协议从帧缓冲区读取的应用程序。在这种情况下,X11VNC 与它有什么不同。
  2. 此外,X11VNC 本身提供了使用原始帧缓冲区的选项。 using/not 使用这个选项有什么区别?

x11vnc 使用 X11 请求来获取您的屏幕更新 - 通过可用的 Composite/Damage 扩展,或者仅通过按时间间隔执行 GetImage 请求并将其与本地副本进行比较。您不仅想知道屏幕在任何时间点的当前图像,还想知道何时它被更改以及哪个区域受到影响。同样使用 x11vnc,您可以跟踪单个 window 而不是整个屏幕 - 除了 rfb 服务器之外,还有相当数量的 x11 功能。