在 Centos 8 和 RHEL 8 系统中,默认未安装 VNC 服务器,它需要手动安装。在本文中,我们将通过简单的分步指南,介绍如何在 Centos 8 / RHEL 8 上安装 VNC 服务器。
-- Pradeep Kumar(作者)
VNC( 虚拟网络计算(Virtual Network Computing))服务器是基于 GUI 的桌面共享平台,它可让你访问远程桌面计算机。在 Centos 8 和 RHEL 8 系统中,默认未安装 VNC 服务器,它需要手动安装。在本文中,我们将通过简单的分步指南,介绍如何在 Centos 8 / RHEL 8 上安装 VNC 服务器。
在 Centos 8 / RHEL 8 上安装 VNC 服务器的先决要求
要在你的系统中安装 VNC 服务器,请确保你的系统满足以下要求:
CentOS 8 / RHEL 8GNOME 桌面环境root 用户权限DNF / YUM 软件包仓库
在 Centos 8 / RHEL 8 上安装 VNC 服务器的分步指导
步骤 1)安装 GNOME 桌面环境
在 CentOS 8 / RHEL 8 中安装 VNC 服务器之前,请确保已安装了桌面环境(DE)。如果已经安装了 GNOME 桌面或安装了 GUI 支持,那么可以跳过此步骤。
在 CentOS 8 / RHEL 8 中,GNOME 是默认的桌面环境。如果你的系统中没有它,请使用以下命令进行安装:
[root@linuxtechi ~]# dnf groupinstall "workstation"或者[root@linuxtechi ~]# dnf groupinstall "Server with GUI
成功安装上面的包后,请运行以下命令启用图形模式:
[root@linuxtechi ~]# systemctl set-default graphical
现在重启系统,进入 GNOME 登录页面(LCTT 译注:你可以通过切换运行态来进入图形界面)。
[root@linuxtechi ~]# reboot
重启后,请取消注释 /etc/gdm/custom.conf 中的 WaylandEnable=false,以使通过 vnc 进行的远程桌面会话请求由 GNOME 桌面的 xorg 处理,来代替 Wayland 显示管理器。
注意: Wayland 是 GNOME 中的默认显示管理器 (GDM),并且未配置用于处理 等远程渲染的 API。
步骤 2)安装 VNC 服务器(tigervnc-server)
接下来,我们将安装 VNC 服务器,有很多 VNC 服务器可以选择,出于安装目的,我们将安装 TigerVNC 服务器。它是最受欢迎的 VNC 服务器之一,并且高性能还独立于平台,它使用户可以轻松地与远程计算机进行交互。
现在,使用以下命令安装 TigerVNC 服务器:
[root@linuxtechi ~]# dnf install tigervnc-server tigervnc-server-module -y
步骤 3)为本地用户设置 VNC 密码
假设我们希望用户 pkumar 使用 VNC 进行远程桌面会话,然后切换到该用户并使用 vncpasswd 命令设置其密码,
[root@linuxtechi ~]# su - pkumar[root@linuxtechi ~]$ vncpasswdPassword:Verify:Would you like to enter a view-only password (y/n)? nA view-only password is not used[root@linuxtechi ~]$[root@linuxtechi ~]$ exitlogout[root@linuxtechi ~]#
步骤 4)设置 VNC 服务器配置文件
下一步是配置 VNC 服务器配置文件。创建含以下内容的 /etc/systemd/system/vncserver@.service,以便为上面的本地用户 pkumar 启动 tigervnc-server 的服务。
[root@linuxtechi ~]# vim /etc/systemd/system/vncserver@.service[Unit]Description=Remote Desktop VNC ServiceAfter=syslog.target network.target[Service]Type=forkingWorkingDirectory=/home/pkumarUser=pkumarGroup=pkumarExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/usr/bin/vncserver -autokill %iExecStop=/usr/bin/vncserver -kill %i[Install]WantedBy=multi-user.target
保存并退出文件,
注意:替换上面文件中的用户名为你自己的。
默认情况下,VNC 服务器在 tcp 端口 5900+n 上监听,其中 n 是显示端口号,如果显示端口号为 “1”,那么 VNC 服务器将在 TCP 端口 5901 上监听其请求。
步骤 5)启动 VNC 服务并允许防火墙中的端口
我将显示端口号设置为 1,因此请使用以下命令在显示端口号 “1” 上启动并启用 vnc 服务,
[root@linuxtechi ~]# systemctl daemon-reload[root@linuxtechi ~]# systemctl start vncserver@:1.service[root@linuxtechi ~]# systemctl enable vncserver@:1.serviceCreated symlink /etc/systemd/system/multi-user.target.wants/vncserver@:1.service → /etc/systemd/system/vncserver@.service.[root@linuxtechi ~]#
使用下面的 netstat 或 ss 命令来验证 VNC 服务器是否开始监听 5901 上的请求,
[root@linuxtechi ~]# netstat -tunlp | grep 5901tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 8169/Xvnctcp6 0 0 :::5901 :::* LISTEN 8169/Xvnc[root@linuxtechi ~]# ss -tunlp | grep -i 5901tcp LISTEN 0 5 0.0.0.0:5901 0.0.0.0:* users:(("Xvnc