如何在 Debian 11 上安装 VNC 服务器
在此页
- 先决条件
- 安装桌面环境
- 创建新的 Linux 用户
- 安装 TigerVNC 服务器 Debian 11
- 将 XFCE 配置为默认桌面环境
- 将用户添加到 TigerVNC 并启动服务
- 使用 SSH 隧道安全地连接到 VNC 服务器
- 结论
虚拟网络计算 (VNC) 是一种桌面共享协议,允许您使用 VNC 客户端软件远程控制计算机。 VNC 在 GUI(图形用户界面)环境中工作,它使用远程帧缓冲区 (RFB) 协议通过网络传输鼠标和键盘输入的移动。
通常,VNC 供技术人员控制客户端桌面,或供需要从家中访问办公室桌面的人员使用。可以通过 VPN 网络或使用 SSH 隧道连接安全地使用 VNC。
在本教程中,您将学习如何在 Debian 11 Bullseye 上安装 VNC 服务器。本教程使用 TigerVNC 包来启用 VNC 服务器,您还将学习如何安装桌面环境 (DE),例如 Gnome、XFCE、Mate 桌面。最后,您将学习如何通过安全的 SSH 隧道连接连接到您的 VNC 服务器。
先决条件
在开始之前,请确保满足以下要求:
- 一台 Debian 11 Bullseye 服务器,至少 1 GB 内存。如果您计划为您的 VNC 服务器使用现代 DE,那么您将需要超过 1 GB 的 RAM。如果您的服务器只有 1 GB RAM,则可以使用更轻量级的 DE。
- 具有 root 权限的非 root 用户。或者您可以使用 root 用户。
安装桌面环境
要开始使用 VNC 服务器,您需要在系统上安装桌面环境 (DE)。在 Linux 上,有多种可用的 DE,您可以根据需要安装 DE。可以在资源少的服务器上安装XFCE、Mate Desktop等轻量级DE,也可以在资源多的服务器上安装Gnome等现代DE。
在本节中,您将在 Debian 11 系统上安装 DE。在以下 DE 之间进行选择:Gnome、XFCE 或 Mate 桌面作为您的首选 DE。
1. 要安装桌面环境,首先,通过运行下面的 apt 命令刷新您的包索引。
须藤更新
2. 现在,通过运行以下命令安装您喜欢的 DE。
使用以下命令安装 XFCE 桌面。
sudo apt install task-xfce-desktop dbus-x11
如果您更喜欢 Mate 桌面版,请使用以下命令安装它。
sudo apt install task-mate-desktop dbus-x11
对于 GNOME 桌面,您可以使用以下命令。
sudo apt install task-gnome-desktop dbus-x11
现在您已经在您的系统上安装了 DE,本教程的下一步是创建一个新用户并安装 TigerVNC 包。
创建新的 Linux 用户
虽然您可以为 VNC 服务器使用 root 用户,但出于安全原因,建议使用非 root 用户。在本节中,您将创建一个新用户并将其添加到 sudo 组。这允许用户使用命令 sudo 获得 root 权限。
1.运行以下命令以添加新用户并设置密码。在这个例子中,我们将创建一个新用户 johndoe。
sudo useradd -m -s /bin/bash johndoe
passwd johndoe
选项 -m 将自动为新用户创建一个主目录。选项 -s /bin/bash 用于为新用户指定 shell,键入二进制 shell 的完整路径。
此命令将提示您输入密码。输入您的强密码并重复。
2. 现在,通过运行以下命令将您的新用户添加到 sudo 组。这允许用户获得root权限并使用root权限执行应用程序。
sudo usermod -aG sudo johndoe
3. 接下来,以您的新用户身份登录并使用以下命令验证 sudo root 权限。
su - johndoe
sudo su
系统将提示您输入密码。输入您的密码,然后按 ENTER。因此,您的提示符将变为[电子邮件受保护],这意味着您已成为 root。
安装 TigerVNC 服务器 Debian 11
在本节中,您将在 Debian 11 系统上安装 TigerVNC 软件包并设置 VNC 服务器。这包括为特定用户设置 VNC 服务器及其身份验证和设置默认 DE。 VNC 服务器作为每个用户工作,每个用户都有其特定的显示、DE 配置和 systemd 服务。
1. 要安装 TigerVNC 软件包,请运行下面的 apt 命令。
sudo apt install tigervnc-standalone-server tigervnc-common -y
2. 您现在已经安装了 TigerVNC 软件包。接下来,以您的非根用户身份登录,然后通过运行以下命令初始化 VNC 服务器。
su - johndoe
vncserver
3. 系统会提示您为 VNC 服务器创建一个新密码。输入您的密码并重复。密码不能超过 8 个字符,否则将被拒绝。
You will require a password to access your desktops.
Password:
Verify:
4. 现在您将被要求创建一个仅供查看的密码。当您想要共享您的 VNC 服务器但只提供仅查看访问权限时,这很有用。至于现在,我们不需要它,键入 n 表示否,然后按 ENTER 键。
Would you like to enter a view-only password (y/n)? n
5. 初始化完成后,您将收到以下输出。您可以突出显示此输出 bullseye64:1 (johndoe),这意味着 VNC 服务器正在服务器 bullseye64 上运行,显示 :1 为用户 johndoe。
New Xtigervnc server 'bullseye64:1 (johndoe)' on port 5901 for display :1.
User xtigervncviewer -SecurityTypes VncAuth -passwd /home/johndoe/.vnc/passwd :1 to connecto to the VNC server.

将 XFCE 配置为默认桌面环境
此时,您已经为您的用户初始化了 VNC 服务器。所有与VNC服务器相关的配置都生成在~/.vnc目录下。接下来,您将为您的 VNC 服务器设置默认 DE。
1. 在开始之前,通过运行以下命令终止 VNC 服务器显示 :1。
vncserver -kill bullseye64:1
您将获得如下输出。
Killing Xtigervnc process ID 1635... success!
2. 要为 VNC 服务器设置默认 DE,您需要在目录 ~/.vnc 上修改/重新创建文件 xstartup。该脚本将在 VNC 服务器运行时自动执行。
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup
3. 在文件中输入以下脚本。并确保使用启动 DE 的命令更改 startxfce4。此示例使用 XFCE 作为默认 DE。
bash
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
保存并关闭文件。
4. 现在,通过运行以下命令使脚本 xstartup 可执行。
chmod +x ~/.vnc/xstartup
现在您已经完成了 VNC 服务器默认 DE 的配置。
将用户添加到 TigerVNC 并启动服务
要使 TigerVNC 服务器正常工作,您需要将您的用户和显示编号添加到文件 /etc/tigervnc/vncserver.users,然后启动并启用 TigerVNC 服务。
1. 使用 nano 或您喜欢的编辑器修改文件 vncserver.users。
sudo nano /etc/tigervnc/vncserver.users
如下定义用户后面的显示编号。此示例为用户 johndoe 使用显示编号 :1。
:1=johndoe
保存并退出文件。
2. 接下来,运行以下命令启动并启用显示编号 :1 的 TigerVNC 服务。如果您有多个用户和 VNC 服务器,请更改每个用户的显示编号,例如 :2、:3,然后继续。
sudo systemctl enable --now :1.service
3. 现在,通过运行以下命令验证 TigerVNC 服务状态。
sudo systemctl status :1.service
您将收到如下面的屏幕截图所示的输出。显示 :1 的 TigerVNC 服务处于活动状态(正在运行),并且与 XFCE 桌面一起运行。

使用 SSH 隧道安全地连接到 VNC 服务器
至此,您已经使用 TigerVNC 软件包在 Debian 11 Bullseye 上完成了 VNC 服务器的安装。在本节中,您将通过 SSH 隧道安全地连接到您的 VNC 服务器。
1. 在开始之前,确保您已经在本地计算机/笔记本电脑上安装了 VNC 查看器。您可以使用 RealVNC Viewer,它可以安装在 Linux、Windows 和 macOS 系统上。
2. 现在,要启动 SSH 隧道,请在本地计算机上运行下面的 ssh 命令。并确保将用户名和 IP 地址 192.168.1.10 更改为您的 VNC 服务器 IP 地址。
ssh -L 5901:127.0.0.1:5901 -N -f -l username t 192.168.1.10
您必须知道的选项:
- 选项 -L 5901:127.0.0.1:5901 创建隧道进程。
- -N 禁止用户对SSH 服务器执行远程命令。
- -f 使 ssh 进入后台。
- -l username 指定你的 ssh 用户名。
此命令将在端口为 5901 的本地主机上创建到端口 5901 上的服务器 192.168.1.10 的隧道。现在,您可以使用端口为 5901 的本地主机连接到 VNC 服务器。
3. 打开您的 VNC 查看器应用程序并连接到 localhost:5901,如下所示。系统将提示您输入 VNC 服务器的密码。输入您的正确密码。

4. 连接到 VNC 服务器后,您将看到 VNC 服务器的桌面。下面是 XFCE 桌面的截图。

在本节中,您已通过 SSH 隧道成功安全地连接到 VNC 服务器。
结论
在本教程中,您学习了使用 TigerVNC 在 Debian 11 Bullseye 上安装 VNC 服务器。此外,您还学习了在 Debian 系统上安装各种桌面环境,以及如何设置默认 DE 和将 TigerVNC 设置为您的 VNC 服务器应用程序。
最后,您了解了如何通过从本地计算机到 VNC 服务器的 SSH 隧道安全地连接到 VNC 服务器。