如何安装 VNC 服务器 Ubuntu 22.04
本教程适用于这些操作系统版本
- Ubuntu 22.04(Jammy Jellyfish)
- Ubuntu 14.04 LTS(Trusty Tahr)
在此页
- 先决条件
- 安装桌面环境
- 设置新用户
- 安装 TigerVNC 服务器
- 初始化 VNC 服务器
- 将新用户添加到 TigerVNC 服务器
- 使用 SSH 隧道安全地连接到 VNC 服务器
- 结论
虚拟网络计算 (VNC) 是一种桌面共享协议,允许您使用 VNC 客户端软件远程控制计算机。 VNC 在 GUI(图形用户界面)环境中工作,它使用远程帧缓冲区 (RFB) 协议通过网络传输鼠标和键盘输入的移动。
通常,VNC 供技术人员控制客户端桌面,或供需要从家中访问办公室桌面的人员使用。可以通过 VPN 网络或使用 SSH 隧道连接安全地使用 VNC。
在本教程中,我们将向您展示如何在最新的 Ubuntu Server 22.04 上安装和配置 VNC 服务器。本指南还介绍了如何通过 SSh 隧道安全地连接到 VNC 服务器。
先决条件
- Ubuntu 服务器版本 22.04
- 具有 root 权限的非 root 用户
安装桌面环境
首先,您将在服务器上安装桌面环境或 DE。您可以在 Linux 上使用多个 DE,但通常在服务器环境中,您将安装和使用轻量级 DE,例如 XFCE 和 MATE Desktop。这是因为大多数服务器环境在资源方面是有限的。
在此示例中,您将使用 XFCE 作为 VNC 服务器安装的默认桌面环境,但您还将学习如何在您的系统上安装其他 DE。 XFCE 是一种中型桌面环境,您可以将其安装在服务器和笔记本电脑上。它重量轻,占用的磁盘空间不超过 600MB,而且它也适用于内存/RAM 较低的机器,4GB 的 RAM 足以让 XFCE 运行。
在开始安装任何软件包之前,请运行以下命令来更新和刷新您的 Ubuntu 存储库。
sudo apt update
现在使用以下命令将 XFCE 桌面安装到您的系统中。
sudo apt install xfce4 xfce4-goodies
输入Y确认,回车开始安装。 XFCE 安装将开始。
如果你想使用另一个像 Gnome 这样的 DE,你可以使用以下命令安装它。
sudo apt install ubuntu-desktop-minimal
将桌面环境安装到您的 Ubuntu 系统的另一种好方法是使用“tasksel”,它将根据您的选择自动安装桌面环境。
您可以使用以下命令安装 taskel。
sudo apt install tasksel
输入Y确认,回车开始安装。

安装完成后,运行下面的tasksel命令。
sudo tasksel
在下面的屏幕截图中,您可以看到用于将一些不同的 DE 安装到您的系统的菜单。使用 SPACE 按钮选择要安装的 DE,然后将光标移动到 OK,安装将开始。

设置新用户
设置安装桌面环境后,现在您将为 VNC 服务器设置一个新用户。 VNC 服务器可以在您系统上的每个用户上运行,但不建议以根用户身份运行 VNC 服务器。
在此演示中,您将创建一个名为 alice 的新用户,并通过执行 sudo su 命令获得 root 权限,从而获得额外的权限。 VNC 服务器将在该用户下运行。
运行以下命令以添加新用户 alice 并为其设置密码。请务必为该用户使用强密码。
sudo useradd -m -s /bin/bash alice
sudo passwd alice
现在使用以下命令将用户 alice 添加到组 sudo 中。这将允许新用户 alice 执行 sudo su 命令以获得根管理员权限。
sudo usermod -aG sudo alice
最后,以新用户 alice 登录并运行 sudo su 命令来检查和验证 root 权限。
su - alice
sudo su
输入用户 alice 的正确密码。如果认证成功,你会得到新的提示,如[email ,这意味着你已经获得了root管理员权限。

安装 TigerVNC 服务器
现在是时候将 VNC 服务器包安装到您的 Ubuntu 服务器了。在此示例中,您将为 VNC 服务器安装和使用 TigerVNC 服务器包。大多数 Linux 发行版都提供 TigerVNC 软件包,包括 Ubuntu。此外,TigerVNC 还提供了完整的软件包,其中包括 VNC 服务器、VNC 查看器/客户端以及用于 VNC 的其他工具。
使用下面的 apt 命令安装 TigerVNC 服务器包。
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
输入Y确认,回车继续安装。现在开始安装。

所有软件包安装完成后,进入下一阶段以初始化 VNC 服务器配置。
初始化 VNC 服务器
您现在已经完成了 TigerVNC 包到 Ubuntu 服务器的安装,是时候使用 TigerVNC 包设置和配置 VNC 服务器了。
在此示例中,VNC 服务器将在 nee 非根用户 alice 下运行,默认桌面环境为 XFCE - 轻量级但功能强大的 DE。
所以现在使用以下命令以用户 alice 身份登录。
su - alice
使用以下命令初始化 VNC 服务器配置。命令行 vncserver 可用于管理 VNC 服务器配置,包括初始化、检查状态、设置启动脚本等。
vncserver
现在您将被要求对 VNC 服务器进行以下配置:
- VNC 服务器的密码配置:为您的 VNC 服务器输入新密码。此密码将用于登录您的 VNC 服务器,密码最多为 8 个字符。如果您输入超过 8 个字符,那么您将看到一个错误。因此请务必使用不超过 8 个字符的强密码并重复密码以进行验证。
- 仅查看密码设置:此选项允许您与具有仅查看权限的其他用户共享 VNC 服务器或会话。如果您想向其他用户演示但具有有限的仅查看权限,则可以使用此功能。在此示例中,我们不需要仅查看密码,因此输入 n 表示否。
此命令还会在主目录下为 VNC 服务器生成名为 \~/.vnc\ 的新配置目录。
现在当 VNC 服务器初始化完成并成功时,您将输出如下消息。 VNC 服务器现在运行在 \ubuntu-machine:1\ 上,默认 TCP 端口为 5901。ubuntu-machine 是您的系统主机名,:1 表示 VNC 服务器正在显示 :1 上运行。
New Xtigervnc server 'ubuntu-machine:1 (alice)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 to connect to the VNC server.

接下来,让我们终止 VNC 服务器 ubuntu-machine:1 并开始配置启动脚本。
使用下面的 vncserver 命令终止 VNC 服务器进程 ubuntu-machine:1。
vncserver -kill ubuntu-machine:1
现在使用 nano 编辑器创建一个新的启动脚本 ~/.vnc/xstartup。
nano ~/.vnc/xstartup
向其中添加以下脚本。每当启动 VNC 服务器时,此脚本将自动执行 XFCE 桌面。
#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
完成后保存并关闭文件。
最后,运行下面的 chmod 命令使启动脚本可执行。
chmod +x ~/.vnc/xstartup
至此,你已经完成了XFCE桌面在Ubuntu 22.04上VNC Server的初始化和基本配置。
将新用户添加到 TigerVNC 服务器
现在您需要将 VNC 用户添加并定义到 TigerVNC 服务器配置文件。您的 VNC 服务器用户应该在文件 /etc/tigervnc/vncserver.users 中可用。
使用 nano 编辑器编辑文件 /etc/tigervnc/vncserver.users。
sudo nano /etc/tigervnc/vncserver.users
向其添加以下配置。这里的格式是 \:display=alice\,这里的例子是 VNC 服务器正在为 VNC 用户显示 \:1\ \爱丽丝\。当您有多个 VNC 服务器进程时,您还可以将多个用户添加到文件中。
:1=alice
完成后保存并关闭文件。
现在运行以下命令启动并启用 VNC 服务器以显示 \:1\。如果您有多个 VNC Server 进程和多个显示,那么您可以更改服务名称末尾的显示编号,例如“[email :N.service\”,这里的 N 是数字。
sudo systemctl start :1.service
最后,运行以下命令来检查和验证 VNC 服务器服务状态。
sudo systemctl status :1.service
在下面的屏幕截图中,您可以看到 [email :1.service 处于活动状态并正在运行。 VNC 服务器以用户 alice 的身份运行,显示为 \:1\,默认 TCP 端口 5901。

此外,如果在 VNC Server 启动过程中出现错误,您可以查看 ~/.vnc 目录中的日志文件。在此示例中,用户是 alice,因此以用户 alice 登录并检查下面的详细日志文件。
su - alice
cd ~/.vnc/; ls -lah
您将看到 VNC 服务器服务的两个日志文件。每当您在启动 VNC 服务器服务时遇到错误时,请检查所有这些日志文件。
至此,你已经在Ubuntu 22.04上完成了VNC Server的安装和配置,现在你可以从本地机器连接到你的VNC Server了。
使用 SSH 隧道安全地连接到 VNC 服务器
在本节中,您将通过使用 SSL 隧道安全地连接到您的 VNC 服务器来检查和验证 VNC 服务器安装。
在开始连接到 VNC 服务器之前,请确保 VNC 客户端已安装在您的本地计算机上。对于 Windows 和 macOS,您可以使用 RealVNC,对于 Linux 桌面计算机,您可以使用分发存储库中默认提供的 TigerVNC 查看器。
在开始连接到 VNC 服务器之前,请在本地计算机上运行下面的 ssh 命令以连接到您的服务器。此命令将创建到您的服务器的安全 SSH 隧道,在您的本地计算机上,您将打开 TCP 端口 5901,该端口在同一端口 5901 上隧道到您的服务器。
ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15
输入您的用户的密码。在此示例中,我们使用名为 alice 的同一个用户。

接下来,打开您的 VNC 客户端应用程序并使用地址 \localhost:5901\ 连接到您的 VNC 服务器。这将通过 SSH 隧道自动将连接安全地发送到您的 VNC 服务器。
本例中,这里的VNC客户端是TigerVNC Viewer。现在单击“连接”开始连接到服务器。

输入 VNC 服务器的密码,然后单击“确定”继续。此外,您还可以看到连接不安全的消息。您可以忽略它,因为在这种情况下,您正在连接到本地主机。

当密码正确时,您可以看到带有 XFCE 桌面的 VNC 服务器,如下所示。您可以在桌面上打开终端并运行一些命令来验证您的系统。

结论
恭喜!您现在已经在最新的 Ubuntu 22.04 服务器上成功安装和配置了 VNC 服务器,并将 XFCE 作为默认桌面环境。此外,您还学习了如何将其他 DE 安装到 Ubuntu 服务器。最后,您还学习了如何通过 SSH 隧道安全地连接到 VNC 服务器。