如何在 Rocky Linux 上安装 VNC 服务器

如何在 Rocky Linux 上安装 VNC 服务器

虚拟网络计算 (VNC) 是一种桌面共享协议,允许您使用 VNC 客户端软件远程控制计算机。 VNC 正在开发 GUI(图形用户界面)环境,它使用远程帧缓冲区 (RFB) 协议通过网络传输鼠标和键盘输入的移动。

通常,VNC 用于技术人员控制客户端桌面或供需要在家中访问办公室桌面的人员使用。 可以通过 VPN 网络或使用 SSH 隧道连接安全地使用 VNC。

在本教程中,您将在 Rocky Linux 服务器上使用 TigerVNC 设置 VNC 服务器。 您还将学习如何通过 SSH 隧道安全地连接到 VNC 服务器。

先决条件

要完成本教程,您将需要具有以下要求的服务器:

  • 全新的 Rocky Linux 服务器 – 您可以使用 Rocky Linux v8.5 或 v9。
  • 具有 root 或管理员权限的非 root 用户。
  • 服务器上启用了防火墙。

安装桌面环境

默认的 Rocky Linux 服务器安装没有 GUI。 要设置 VNC 服务器,您需要在 Rocky Linux 服务器上安装桌面环境。 对于 VNC Server,建议使用轻量级的桌面环境,它可以为您提供更高的性能和速度。

在 Rocky Linux 上,有多组提供桌面环境的软件包。 对于此示例,您将安装 XFCE 并将其配置为 Rocky Linux 系统上 VNC 服务器的桌面环境。

在开始安装软件包之前,请运行以下 dnf 命令将已安装的软件包升级到最新版本。

sudo dnf update

现在,通过下面的 dnf 命令将 EPEL 存储库添加到您的 Rocky Linux 系统。 输入 Y 以添加 EPEL 存储库,然后按 ENTER。

sudo dnf epel-release

接下来,您将通过 Rocky Linux 存储库提供的组包“Xfce”安装桌面环境 XFCE。 此外,您将安装包含 Xorg 包的组包“base-x”。

sudo dnf groupinstall "Xfce" "base-x"

在提示确认安装时输入 Y,然后按 ENTER 继续。

安装 XFCE 桌面和 base-x 后,通过下面的 systemctl 命令启用图形环境。 这将在服务器启动时启用图形环境。

sudo systemctl set-default graphical

启用图形

添加 VNC 用户

为安全起见,建议使用非 root 用户运行 VNC 服务器。 您应该创建将运行 VNC 服务器的专用用户。 如果您的用户需要 sudo 权限,您可以将您的用户添加到组“wheel”组。

运行以下命令以创建新用户。 然后,为用户设置密码。 在本例中,您将创建一个新用户“jane”,并确保使用强密码。

sudo useradd -m -s /bin/bash jane
sudo passwd jane

创建新用户后,运行以下命令将新用户添加到“wheel”组。 这允许新用户执行 sudo 命令并获得 root 权限。

sudo usermod -aG wheel jane

安装 XFCE 桌面环境并创建 VNC 用户后,接下来您将开始 TigerVNC 安装和配置。

设置用户

安装 TigerVNC 服务器

要设置 VNC 服务器,您必须安装 VNC 服务器软件。 在此示例中,您将安装和使用 Rocky Linux 存储库中默认提供的“TigerVNC 服务器”。

您还将生成 VNC 服务器配置,设置默认桌面环境,并将 VNC 用户添加到 TigerVNC 服务器用户列表。

运行下面的 dnf 命令,将“tigervnc-server”包安装到 Rocky Linux 系统。 在提示确认安装时输入 Y,然后按 ENTER 继续。Advertisement.banner-1{text-align:center;padding-top:10px!important;padding-bottom:10px!important;padding-left:0!important; padding-right:0!important;width:100%!important;box-sizing:border-box!important;background-color:#eee!important;outline:1px solid #dfdfdf;min-height:125px!important}

sudo dnf install tigervnc-server

安装tigervnc

安装完成后,接下来将为每个用户(VNC 用户)设置 VNC 服务器。

使用以下命令登录您的用户。

su - jane

现在,运行以下命令为用户“jane”初始化 VNC 服务器。 在初始化 VNC 服务器的过程中,系统会要求您为您的 VNC 服务器创建密码,因此请输入强密码并重复。 对于“仅查看密码”,输入“n”以禁用。

vncserver

此命令将生成位于“~/.vnc”的 VNC 服务器配置。 VNC 服务器配置包括 xstartup 脚本、桌面环境配置和 VNC 进程的日志。

此外,您可以看到新的 VNC 进程正在运行,其名称为“HOSTNAME:N” – 这表示系统主机名和桌面/显示器:N 的数量。

初始化vnc服务器

通过下面的 vncserver 命令验证 VNC 进程列表。 您应该看到显示“:1”的 VNC 进程正在运行。

vncserver -list

现在,您必须终止当前的 VNC 进程 “:1” 以设置 XFCE 桌面环境。 运行下面的 vncserver 命令以停止显示 “:1” 上的 VNC 进程。

vncserver -kill :1

一旦 VNC 进程终止,您应该得到诸如“Killing Xvnc process ID PID”之类的输出消息。

杀死vnc服务器进程

现在您已经生成了 VNC 服务器配置,使用 nano 编辑器打开文件“~/.vnc/config”。

nano ~/.vnc/config

更改默认配置如下。 在本例中,您将使用 XFCE 作为 VNC 服务器的默认桌面环境,当用户连接到 VNC 服务器时,默认显示屏幕为“1920×1200”。 VNC 服务器将仅在 localhost 上运行并启用共享桌面。

session=xfce
geometry=1920x1200
localhost
alwaysshared

完成后保存文件并退出编辑器。

配置vnc服务器

接下来,按“Ctrl+d”并返回到 root 用户会话。 然后,使用 nano 编辑器打开文件“/etc/tigervnc/vncserver.users”。

sudo nano /etc/tigervnc/vncserver.users

添加显示号码和 VNC 用户,如下配置。 在本例中,显示“:1”将用于为用户“jane”运行 VNC 服务器。

:1=jane

完成后保存文件并退出编辑器。

生成 VNC 服务器配置、配置默认桌面环境并将 VNC 用户添加到 TigerVNC 用户列表后,您现在可以启动 TigerVNC 服务器并将其作为服务运行。

启动 VNC 服务器

TigerVNC 服务器提供动态的 systemd 服务文件,这意味着每个显示器或用户都有自己的 systemd 服务。 在本例中,用户“jane”正在运行显示为“:1”的 VNC 服务器,因此服务文件将是“[email protected]:1.服务。

现在,每次添加新的 VNC 用户时,都必须重新加载 systemd 管理器以应用新的更改。 您可以通过 systemctl 命令重新加载 systemd 管理器,如下所示。

sudo systemctl daemon-reload

接下来,启动并启用“[email protected]:1.service” 用于显示 “:1” 使用以下 systemctl 命令。这将使 VNC 服务器进程显示 “:1” 在引导时自动运行。

sudo systemctl start [email protected]:1.service
sudo systemctl enable [email protected]:1.service

启动启用 vnc 服务器

最后,验证“[email protected]:1.service” 以确保服务正在运行。

sudo systemctl status [email protected]:1.service

如果“[email protected]:1.service” 正在运行,您应该会看到与以下屏幕截图类似的输出。

检查服务状态 vnc

至此,您已经通过 Rocky Linux 服务器上的“Tiger-VNC”完成了 VNC 服务器的安装和配置。 您还将 XFCE 配置为 VNC 服务器的默认桌面环境。 接下来,您将设置 Firewalld 以保护 VNC 服务器。

设置防火墙

在默认的 Rocky Linux 服务器上,安装并启用了 firewalld。 您将向 firewalld 添加一个新服务“vnc-server”。

通过下面的 firewall-cmd 命令将服务“vnc-server”添加到 firewalld。 然后,重新加载 firewalld 规则以应用新更改。

sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

最后,使用以下命令验证防火墙规则列表。 如果您在服务列表中看到“vnc-server”服务,则该服务规则已添加并启用。

sudo firewall-cmd --list-services

设置防火墙

通过安全 SSH 隧道连接到 VNC 服务器

要启动 SSH 隧道,请运行以下 ssh 命令。 在此示例中,您将创建到 VNC 服务器 IP 地址“192.168.5.100”的新隧道,用户“jane”在端口 TCP 端口“5901”上的 localhost,该端口与 VNC 服务器的端口相同。

ssh -L 5901:127.0.0.1:5901 -N -f -l jane 192.168.5.100

输入您的用户的密码。 连接后,您可以通过 localhost 使用端口 5901 连接到 VNC 服务器。

ssh 隧道

在本地计算机上打开 VNC 查看器。 在本例中,我们将使用“TigerVNC 查看器”。

在“VNC 服务器”地址上,输入主机为 localhost 或 127.0.0.1,端口为 5901。然后,单击“连接”继续。

登录到vnc服务器

现在,为您的用户输入 VNC 服务器密码,然后单击“确定”。

密码vnc服务器

如果连接成功,您将在以下屏幕截图中看到 XFCE 桌面。

您还可以打开终端并运行以下命令来验证您的用户。

id
whoami
sudo su

vnc 服务器 rocky linxu xfce

结论

在本指南中,您已经在 Rocky Linux 服务器上安装了带有 TigerVNC 的 VNC 服务器。 您还安装了 XFCE 并将其配置为 VNC 服务器的默认桌面环境。 最后,您学习了如何通过 SSH 隧道安全地连接到 VNC 服务器。

VNC 服务器的另一个考虑因素是您可以限制可以通过 Firewalld 访问 VNC 服务器端口的 IP 地址。 您还可以通过本地 VPN 服务器保护您的连接。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载
你可能还喜欢