Ubuntu VNC 服务器2025年3月17日 | 阅读 12 分钟 VNC 服务器简介VNC 是 Virtual Network Computing 的缩写,它是一种图形化桌面共享系统,利用远程帧缓冲协议(简称 RFB)远程控制其他计算机。它将鼠标和键盘输入从一台计算机传输到另一台计算机,并在网络上传输图形屏幕更新。 VNC 是一个平台无关的系统:有适用于多种 GUI 操作系统和 Java 的服务器和客户端。一个 VNC 服务器可以连接多个客户端。该技术常见的用途是从家里的电脑访问工作电脑上的文件,以及进行远程技术支持,反之亦然。 最初,VNC 是在英国剑桥的 Olivetti & Oracle 研究实验室集成的。真正的 VNC 源代码和几个最新的衍生版本是基于 GNU 通用公共许可证的开源软件。 有几种 VNC 可供选择,提供各自的特定功能。例如,有些 VNC 用于 Microsoft Windows,提供文件传输等功能。一些 VNC (没有附加功能)与 VNC 兼容,因此一种 VNC 客户端可以连接到另一种 VNC 服务器;其他 VNC 是基于 VNC 代码的,但不兼容经典 VNC。 RFB 和 VNC 是 RealVNC Ltd. 在美国及其他一些国家注册的商标。 VNC 服务器的历史英国剑桥的 Olivetti 和 Oracle 研究实验室(简称 ORL)在 Olivetti 和 Oracle 公司收购该实验室后,集成了 VNC。AT&T 于 1999 年继承了该实验室,并于 2002 年关闭了该实验室的研究工作。
包括 Hopper、Weatherall、Harter 和 Richardson 在内的几位开发团队成员在 ORL 于 2002 年关闭后,组建了 RealVNC,继续从事商业 VNC 软件和基于该名称的开源开发。 GPL 许可的原始源代码已融入许多其他 VNC 版本。这种分支并未导致兼容性问题,因为 RFB 协议的设计是可扩展的。VNC 服务器和客户端通过握手协商它们的能力,以应用双方支持的最准确选项。RealVNC Ltd. 声称截至 2013 年,“VNC” 是在美国和其他国家注册的商标。 “Virtual Network Computing” 名称源于 ORL 在一个名为 VideoTile 的瘦客户端上的工作,该客户端使用了 RFB 协议。VideoTile 包括一个带有快速 ATM 连接的 LCD 显示屏和用于网络的笔输入。通常,网络计算机当时被用作瘦客户端的同义词;VNC 最初是一个纯软件的网络计算机。 VNC 服务器的操作
在服务器上,查看器可以通过常规操作方法连接到任何端口(5900 是默认端口)。或者,根据实现方式,任何浏览器都可以连接到任何服务器(5800 是默认端口)。服务器可以通过监听模式在 5500 端口连接到任何查看器。监听模式的一个好处是,服务器站点不必设置防火墙来允许访问 5900 端口(或 5800);这些责任在于查看器,如果服务器站点没有系统专业知识,而查看器用户更有经验,这将很有帮助。 服务器将小的帧缓冲矩形传输到客户端。VNC 协议最简单的形式会占用大量带宽,因此已经创建了许多方法来减少通信开销。例如,有多种编码方式(决定发送这些矩形的最有效方法的编码方式)。VNC 协议允许服务器和客户端通信它们将使用哪种编码方法。所有服务器和客户端都支持的最简单的编码是原始编码,它以从左到右的扫描线顺序传输像素数据,并且仅传输在发送完整屏幕后发生更改的矩形。如果一个屏幕部分与前一帧相比只发生微小变化,则此编码效果很好。
Xvnc 是一个基于经典 X 服务器的 Unix VNC 服务器。对于应用程序,Xvnc 会出现(显示客户端窗口),它是一个 VNC 服务器,供远程 VNC 用户使用。应用程序可以像普通的 X 显示一样在 Xvnc 上显示自己。但是,它们会出现在连接的 VNC 查看器上,而不是物理屏幕上。一台机器(可以是网络服务器或工作站),带有鼠标、键盘和屏幕,也可以设置为作为守护进程或服务重新启动和运行 VNC 服务器,然后可以移除鼠标、键盘和屏幕,并将机器存放在隔离的位置。 显示器不一定与用户在服务器上看到的由 VNC 服务的显示器相同。在支持多个同时 X11 会话的 Linux/Unix 计算机上,VNC 可以设置为服务于一个特定的现有 X11 会话,或启动自己的会话。此外,也可以从同一台计算机运行多个 VNC 会话。在 Microsoft Windows 上,VNC 会话始终是正在服务的最新用户会话。 通常,用户将 VNC 设置为跨平台远程桌面系统。例如,对于 macOS X,Apple Remote Desktop 与 VNC 交互,如果使用 x11vnc 服务,它将连接到 Unix 用户的当前桌面,或者如果使用 TightVNC 服务,它将隔离 X11 会话。TightVNC 将连接到由 Apple Remote Desktop 服务(如果启用了 VNC 选项)或在 Unix 上运行的 Microsoft Windows 上的 VNC 服务器提供的 macOS X 会话。RealVNC 在 2014 年 7 月发布了 Wayland 开发者预览版。 VNC 服务器的安全性RFB 默认不是一个安全的协议。当加密密码和加密密钥通过网络被嗅探时,破解可能会成功,而密码不会以明文传输。因此,建议使用至少 8 个字符的密码。此外,一些 VNC 版本有 8 个字符的限制;如果传输的密码超过 8 个字符,则其余字符将被删除,然后将额外字符串与密码进行比较。 UltraVNC 支持使用开源加密插件,该插件可以加密整个 VNC 会话,包括数据传输和密码身份验证。此外,它还允许基于 Active Directory 和 NTLM 用户帐户实现身份验证。尽管如此,使用这些加密插件会使其与其他 VNC 程序不兼容。RealVNC 提供高质量的 AES 加密作为其商业套餐的一部分,并提供 Active Directory 集成。
另一个安全问题是检查 VNC 使用是否需要远程计算机所有者的授权,然后才能控制他们的机器。这可以避免计算机访问所有者在不知情的情况下发现有人正在控制他们的机器的情况。 VNC 服务器的基本安全选项设置过程中最重要的事情是只允许正确的人访问我们的桌面。要做到这一点,最安全的方法通常是让坐在桌面旁的人决定谁可以使用它,但这并不总是可行的。例如,如果我们希望从其他地方登录到我们的计算机。 如果您想手动确认所有连接,请查看以下选项:
以上两个选项将提供最大的安全性。始终请求访问可确保没有人可以在我们不知情的情况下连接,而仅查看访问可确保他们无法在未经我们请求的情况下修改任何内容。 如果您希望在没有人坐在计算机旁时访问您的桌面,以下选项将更有帮助:
只要他们使用了端口转发,以上三个选项应该就能提供一个安全的设置。只允许本地连接意味着只有拥有我们计算机上用户帐户的人才能访问我们的桌面。以“一次性”模式启动服务器意味着我们计算机上的用户帐户在启动 VNC 服务器和从 VNC 客户端连接之间需要登录到我们的桌面。创建密码意味着,如果有人尝试在此短暂期间进行连接,在您注意到并禁用服务器之前,他们将无法进入。 重要提示:如果您希望使用 Mac OS X 内置的客户端,则必须创建一个密码。 什么是 Vino?它是 Ubuntu 中默认的 VNC 服务器,用于与他人共享我们的桌面。要在 GNOME 中设置 vino,我们需要访问 System > Preferences > Remote Desktop。
什么是 x11vnc?它是一个 VNC 服务器,不依赖于任何特定的图形环境。它还可以在最小化环境中使用,因为它有一个基于 tk/tcl 的 GUI。它可以在系统仍显示登录屏幕时启动。 确保我们首先删除了任何其他 VNC 程序,以免它们干扰此服务器,这一点很有用。以下是一些将根据我们的环境进行基本调整的设置:
什么是 Krfb?在 Kubuntu 中,它是默认的 VNC 服务器。由于它与 KDE 高度集成,因此在其他环境中运行它会很困难。要设置 krfb,我们需要访问 System Settings > Sharing > Desktop Sharing > Configure。
邀请 Krfb 允许我们创建“邀请”或一次性密码,该密码在一次使用或一小时后失效。它还提供了一种方便的方式来提供对设备的单次访问,但这只提供有限的安全性。例如,如果我们通过即时消息或电子邮件向某人发送邀请,攻击者就可以读取我们的邀请消息,因为它是在 Internet 上传输的。 当我们希望允许其他人查看我们的桌面时,邀请会很有帮助,但我们在允许其他人查看桌面时仍需采取基本预防措施。 TightvncserveTightvnc 创建一个全新的桌面,不与任何实际屏幕关联,而几乎所有 VNC 服务器都共享我们的桌面。这使得它在某些方面(例如远程帮助)的用处大大减小,但在其他方面(例如创建公共协作区域)的用处大大增加。如果 tightvncserver 无法启动,我们可能需要取消注释 /etc/vnc.conf 目录中的 $fontpath 行。 Tightvnc 被设计成可以像 x11vnc 一样从命令行执行。要启动它,请输入: 这将指示 tightvnc 在互联网上的 5901 端口上监听来自任何地方的 VNC 连接。如果没有 -nolisten tcp,tightvnc 将监听一种不同的连接类型(X11 而不是 VNC),这不太有用。tightvnc 的特殊设计意味着,如果我们的计算机上正在运行一个正常的桌面,它无法通过标准 VNC 端口创建远程桌面。
TightVNC最初,TightVNC 基于 VLC 4 TightVNC 分支。它自 2009 年以来一直积极维护且稳定,并已集成到最流行的发行版中。它支持复合窗口管理器,无需像 GNOME shell 那样进行回退模式。此外,在使用 TightVNC 查看器时,它默认应用 TLS 加密。 相似的应用程序
在 Ubuntu 中安装 VNC 服务器在本节中,我们将解释如何在 Ubuntu 系统上安装和配置 VNC。 更新系统我们需要通过在终端窗口中运行以下命令来更新我们的系统存储库: ![]() 我们将在下一步中获取图形界面。 安装 Xfce 桌面环境我们可能知道 Ubuntu 服务器是通过命令行管理的,它们没有内置的桌面环境。如果您使用的是 Ubuntu 桌面版本,可以跳过此步骤。 我们将在本文中安装 Xfce,它是一个强大且轻量级的桌面环境,适用于任何远程服务器。 ![]() 我们需要输入“Y”以允许 Xfce 的安装过程继续。之后,命令行屏幕上会弹出一个提示,要求我们设置 lightdm。 ![]() 我们可以选择 lightdm 和 gdm3 作为默认显示管理器。 下一主题找不到软件包 Ubuntu |
我们请求您订阅我们的新闻通讯以获取最新更新。