跳转到内容

互联网技术/VNC

来自维基教科书,开放的书籍,开放的世界

虚拟网络计算 (VNC) 是一种远程桌面协议,用于远程控制另一台计算机。VNC 用于将图形用户界面的桌面环境从一台计算机传输到网络上另一台计算机上的查看器应用程序。许多平台都有客户端和服务器,包括 Linux、Microsoft Windows、Berkeley Software Distribution 变体和 MacOS X。事实上,你会很难找到任何图形界面操作系统没有可用的查看器。VNC 协议允许完全的平台独立性。任何操作系统的 VNC 查看器都可以连接到任何其他操作系统的 VNC 服务器。也可以允许多个客户端同时连接到一个 VNC 服务器。该技术的常用用途包括远程技术支持,以及在家里或旅途中访问工作电脑上的文件。甚至还有一个用于 VNC 的 Java 查看器,因此您可以从 Web 浏览器连接到 VNC 服务器,而无需安装任何软件。最初的 VNC 代码是开源的,如今市面上许多 VNC 版本也是开源的。

它是如何工作的

[编辑 | 编辑源代码]

VNC 实际上分为两部分,一个客户端和一个服务器。服务器是共享其屏幕的机器,而客户端或查看器是正在观看并可能与服务器交互的程序。VNC 实际上是一个非常简单的协议,并且基于一个且只有一个图形原语,“在给定的 x,y 位置放置一个像素数据矩形”。这意味着 VNC 获取屏幕的小矩形(实际上是帧缓冲区),并将它们从服务器传输到客户端。在最简单的形式中,这会导致使用大量带宽,因此已经发明了各种方法来加快此过程。现在有许多不同的“编码”或方法来确定传输这些矩形的最高效方式。VNC 协议允许客户端和服务器协商将使用哪种编码。最简单和最通用的方法是原始编码方法,其中像素数据按从左到右的扫描线顺序发送,并在初始设置后,仅传输已更改的矩形。

如何复制和粘贴

[编辑 | 编辑源代码]

如何将运行在服务器上的应用程序(在本地 VNC 窗口中可见)中的内容复制和粘贴到本地运行的应用程序(在 VNC 窗口之外)中,反之亦然?

有些人[1] [2]建议使用 xcutsel 或 autocutsel 作为一种变通方法

在 VNC 服务器端(在 VNC 窗口内)运行“xcutsel &”。让它一直运行。

  • 1. 如果你想从 VNC 复制到本地,选择要复制的内容,然后在 xcutsel 中点击“将 PRIMARY 复制到 0”,然后在本地粘贴。
  • 2. 如果你想从本地复制到 VNC,选择要复制的内容,然后在 xcutsel 中点击“将 0 复制到 PRIMARY”,然后在 VNC 窗口中粘贴。

其他人[3]推荐使用 autocutsel(或者它是 autcutsel?),并指向VNC 常见问题解答

有关 X 窗口系统中剪切和粘贴的细微差别,请参阅 Jamie Zawinski 在 2002 年撰写的“X 选择、剪切缓冲区和杀死环”(如果你正在编写 X11 应用程序,这将非常有用)。

[编辑 | 编辑源代码]
华夏公益教科书