环境: Centos7

windows连接:下载VNC Viewer 

目录

VNC概述

VNC原理

一、检查是否安装过VNC

二、安装图形化界面

三、安装和配置VNC服务

四: 启动VNC及常用命令

五: VNC windos连接工具连接

VNC概述

  VNC (Virtual Network Computing)是虚拟网络计算机的缩写。VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 或 MAC 中的任何远程控制软件媲美。在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下只需要其中的两个命令:vncserver 和 vncviewer。目前,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现, 像是RealVNC, VNC tight 和UltraVNC。 Real VNC 是当前最活跃和强大的主流应用。

  VNC一共有三个版本,TightVNC、RealVNC、UltraVNC,RealVNC旨在推进商业化,因此需要License;TightVNC旨在改善服务器和查看器之间的VNC压缩,但是该版本最大的缺点是不能远程复制粘贴,而RealVNC则可以(这里的复制粘贴指的是文本的复制粘贴,文件的复制粘贴各版本都不支持);最后是UltraVNC,它则结合了其他两个版本的优势。

VNC原理

VNC系统由客户端,服务端和一个协议组成。VNC的服务端目的是分享其所运行机器的屏幕, 服务端被动的允许客户端控制它。 VNC客户端(或Viewer) 观察控制服务端,与服务端交互。 VNC 协议 Protocol (RFB)是一个简单的协议,传送服务端的原始图像到客户端(一个X,Y 位置上的正方形的点阵数据), 客户端传送事件消息到服务端。

服务器发送小方块的帧缓存给客户端,在最简单的情况,VNC协议使用大量的带宽,因此各种各样的方法被发明出来减少通讯的开支,举例来说,有各种各样的编码方法来决定最有效率的方法来传送这些点阵方块)

协议允许客户端和服务端去协议哪种编码会被使用,最简单的编码,被大多数客户端和服务端所支持的是, 从左到右的像素扫描数据的原始编码, 当原始的满屏被发送后,只发送变化的方块区域。这种编码在幁间只有小部分屏幕变化的情况下工作的非常好(像是鼠标键在桌面移动的情况,或在光标处敲击文字),不过如果大量的像素同时变化带宽将会增加的非常高,像是拖动一个窗口或观看全屏录像。

VNC默认使用TCP端口5900至5906,而JAVA的VNC客户端使用5800至5806。一个服务端可以在5500口用“监听模式”连接一个客户端,使用监听模式的一个好处是服务端不需要设置防火墙。

UNIX上的VNC称为xvnc,同时扮演两种角色,对X窗口系统的应用程序来说它是X server,对于VNC客户端来说它是VNC服务器程序。

一、检查是否安装过VNC

[root@testzt ~]# rpm -q tigervnc tigervnc-server

[root@testzt ~]# rpm -q tigervnc tigervnc-server
未安装软件包 tigervnc 
未安装软件包 tigervnc-server 
[root@testzt ~]#

二、安装图形化界面

首先查看可用的软件组

[root@testzt ~]# rpm -q tigervnc tigervnc-server

centos7图形化界面分区 centos7图形化界面安装教程_ubuntu

安装时间可能比较久

[root@testzt ~]# yum groupinstall -y "Server with GUI"

centos7图形化界面分区 centos7图形化界面安装教程_运维_02

 这样就是安装完毕。

三、安装和配置VNC服务

1:用root用户安装VNC服务。

[root@testzt ~]# yum install tigervnc-server

2: 关闭防火墙

[root@testzt ~]# systemctl stop firewalld.service

3: 从VNC备份库中复制service文件到系统service服务管理目录下

[root@testzt ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

4: 修改配置文件

[root@testzt ~]# vim /etc/systemd/system/vncserver@:1.service

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

[Service]
Type=forking
User=root
ExecStart=/usr/bin/vncserver :1 -geometry 1280x1024 -depth 16 -securitytypes=none -fp /usr/share/X11/fonts/misc
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

centos7图形化界面分区 centos7图形化界面安装教程_centos7图形化界面分区_03

5:使配置文件生效

[root@testzt ~]# systemctl enable vncserver@:1.service

6:启用配置文件

[root@testzt ~]# systemctl enable vncserver@:1.service

7: 设置登陆密码, Would you like to enter a view-only password (y/n)? 选项可以选N

[root@testzt ~]# vncpasswd

四: 启动VNC及常用命令

//启动VNC

[root@testzt ~]# systemctl start vncserver@:1.service

//重启VNC

[root@testzt ~]# systemctl restart vncserver@:1.service

//查看VNC状态

[root@testzt ~]# systemctl status vncserver@:1.service

centos7图形化界面分区 centos7图形化界面安装教程_centos7图形化界面分区_04

//查看端口是否被监听

[root@testzt ~]# netstat -lnt | grep 590*

//查看报错日志

[root@testzt ~]# grep vnc /var/log/messages

五: VNC windos连接工具连接

VNC Server: IP:5901 

5901是默认端口

centos7图形化界面分区 centos7图形化界面安装教程_运维_05

 

centos7图形化界面分区 centos7图形化界面安装教程_运维_06