@TOC
一、VNC介绍
1.1 VNC简介
VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,可以实现远程控制计算机的功能。
1.2 VNC组成
VNC基本上是由两部分组成,在任何安装了客户端的应用程序(vncviewer)的计算机都能十分方便地与安装了服务器端的应用程序(vncserver)的计算机相互连接。
- 客户端的应用程序vncviewer
- 服务器端的应用程序vncserver
1.3 常见的VNC工具
- RealVNC:是一款功能强大的VNC工具,支持多种操作系统,包括Windows、Linux、Mac OS X等,具有高安全性和可靠性。 
- UltraVNC:是一款免费的VNC客户端和服务器软件,支持Windows操作系统,提供了远程桌面、文件传输、文本聊天等功能。 
- TightVNC:是一个小巧而强大的VNC工具,支持Windows、Linux以及Unix等多种操作系统,具有较高的安全性和性能。 
- TigerVNC:是一个开源的VNC工具,支持Windows、Linux以及Mac OS X等多种操作系统,具有稳定性和高性能。 
- TeamViewer:是一款针对远程支持、远程控制和在线协作的应用软件,可以实现桌面共享、远程协助、文件传输等功能。 
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,服务器操作系统版本为centos7.6。
| hostname | 本地IP地址 | 操作系统版本 | 内核版本 | 
|---|---|---|---|
| jeven | 192.168.3.166 | centos 7.6 | 3.10.0-957.el7.x86_64 | 
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境; 2.在centos7.6环境下,使用VNC工具,本地远程连接Linux桌面环境。 3.将vncserver设置成service服务,保证开机自动启动。
三、安装vncserver
3.1 安装vncserver
直接使用yum安装vncserver
yum -y install tigervnc-server3.2 检查vncserver安装状态
检查vncserver安装状态
[root@jeven ~]# rpm -qa |grep tigervnc-server
tigervnc-server-minimal-1.8.0-13.el7.x86_64
tigervnc-server-1.8.0-25.el7_9.x86_64四、配置VNC密码
4.1 创建用户
- 创建admin用户
useradd admin- 设置admin密码
 passwd admin
4.2 切换admin用户
切换admin用户
[root@jeven ~]# su - admin
[admin@jeven ~]$ 4.3 设置VNC密码
使用 vncpasswd来设置VNC连接密码
vncpasswd
五、配置vncserver服务
5.1 复制vncserver的服务配置文件
将/lib/systemd/system/vncserver@.service文件进行复制,文件名为vncserver@:1.service, VNC的连接端口号为5901,如果是vncserver@:2.service,那么对应启动的端口就是 5902。以此类推。
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service5.2 修改配置文件
修改vncserver@:1.service文件,只需要修改图中黄色框内的 用户名为刚才设置的用户即可。
vim /etc/systemd/system/vncserver@:1.service
5.3 启动vncserver服务
- 启动ncserver服务
 systemctl start vncserver@:1.service- 查看vncserver服务状态
[root@jeven ~]# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-06-29 23:49:43 CST; 5s ago
  Process: 22083 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 22087 (vncserver_wrapp)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ├─22087 /bin/sh /usr/bin/vncserver_wrapper admin :1
           └─22939 sleep 0.1
Jun 29 23:49:43 jeven systemd[1]: Starting Remote desktop service (VNC)...
Jun 29 23:49:43 jeven systemd[1]: Started Remote desktop service (VNC).
Jun 29 23:49:43 jeven vncserver_wrapper[22087]: xauth:  file /home/admin/.Xauthority does not exist
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: New 'jeven:1 (admin)' desktop is jeven:1
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Creating default startup script /home/admin/.vnc/xstartup
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Creating default config /home/admin/.vnc/config
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Starting applications specified in /home/admin/.vnc/xstartup
Jun 29 23:49:46 jeven vncserver_wrapper[22087]: Log file is /home/admin/.vnc/jeven:1.log
[root@jeven ~]# 
- 设置vncserver服务开机自启
[root@jeven ~]# systemctl enable vncserver@:1.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.5.4 查看服务监听端口
查看vncserver监听端口
[root@jeven ~]# ss -tunlp |grep vnc
tcp    LISTEN     0      5         *:5901                  *:*                   users:(("Xvnc",pid=22117,fd=9))
tcp    LISTEN     0      128       *:6001                  *:*                   users:(("Xvnc",pid=22117,fd=6))
tcp    LISTEN     0      5        :::5901                 :::*                   users:(("Xvnc",pid=22117,fd=10))
tcp    LISTEN     0      128      :::6001                 :::*                   users:(("Xvnc",pid=22117,fd=5))
5.5 防火墙设置
- 放行防火墙
firewall-cmd --add-port=5901/tcp --permanent    #放行5901端口
firewall-cmd --reload    #重新加载生效- 如果在测试环境,可直接关闭防火墙
systemctl stop firewalld && systemctl disable  firewalld- 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0六、VNC客户端连接Linux
下载VNC客户端,填写VNC Server的地址:192.168.3.166:5901 输入设置的VNC密码,即可远程连接Linux桌面了。
 
 
 
 


 
  
  
 

