本教程适用于以下操作系统版本
- Debian 12(Bookworm)
- Debian 11(Bullseye)
本页目录
- 先决条件
- 安装桌面环境
- 安装 TigerVNC 服务器
- 初始化 VNC 服务器
- 配置 VNC 服务器与桌面环境
- 为 TigerVNC 服务器添加用户
- 通过 SSH 隧道连接 VNC 服务器
- 在 VNC 服务器上安装图形应用程序
- 结论
虚拟网络计算(VNC)是一种桌面共享协议,允许你使用 VNC 客户端软件远程控制计算机。VNC 运行在 GUI(图形用户界面)环境中,它通过远程帧缓冲(RFB)协议在网络上传输鼠标移动和键盘输入。
通常情况下,VNC 被技术人员用来控制客户端桌面,或被需要从家中访问办公室桌面的人使用。VNC 可以通过 VPN 网络或使用 SSH 隧道连接来安全地使用。
在本指南中,我将逐步向你展示如何在 Debian 12 服务器上安装 VNC 服务器。
先决条件
要继续本指南,你需要具备以下条件:
- 一台 Debian 12 服务器。
- 一个具有管理员权限的非 root 用户。
安装桌面环境
开始本教程之前,你需要为 Debian 服务器安装桌面环境。这可以通过 APT 手动完成,也可以使用 tasksel 等辅助工具。Tasksel 是一个命令行工具,可通过交互式 shell 帮助你安装一组软件包,例如桌面环境和 Web 服务器。
首先,在使用以下命令安装软件包之前,更新你的 Debian 软件源。
sudo apt update
现在运行以下命令来安装 tasksel。
sudo apt install tasksel
输入 y 以确认安装。

安装 tasksel 之后,执行以下 tasksel 命令为你的 VNC 服务器安装桌面环境。
sudo tasksel
选择你喜欢的桌面环境,移动到 OK 确认,然后按 ENTER 开始安装。下面的示例将使用 XFCE 作为 VNC 服务器的默认桌面环境(DE)。

桌面环境的安装应该已经开始了。

安装 TigerVNC 服务器
安装完桌面环境后,就可以安装 VNC 服务器软件包了。在 Debian 上,你可以使用 TigerVNC 来创建 VNC 服务器。
执行以下命令,将 tigervnc-standalone-server 软件包安装到你的 Debian 系统。
sudo apt install tigervnc-standalone-server tigervnc-common
输入 y 并按 ENTER 继续安装。

TigerVNC 服务器安装完成后,来看看一些重要的 TigerVNC 配置:
- 目录 /etc/tigervnc/ :TigerVNC 服务器的主要配置目录。在该目录中,你会看到用于保存用户的 vncserver.users 文件,以及作为 TigerVNC 主配置、会被自动加载的 vncserver-config-mandatory 文件。
- 服务文件 [email protected] :TigerVNC 服务器提供了一个 systemd 服务文件,让你可以轻松运行 VNC 服务器桌面。
初始化 VNC 服务器
既然已经安装了 TigerVNC,现在可以创建你的第一个 TigerVNC VNC 服务器了。开始之前,请确保你已经准备好了非 root 用户。
执行以下命令登录到你的用户。
su - username
通过执行以下命令初始化 VNC 服务器。在此过程中,你将设置 VNC 服务器密码和只读密码(可选)。
vncserver
输入 VNC 服务器的新密码,并在提示时重复输入。然后,输入 n 禁用只读密码,或输入 y 启用只读密码。
初始化 VNC 服务器后,VNC 服务器应该运行在“ hostname:x ”上。hostname 是系统主机名,x 是桌面编号。在本示例中,VNC 服务器运行在 bookworm64:1 。

配置 VNC 服务器与桌面环境
至此,你已经配置了 VNC 服务器及其密码。接下来,你将配置 VNC 服务器并设置默认桌面环境。
在配置 VNC 服务器之前,先执行以下命令停止当前的 VNC 服务器进程。在下面的示例中,我们将停止 VNC 服务器 bookworm64:1 。
vncserver -kill bookworm64:1

现在,运行以下命令来检查系统中可用的桌面环境。
ls /usr/share/xsessions/
在以下输出中,xfce.desktop 确认 XFCE 可用。

接下来,使用以下 nano 编辑器命令创建一个新的 VNC 服务器配置 ~/.vnc/config。这是一个按用户配置的文件,意味着每个用户可以有各自的配置。
nano ~/.vnc/config
将以下配置写入文件。
session=xfce geometry=1200x720 localhost alwaysshared
完成后保存并关闭文件。
在本示例中,你将使用以下配置来设置 VNC 服务器:
- session=xfce:将默认会话配置为 XFCE。
- geometry=1200x720:将显示分辨率配置为 1200x720。
- localhost:仅在本地主机(localhost)运行 VNC 服务器。
- alwaysshared:始终将传入连接视为共享连接。
为 TigerVNC 服务器添加用户
既然已经配置了默认桌面环境和 VNC 服务器,接下来的任务是把你的用户添加到 VNC 服务器。
运行以下 nano 编辑器命令,打开 TigerVNC 的 /etc/tigervnc/vncserver.users 文件。
sudo nano /etc/tigervnc/vncserver.users
将以下行添加到文件中。通过这行,你将把 VNC 服务器 :1 配置给用户 username。根据你的需要,这个列表可以继续添加,具体取决于你将创建的 VNC 用户和桌面。
:1=username
完成后保存并关闭文件。
接下来,运行以下 systemctl 命令来启动并启用 tigervncserver@:1.service 。服务文件 tigervncserver@:1.service 表示你将启动 VNC 服务器桌面 :1 。
sudo systemctl start tigervncserver@:1.service
sudo systemctl enable tigervncserver@:1.service

最后,通过执行以下命令确认 tigervncserver@:1.service 正在运行。
sudo systemctl status tigervncserver@:1.service
在以下示例中,你可以看到 tigervncserver@:1.service 正在运行。

至此,你已经使用 TigerVNC 和 XFCE 作为默认桌面环境完成了 VNC 服务器的安装。接下来,你将通过 SSH 隧道安全地连接到 VNC 服务器。
通过 SSH 隧道连接 VNC 服务器
在连接到 VNC 服务器之前,请确保本地计算机上已安装 SSH 客户端和 VNC Viewer。
Windows 用户:可以使用已安装 SSH 客户端的 PowerShell,以及 UltraVNC 作为 VNC 客户端。Linux 用户:使用终端和 Remmina 远程桌面应用程序。
打开终端并执行以下 ssh 命令,创建到 VNC 服务器的 SSH 隧道。在提示时输入你的密码。在本示例中,我们将创建到 VNC 服务器 192.168.5.15 的 SSH 隧道,端口为 5901,用户为 bob 。
ssh -L 5901:127.0.0.1:5901 -N -f -l bob 192.168.5.15
现在打开 VNC Viewer 应用程序,使用端口 5901 连接到 localhost 或 127.0.0.1。在本示例中,我们将使用 UltraVNC,点击 Connect 继续。

在提示时输入 VNC 服务器密码,然后点击 Log On。

如果密码正确,你应该能够登录到带有 XFCE 桌面的 VNC 服务器,如下所示。

在 VNC 服务器上安装图形应用程序
既然已经连接到 VNC 服务器,你可以在 VNC 服务器上安装桌面应用程序了。
点击应用程序菜单,选择 Terminal Emulator(终端模拟器)。
现在运行以下命令获取 root 权限并更新你的 Debian 软件源。
sudo su
sudo apt update
在本示例中,你可以使用以下 apt 命令将 Firefox ESR 安装到你的 VNC 服务器。
sudo apt install firefox-esr -y
安装完成后,从应用程序菜单打开 Firefox ESR。如果一切顺利,你应该能看到 Firefox ESR 在 VNC 服务器上运行,如下所示。

结论
总结一下,你已经在 Debian 12 服务器上完成了 VNC 服务器的安装,使用的是 TigerVNC 服务器和 XFCE 桌面环境。你还学习了如何通过 SSH 隧道安全地连接到 VNC 服务器,并将图形应用程序 Firefox ESR 安装到你的 Debian 服务器。
从现在起,你可以使用 GUI(图形用户界面)来使用和管理你的服务器。如需进一步了解,你可能希望使用 TLS 证书来增强 TigerVNC 的安全性。