简介

VNC (Virtual Network Console),即 虚拟网络控制台。它是一款优秀的远程控制工具软件,而且是基于 UNIX 和 Linux 操作系统的免费开源的。

1、优点
远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美

2、VNC基本上是由两部分组成

  • 一部分是客户端的应用程序(vncviewer);
  • 另外一部分是服务器端的应用程序(vncserver);

3、特点

  • 同样可以远程连入UNIX、Linux进行图形化操作的还有流行的Xmanager,VNC与之相比——两者工作原理不一样;
  • VNC 是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行;
  • Xmanager 是通过端口将主机服务器的UI界面引导到本地电脑进行展现,如操作过程出现“本地电脑与操作主机网络断开”,操作将中断失败!如果操作中进行的工作任务非常重要,不能中断,如ORACLE RAC实施,结果是灾难性的;
  • 更重要的是,VNC是免费的、开源的,Xmanager收费的;

4、工作流程

  • (1)在服务器端启动 VNC Server。
  • (2)VNC客户端通过浏览器或 VNC Viewer 连接至VNC Server;
  • (3)VNC Server传送一对话窗口至客户端,要求输入连接密码, 以及存取的VNC Server显示装置。
  • (4)在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。
  • (5)若是客户端通过 VNC Server 的验证,客户端即要求VNC Server显示桌面环境。
  • (6)VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。
  • (7)VNC Server将来由 X Server 的桌面环境利用VNC通信协议送至客户端, 并且允许客户端控制VNC Server的桌面环境及输入装置。

安装

环境信息

  • 系统:CentOS Linux release 7.7.1908 (Core)
  • VNC RPM ( rpm -qa | grep vnc ):
    • tigervnc-icons-1.8.0-19.el7.noarch
    • tigervnc-server-1.8.0-19.el7.x86_64
    • gtk-vnc2-0.7.0-3.el7.x86_64
    • tigervnc-license-1.8.0-19.el7.noarch
    • gvnc-0.7.0-3.el7.x86_64
    • tigervnc-server-minimal-1.8.0-19.el7.x86_64
    • tigervnc-1.8.0-19.el7.x86_64

VNC 服务端安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 检查服务器是否安装了 VNC
rpm -qa | grep vnc

# 安装VNC
yum install tigervnc tigervnc-server -y

# 查看VNC Server模板配置文件
cat /lib/systemd/system/vncserver@.service

# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Replace <USER> with the actual user name and edit vncserver
# parameters in the wrapper script located in /usr/bin/vncserver_wrapper
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`
#
# <USER> 配置登录远程桌面的用户名
# <display> 配置登录远程桌面的端口
# VNC 的默认监听端口是 5900,监听端口规则为590+usernumber【如 1:root对应端口号5901】

# cp vnc config
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

# update config
sed -i 's/<USER>/root/' /etc/systemd/system/vncserver@.service

# set vnc password
vncpasswd

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

# check port
netstat -lantu | grep 5901

VNC 客户端安装

下载地址:https://www.realvnc.com/en/connect/download/viewer/

VNC address:<ip>:<port>

参考文档