我正在阅读https://security.stackexchange.com/questions/120612/x-windows-security-vnc-and-x-server-vs-xpra。在以下场景中,封装了哪些协议,即在哪些协议之上?
使用时
ssh -X
,X 协议是否在 SSH 协议之上(然后在 TCP 协议之上)?x 客户端是否在远程主机上运行而 x 服务器是否在本地主机上运行?当在没有 SSH 的情况下使用 VNC 时,X 协议是否位于 VNC(即 RFB)协议之上,而后者又位于 TCP 协议之上?还是 x 客户端和 x 服务器都运行在远程主机上,而 VNC 协议只将远程桌面的快照传输到本地主机?
将 VNC 与 SSH 一起使用时,X 协议是否在 VNC(即 RFB)协议之上,然后在 SSH 协议之上(然后在 TCP 协议之上)?
在没有 SSH 的情况下使用 xpra 时,X 协议是否在 TCP 协议之上?x 客户端是否在远程主机上运行而 x 服务器是否在本地主机上运行?
xpra 也可以转发整个桌面,它是否像 VNC 协议一样工作,因为 X 客户端和 X 服务器都运行在远程主机上?
将 xpra 与 SSH 一起使用时,X 协议是否位于 SSH 协议之上(然后位于 TCP 协议之上)?
- xpra 和 VNC 的区别仅仅是 xpra 完全实现了 X 协议,而 VNC 完全实现了 VNC 协议并且需要与外部 X 协议一起工作吗?那么拥有 VNC 协议的真正好处是什么?
谢谢。
差不多,是的;X11 协议封装在 SSH 中。客户端运行在远程系统上,服务器运行在本地系统上。
使用 VNC,只有 VNC 流量通过网络(可选封装,例如使用 SSH)。X服务器远程运行,VNC客户端连接到VNC服务器,VNC服务器连接到X服务器(或者是X服务器)。X 客户端可以在任何地方运行,只要它们可以连接到 X 服务器;通常它们在同一个远程系统上。
Xpra 实现了自己的协议,它不转发 X11。情况与 VNC 相同。(Xpra 还可以使用 HTML5 导出显示。)
看上面。Xpra 和 VNC 之间的区别包括 Xpra 支持无根窗口(即它可以导出单个窗口),提供对显示的更多控制... VNC 的存在时间比 Xpra(1998 v. 2008)更长,由QEMU 等工具,并且客户端可用于比 Xpra 更多的平台。两者都可以从各种系统(X11、Windows、macOS)导出显示。