分步教程:在RHEL 8 Linux中配置vnc服务器

时间:2020-01-09 10:37:48  来源:igfitidea点击:

在本文中,我将分享在RHEL 8 Linux中配置vnc服务器的分步指南。

Xvnc是X VNC(虚拟网络计算)服务器。

它基于标准的X服务器,但是具有"虚拟"屏幕,而不是物理屏幕。
X应用程序像在普通X显示器上一样在其上显示自己,但是只能通过VNC查看器对其进行访问。
因此,Xvnc实际上是两个服务器合而为一。
对于应用程序,它是X服务器;对于远程VNC用户,它是VNC服务器。
按照约定,我们已安排VNC服务器显示编号与X服务器显示编号相同,这意味着我们可以使用例如。
" snoopy:2"在X世界和VNC世界中都引用机器" snoopy"上的显示2.

在RHEL 8中配置VNC服务器

在RHEL 8 Linux中配置VNC服务器的第一步是安装tigervnc-serverrpm

说明:

在RHEL系统上,我们必须具有RHN的有效订阅,或者我们可以配置本地脱机存储库,通过该本地脱机存储库,yum软件包管理器可以安装提供的rpm及其依赖项。

[root@rhel8-gui ~]# yum search tigervnc
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
============================================== Name & Summary Matched: tigervnc ===============================================
tigervnc-server.x86_64 : A TigerVNC server
tigervnc-license.noarch : License of TigerVNC suite
tigervnc-server-minimal.x86_64 : A minimal installation of TigerVNC server

现在要在RHEL 8中安装vnc服务器,请执行以下命令。
这将安装tigervnc-server和任何必需的依赖项rpm

[root@rhel8-gui ~]# yum install tigervnc-server

在根主目录下创建以下目录结构

[root@rhel8-gui ~]# mkdir -p ~/.config/systemd/user

接下来将" /usr/lib/systemd/user/[email protected]"复制到"~/.config/systemd/user /"下的根用户的主目录。

[root@rhel8-gui ~]# cp /usr/lib/systemd/user/[email protected] ~/.config/systemd/user/
[root@rhel8-gui user]# ls -l
total 8
drwxr-xr-x. 2 root root 4096 Sep 14 19:55 default.target.wants
-rw-r--r--. 1 root root 1853 Sep 11 11:34 [email protected]

现在我们必须重新加载systemd守护进程以刷新systemd配置

[root@rhel8-gui ~]# systemctl --user daemon-reload

为root用户设置vncpasswd

[root@rhel8-gui ~]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

由于我们不需要查看密码,因此我按了n

现在,我们已经完成了在RHEL 8中配置vnc服务器的步骤。
因此,让我们启动vncserver服务

[root@rhel8-gui ~]# systemctl --user enable vncserver@:2.service --now
Created symlink /root/.config/systemd/user/default.target.wants/vncserver@:2.service → /root/.config/systemd/user/[email protected].

其中我们使用:2作为vncserver的显示ID

另请阅读:

确保不使用显示号码0或者1. 我们可以使用2到99之间的用户号码。

检查vncserver服务是否已成功启动

[root@rhel8-gui ~]# systemctl --user status vncserver@:2.service
● vncserver@:2.service - Remote desktop service (VNC)
   Loaded: loaded (/root/.config/systemd/user/[email protected]; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-09-14 19:48:21 IST; 29min ago
    Tasks: 222 (limit: 25023)
   Memory: 420.0M
   CGroup: /user.slice/user-0.slice/[email protected]/vncserver.slice/vncserver@:2.service
           ├─2537 /usr/bin/Xvnc :2 -auth /root/.Xauthority -desktop rhel8-gui.example:2 (root) -fp catalogue:/etc/X11/fontpath>
           ├─2545 /bin/sh /root/.vnc/xstartup
           ├─2546 /usr/libexec/gnome-session-binary
           ├─2555 dbus-launch --sh-syntax --exit-with-session
           ├─2556 /usr/bin/dbus-daemon --syslog --fork --print-pid 7 --print-address 9 --session
           ├─2567 /usr/bin/ssh-agent /etc/X11/xinit/Xclients
           ├─2580 /usr/libexec/at-spi-bus-launcher
           ├─2585 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
           ├─2590 /usr/libexec/at-spi2-registryd --use-gnome-session
           ├─2591 /usr/libexec/gvfsd
           ├─2598 /usr/libexec/gvfsd-fuse /run/user/0/gvfs -f -o big_writes
           ├─2621 /usr/bin/gnome-keyring-daemon --start --components=pkcs11
           ├─2633 /usr/bin/gnome-shell
           ├─2646 ibus-daemon --xim --panel disable
           ├─2651 /usr/libexec/ibus-dconf
           ├─2652 /usr/libexec/xdg-permission-store
<Output trimmed>

检查启动后是否启用了服务

[root@rhel8-gui ~]# systemctl --user is-enabled vncserver@:2.service
enabled

启用用户徘徊。
如果为特定用户启用,则会在引导时为该用户生成一个用户管理器,并在注销后保留该用户管理器。
这允许未登录的用户运行长期运行的服务。

[root@rhel8-gui ~]# loginctl enable-linger

另请阅读:

在本文中,我禁用了firewalld和selinux服务。
我们可以选择启用它们,但添加必需的规则以允许vncserver服务。
启用防火墙服务

# firewall-cmd --permanent --zone=public --add-port=5950/tcp
# firewall-cmd --permanent --zone=public --add-port=5951/tcp
# firewall-cmd --permanent --zone=public --add-port=5952/tcp
# firewall-cmd --reload

我们已经完成了在RHEL 8中配置vnc服务器的步骤。
现在,我们可以尝试使用vnc查看器连接到RHEL 8服务器。

我正在使用Windows笔记本电脑上安装的vnc查看器连接到vnc服务器。
如我们所见,我现在可以使用显示ID:2连接到我的vnc服务器