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