如何在CentOS 7上安装和配置VNC服务器

时间:2020-03-05 15:32:24  来源:igfitidea点击:

VNC允许我们向服务器打开远程GUI会话,从而为我们提供从任何远程位置访问的完全图形界面。

VNC Server是一个免费的开源软件,它旨在允许通过VNC客户端(VNC查看器)远程访问服务器的桌面环境。

在本教程中,我们将学习什么是VNC以及如何在CentOS 7上安装或者配置VNC服务器。

VNC服务器的一些好处如下所示:

  • 远程GUI管理使工作简便方便。
  • 主机CentOS服务器和VNC-Client计算机之间的剪贴板共享。
  • GUI工具可以安装在主机CentOS服务器上,使管理员更强大
  • 主机CentOS服务器可以通过安装VNC-Client的任何操作系统管理。
  • 通过SSH图形和RDP连接更可靠。

首先,我们需要一个工作的桌面环境(X-Windows),如果我们没有工作GUI桌面环境(X Windows)运行,我们需要先安装它。

注意:下面的命令必须在root或者用户下运行sudo权限。

1.安装X-Windows

首先要安装X-Windows,我们需要在shell或者终端中执行下面的命令。
安装软件包需要几分钟。

$sudo yum check-update
$sudo yum groupinstall "X Window System"
$sudo yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
$sudo unlink /etc/systemd/system/default.target
$sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
$sudo reboot

我们的机器重新启动后,我们将获得一个工作的CentOS 7桌面。

2.在CentOS上安装VNC服务器包

现在,我们将在CentOS 7计算机中安装VNC服务器包。
要安装VNC服务器,我们需要执行以下命令以安装Tigervnc Server。

$sudo yum install tigervnc-server -y

3.配置VNC.

然后,我们需要在'/etc/systemd/system /'目录下创建一个配置文件。
我们可以从'/lib/systemd/system/vncserver@service'从示例文件复制'vncserver @:1.service'文件。

$sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

现在我们将在文本编辑器中打开'/etc/systemd/system/vncserver@:.service'。

然后在该文件中查找以下文本中的以下文本,并将"<user>"替换为用户名。

其中在我的情况下,它是onitoad,所以我用'onirad'替换'<用户>',看起来如下:

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

ExecStart=/sbin/runuser -l theitroad -c "/usr/bin/vncserver %i"
PIDFile=/home/theitroad/.vnc/%H%i.pid

如果我们为root用户创建:

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

现在,我们需要重新加载我们的系统。

$sudo systemctl daemon-reload

最后,我们将为用户创建VNC密码。
为此,首先,我们需要确保我们有权访问用户,这里我将登录用户"onitad",然后执行以下操作。
登录我们将在没有引用的情况下运行'su oniarad'。

# su theitroad
$sudo vncpasswd

确保输入超过6个字符的密码。

4.启用和启动服务

在启动时启用服务(永久)执行下面显示的命令。

$sudo systemctl enable vncserver@:1.service

然后,开始服务。

$sudo systemctl start vncserver@:1.service

5.允许防火墙

我们现在需要在防火墙中允许VNC服务。

$sudo firewall-cmd --permanent --add-service vnc-server
$sudo systemctl restart firewalld.service

现在,我们可以使用IP和端口(例如:IP地址:1)连接VNC服务器。

6.使用VNC客户端连接机器

最后,我们完成安装VNC服务器。
不,我们希望连接服务器计算机并远程访问它。
为此,我们将在我们的计算机中安装一个VNC客户端,只能使我们远程访问服务器计算机。

我们可以使用像MouteVNC查看器等VNC客户端和RealVNC查看器来连接服务器。

要与其他用户连接使用不同端口创建文件,请转到步骤3进行配置和添加新用户和端口,我们需要创建"VNCServer @:2.service"并替换配置文件中的用户名并继续通过替换不同端口的服务名称来执行步骤。
请确保我们以特定用户身份登录以创建VNC密码。

VNC本身在端口5900上运行。
由于每个用户都运行自己的VNC服务器,因此每个用户必须通过单独的端口连接。
在文件名中添加一个数字告诉VNC将该服务作为"5900"的子端口运行。
因此,在我们的情况下,'Aruns'VNC服务将在端口5901(5900 + 1)上运行,并进一步将在5900 + x上运行。
其中,x表示为其他用户创建配置文件'vncserver @:x.service'时指定的端口。

我们需要知道要与客户端连接的服务器的IP地址和端口。
IP地址是机器的唯一标识号。
其中我的IP地址为96.126.120.92和此用户的端口是1.我们可以通过在安装VNC服务器的机器的shell或者终端中执行以下命令来获取公共IP地址。

$sudo curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

如何卸载VNC服务器

我们可以使用yum命令轻松卸载VNC服务器。

运行以下命令以从CentOS服务器删除Tigervnc:

$sudo yum remove tigervnc-server

总结

最后,我们在运行CentOS 7/Rhel 7(Red Hat Enterprises Linux)的机器中安装和配置了VNC服务器。
VNC是最远程访问的最简单的theitroad工具,也是TeamViewer远程访问工具的替代方案。
VNC允许安装VNC客户端的用户以安装VNC服务器的计算机。

以下是使用VNC使用可能有用的命令。

$sudo systemctl stop vncserver@:1.service

要从启动中禁用VNC服务:

$sudo systemctl disable vncserver@:1.service