手机版
你好,游客 登录 注册
背景:
阅读新闻

如何在RHEL 8上安装VNC服务器

[日期:2019-07-17] 来源:Linux公社  作者:Linux [字体: ]

VNC(虚拟网络计算)是一种流行的图形桌面共享平台,允许您通过网络(如Internet)远程访问,查看和控制其他计算机。

VNC使用远程帧缓冲协议(RFB)并根据客户端 - 服务器原则工作:服务器共享其输出(vncserver),客户端(vncviewer)连接到服务器。 请注意,远程计算机必须安装了桌面环境。

在本文中,我们将介绍如何通过tigervnc-server程序在最新版本的RHEL 8 Desktop Edition中安装和配置VNC Remote Access。

要求:

  • RHEL8,安装最少
  • RHEL8,启用了RedHat订阅
  • RHEL8带有静态IP地址

一旦您的RHEL 8系统满足上面列出的要求,您就可以将其设置为VNC服务器。

第1步:禁用Wayland Display Manager并启用X.org

1. RHEL 8上的默认桌面环境(DE)是GNOME,默认情况下配置为使用Wayland显示管理器。 但是,Wayland不是像X.org那样的远程渲染API。 因此,您需要将系统配置为使用X.org显示管理器。

使用您喜欢的命令行编辑器打开GNOME Display Manager(GDM)配置文件。

# vi /etc/gdm/custom.conf

然后取消注释此行以强制登录屏幕使用Xorg。

WaylandEnable=false

在Gnome中禁用Wayland

保存文件并关闭它。

步骤2:在RHEL 8中安装VNC服务器

2. TigerVNC(Tiger Virtual Network Computing)是一个开源的,广泛使用的图形桌面共享系统,允许您远程控制其他计算机。

# dnf install tigervnc-server tigervnc-server-module

3.接下来,切换到要运行的用户,并通过设置用户的VNC服务器密码(应至少为六个字符)来使用VNC程序,如图所示。

# su - linuxidc
$ vncpasswd

设置用户VNC密码

现在,通过运行exit命令切换回root帐户。

$ exit

步骤3在RHEL 8中配置VNC服务器

4.在此步骤中,您必须配置TigerVNC服务器以在系统上为上述用户启动显示。 首先创建一个名为/etc/systemd/system/vncserver@.service的配置文件,如下所示。

# vi /etc/systemd/system/vncserver@.service

在其中添加以下配置(请记住将linuxidc替换为您的实际用户名)。

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
WorkingDirectory=/home/linuxidc
User=tecmint
Group=linuxidc

PIDFile=/home/linuxidc/.vnc/%H%i.pid

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

保存文件并关闭它。

在我们进一步移动之前,让我们简要了解VNC服务器如何监听请求。 默认情况下,VNC使用TCP端口5900 + N,其中N是显示编号。 如果显示编号为1,则VNC服务器将在显示端口号5901上运行。这是从客户端连接到服务器时必须使用的端口。

步骤4:在RHEL 8中启用VNC服务

5.要启动VNC服务,您需要禁用在RHEL 8上默认执行模式的SELinux。

# setenforce 0
# sed -i 's/enforcing/disabled/g' /etc/selinux/config

6.现在重新加载systemd manager配置以应用最近的更改,然后启动VNC服务,使其在系统引导时自动启动,并使用以下systemctl命令检查它是否已启动并正在运行。

# systemctl daemon-reload
# systemctl start vncserver@:1
# systemctl status vncserver@:1
# systemctl enable vncserver@:1

7.此时,VNC服务已启动并运行,使用netstat命令验证VNC服务器是否正在侦听TCP端口5901。

# netstat -tlnp

检查VNC侦听端口

8.接下来,打开默认运行的系统防火墙服务中的端口5901,如图所示。 这允许从客户端访问VNC服务。

# firewall-cmd --permanent --add-port=5901/tcp
# firewall-cmd --reload

步骤5:通过VNC客户端连接到VNC服务器

9.现在是时候看看如何从客户端访问VNC服务器了。 默认情况下,VNC不是安全系统,这意味着您的连接根本没有加密。 但是您可以使用称为SSH隧道的技术保护从客户端到服务器的连接,如下所述。

请记住,您需要在服务器和客户端计算机之间配置无密码SSH身份验证,以增加两个Linux系统之间的信任。

然后在Linux客户端计算机上打开终端窗口并运行以下命令创建到VNC服务器的SSH隧道(不要忘记更改身份文件(~/.ssh/rhel8)和IP地址(192.168.56.110)的路径的相应服务器):

$ ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110

10.创建SSH隧道后,您可以在客户端计算机上安装vncviewer客户端,例如TigerVNC Viewer。

$ sudo apt install tigervnc-viewer        #Ubuntu/Debian
# yum install tigervnc-viewer              #CnetOS/RHEL
# yum install tigervnc-viewer              #Fedora 22+
$ sudo zypper install tigervnc-viewer      #OpenSUSE
# pacman -S tigervnc                      #Arch Linux

11.安装完成后,运行VNC客户端,指定地址localhost:5901以连接到显示1,如下所示。

$ vncviewer localhost:5901
或者
$ vncviewer 127.0.0.1:5901

或者,从系统菜单中搜索并打开VNC客户端程序,然后输入上面的地址,然后单击“连接 Connect”,如以下屏幕截图所示。

打开VNC客户端

 如果连接成功,系统将提示您输入先前在步骤2,第3点中创建的VNC登录密码。提供该密码并单击“确定”继续。

输入VNC登录密码

成功进行VNC服务器身份验证后,您将看到远程RHEL 8系统桌面界面。 单击Enter访问登录界面并提供密码以访问桌面。

通过VNC客户端访问RHEL 8桌面

在本文中,我们展示了如何在RHEL 8上安装和配置VNC服务器。像往常一样,您可以通过下面的反馈表单提问。

CentOS 7.2搭建VNC远程桌面服务  https://www.linuxidc.com/Linux/2018-02/151091.htm
CentOS Linux 7.4下VNC安装配置 https://www.linuxidc.com/Linux/2018-06/152771.htm
CentOS7.1安装VNC,让Win7远程桌面Linux  http://www.linuxidc.com/Linux/2017-05/143346.htm
CentOS 7 安装配置 VNC 详解  http://www.linuxidc.com/Linux/2017-05/143324.htm
Ubuntu下安装配置VNC远程工具  http://www.linuxidc.com/Linux/2017-03/141936.htm

Ubuntu 18.04 安装 Xfce桌面和VNC的方法  https://www.linuxidc.com/Linux/2018-08/153435.htm

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-07/159415.htm

linux
相关资讯       VNC  RHEL 8安装VNC 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款