DISPLAY :1.0 和 5901 端口有什么关系

Ced*_*tin 7 vnc x11 tcp

当我使用 vncserver 启动一个新的 X 服务器时,我可以使用端口 5901 连接它。例如,从终端,我还可以执行以下操作:

出口显示=:1.0 xterm

(这只是一个例子)

我在 Xvncserver 上得到了一个 xterm。

:1.0 和 5901 端口有什么关系?

Ban*_*uin 12

端口 5901,通常约定为端口 5900 + XDisplaynumber,是 VNC 服务侦听的 TCP 端口。那是他们的关系。实际上,您可以使用任意 Xdisplaynumbers 的任意 TCP 端口。

VNC 服务旨在将输入(鼠标、键盘)从客户端传输到服务器,并将输出(图像)从服务器传输到客户端。这不需要与 X 有任何关系。例如,在虚拟化中,VNC 通常用于使虚拟机的“物理”终端可远程访问。

X11 系统比这复杂得多,程序使用它来与 Xserver 以及彼此之间进行交互。X 世界中的措辞起初有点不直观,因此需要了解输出、座位、屏幕、显示器、服务器、客户端的含义并值得考虑。

对于您的问题:Xdisplay 是任何 X 实例的逻辑核心。当您启动一个程序时,该程序是一个 Xclient 并连接到提供的 Xserver 显示。:1.0实际上是一个缩写,意思是“在本地主机上显示 1”。您可以提供主机名或 IP 地址,例如 DISPLAY=192.168.1.2:3.0,以便您将要启动的程序连接到具有给定 IP 地址的(远程)计算机上的 Xdisplay 3。

X 和 VNC 是两种完全不同的服务,用于不同的目的和不同的目标。(有人可能会争辩说,一些/大多数 VNC 目标也是开发 X 时的目标,但这是相当学术性的,而且非常深入。)

使用 Xvncserver 时,这两个概念背靠背组合在一起。因此,有一个 Xserver,Xclient 与其“以正常方式”通信,但 Xvncserverit 实现了一个 VNC 服务器,而不是使用可用的硬件与用户交互,VNC 客户端可以连接到该服务器。


bah*_*mat 5

本质上,没有。

当您运行xvncserver它时,它需要做两件事。

  1. 打开一个监听端口(对于 VNC 是 5901
  2. 创建显示目标

显示目标可以是任意数字。通常,通过 X 登录控制台将使用 display :0。不一定,您可以先登录控制台,然后再使用startx :36。VNC1.0默认使用,因为它可能是第一个可用的显示器。

这两个是按惯例选择的,除了附加在两者上的运行进程之外,没有任何魔法可以将它们绑定在一起。