本页内容
- 准备工作
- 安装桌面环境
- 安装并配置 TigerVNC Server(添加新用户、安装 TigerVNC Server、使用 TigerVNC Server 配置 VNC Server)
- 配置 Firewalld
- 通过 SSH 隧道访问 VNC Server
- 结论
- 添加新用户
- 安装 TigerVNC Server
- 使用 TigerVNC Server 配置 VNC Server
虚拟网络计算(VNC)是一种桌面共享协议,允许你使用 VNC 客户端软件远程控制计算机。VNC 工作在 GUI(图形用户界面)环境中,它通过远程帧缓冲(RFB)协议在网络上传输鼠标的移动和键盘输入。
通常,VNC 被技术人员用来控制客户端的桌面,或者被需要从家中访问办公室桌面的人使用。VNC 可以通过 VPN 网络或 SSH 隧道连接安全地使用。
本指南将引导你在 AlmaLinux 9 服务器上安装 VNC Server。你将在 AlmaLinux 服务器上使用 TigerVNC 和 XFCE 搭建 VNC Server。
准备工作
要完成本指南,请确保你具备以下条件:
- 一台 AlmaLinux 9 服务器——本演示将使用主机名为 alma9、IP 地址为 192.168.10.20 的 AlmaLinux 9 服务器。
- 一个具有管理员权限的非 root 用户。
安装桌面环境
在安装 VNC Server 之前,你需要做的第一步是决定要使用哪个桌面环境。在 Linux 上,有多个桌面环境可供使用,每个桌面环境(DE)都有优缺点。
如果你的 Linux 服务器内存较小(2/4 GB),你可以使用轻量级桌面环境,如 XFCE、Mate 和 Cinnamon。但如果你有更大的内存,如 8 GB,则可以使用 Gnome 作为服务器的默认桌面环境。
本指南的其余部分将向你展示如何以 XFCE 作为默认桌面环境来搭建 VNC Server,这适合你拥有的任何资源。它可以在服务器上以较小的内存轻量运行。
首先,运行以下 dnf 命令将 EPEL 仓库添加到你的系统。当提示时,输入 y 确认并按 ENTER。
sudo dnf install epel-release

现在,运行以下命令安装你系统的 XFCE 桌面和 Xorg 软件包。输入 y 确认安装,然后按 ENTER 继续。
sudo dnf groupinstall "Xfce" "base-x"

此外,如果提示确认 EPEL 仓库的 GPG 密钥,输入 y,并再次按 ENTER。

一旦 XFCE 和 Xorg 安装完成,运行以下命令将服务器的默认启动设置为使用 GUI 或图形环境。
sudo systemctl set-default graphical

如果你更喜欢使用其他桌面环境,请使用以下命令安装它:
安装 Gnome 桌面环境。
sudo dnf groupinstall "Server with GUI"
安装 KDE 桌面环境。
sudo dnf groupinstall "KDE Plasma Workspaces"
安装并配置 TigerVNC Server
在安装桌面环境之后,下一步是在你的 AlmaLinux 服务器上安装 VNC Server。在本示例中,你将使用 TigerVNC Server 来创建你的 VNC Server。
下面是你必须执行的一些步骤:
- 添加新用户
- 安装 TigerVNC Server
- 使用 TigerVNC Server 配置 VNC Server
添加新用户
首先,你需要创建一个将用于运行 VNC Server 的新用户。以下示例将向你展示如何创建一个新用户并在系统上设置 sudo 权限。
运行以下命令创建一个新用户和密码。在本演示中,你将创建一个名为 bob 的新用户。
sudo useradd -m -s /bin/bash bob
sudo passwd bob
现在执行以下命令将用户 bob 添加到 wheel 组。此操作允许用户 bob 运行并执行 sudo 命令以获取 root 权限。
sudo usermod -aG wheel bob

安装 TigerVNC Server
创建新用户后,你现在将在系统上安装 TigerVNC Server 软件包。该软件包默认在 appstream 仓库中可用,你可以通过 DNF 包管理器安装它。
接下来,运行以下 dnf 命令将 TigerVNC Server 软件包安装到你的系统。
sudo dnf install tigervnc-server
输入 y 确认安装并按 ENTER。

新用户已创建且 TigerVNC Server 已安装,你现在可以通过 TigerVNC Server 来设置 VNC Server。
使用 TigerVNC Server 配置 VNC Server
在接下来的部分中,你将在 AlmaLinux 服务器上使用 TigerVNC 和 XFCE 桌面配置 VNC Server。
执行以下命令以用户 bob 身份登录。
su - bob
运行以下命令创建一个新的目录 ~/.vnc/ 和新的 VNC 配置文件 ~/.vnc/config。
mkdir -p ~/.vnc/
nano ~/.vnc/config
插入以下配置。在 session 参数中,你可以指定将使用的桌面环境。查看 /usr/share/xsessions 目录中的文件列表,以获取系统上可用的桌面环境列表。
session=xfce securitytypes=vncauth,tlsvnc geometry=1920x1200 localhost alwaysshared
完成后保存并关闭文件。
接下来,运行以下 vncpasswd 命令为你的 VNC Server 创建一个新密码。
vncpasswd
输入新密码并重复。当被问及是否设置只读密码时,输入 n 禁用它或输入 y 进行配置。
现在运行以下命令为 /home/bob/.vnc 目录设置 SELinux 上下文。
restorecon -RFv /home/bob/.vnc

之后,使用以下 nano 编辑器命令打开文件 /etc/tigervnc/vncserver.users。
sudo nano /etc/tigervnc/vncserver.users
将以下行添加到文件中。这样,你将为用户 bob 创建显示 :1 的 VNC Server。
:1=bob
完成后保存文件并关闭编辑器。
接下来,运行以下 systemctl 命令重新加载 systemd 管理器。
sudo systemctl daemon-reload
然后使用以下命令为显示 :1 启动并启用 VNC Server。在服务名称的末尾是 VNC Server 的显示编号,它允许你在单个服务器上创建多个显示,例如 vncserver@:2 用于 VNC Server 显示 :2,依此类推。
sudo systemctl start vncserver@:1
sudo systemctl enable vncserver@:1

最后,运行以下命令验证显示 :1 的 VNC Server 状态。
sudo systemctl status vncserver@:1
如果一切顺利,你应该看到 VNC Server 显示 :1 的状态为 active (running)。

配置 Firewalld
如果你到目前为止一直按照本指南操作,你已经完成了使用 TigerVNC 和 XFCE 桌面的 VNC Server 配置。你必须做的下一步是在 firewalld 上打开 VNC Server 端口。
确保 firewalld 已激活,或者你可以运行以下命令来启动它。
sudo systemctl start firewalld
现在运行以下 firewall-cmd 命令将 vnc-server 添加到 firewalld 并重新加载 firewalld 以应用更改。
sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload
然后使用以下命令验证 firewalld 上已启用的服务列表。输出应显示 vnc-server 已添加到 firewalld。
sudo firewall-cmd --list-all

通过 SSH 隧道访问 VNC Server
在本节中,你将学习如何通过 SSH 隧道安全地连接到 VNC Server。因此,在开始之前,请确保你的本地计算机上已安装 VNC 客户端软件。如果你使用的是 Linux 或 macOS,可以使用如 UltraVNC(Windows)或 RealVNC 等 VNC 客户端。
在你的本地计算机上,运行以下 ssh 命令以创建到 VNC Server 的 SSH 隧道。在本演示中,VNC Server 的 IP 地址为 192.168.10.20,我们将使用用户 bob 创建隧道。
ssh -L 5901:127.0.0.1:5901 -N -f -l bob 192.168.10.20
当提示时,输入用户 bob 的密码。
现在,在你的本地计算机上打开 VNC 客户端应用程序,并连接到 127.0.0.1 的 5901 端口。你可以通过 localhost 访问 VNC Server,因为你已经创建了到 VNC Server 5901 端口的安全 SSH 隧道。

当你收到有关未加密连接的警告时,点击 Continue(继续)。

当提示时输入 VNC Server 密码,然后点击 OK 确认。

如果你拥有 VNC Server 的正确密码,你应该会看到你正在使用的默认桌面环境。在本演示中,默认桌面环境是 XFCE。

结论
至此,你已经成功在 AlmaLinux 9 机器上安装了 VNC Server(配合 TigerVNC Server 和 XFCE 桌面)。你还学习了如何从本地计算机通过 SSH 隧道安全地连接到 VNC Server。你现在可以开始将你的 VNC Server 用于主要工作空间。