一、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 本次实践介绍
- 本次实践部署环境为个人测试环境;
- 在centos7.6环境下,使用vnc工具,本地远程连接linux桌面环境。
三、检查本地环境
3.1 检查本地操作系统版本
检查本地操作系统版本
[root@jeven ~]# cat /etc/redhat-release centos linux release 7.6.1810 (core)
3.2 检查系统内核版本
检查系统内核版本
[root@jeven ~]# uname -r 3.10.0-957.el7.x86_64
3.3 检查本地yum仓库状态
- 配置阿里云的镜像源
curl -o /etc/yum.repos.d/centos-base.repo https://mirrors.aliyun.com/repo/centos-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/centos-base.repo
- 检查本地yum仓库状态
[root@jeven ~]# yum repolist all |grep enable !base/7/x86_64 centos-7 - base - mirrors.aliyun.com enabled: 10,072 !extras/7/x86_64 centos-7 - extras - mirrors.aliyun.com enabled: 515 !updates/7/x86_64 centos-7 - updates - mirrors.aliyun.com enabled: 4,996
四、安装vncserver
4.1 安装vncserver工具
- 下载 tigervnc-server的rpm包安装
wget https://mirrors.aliyun.com/centos/7/os/x86_64/packages/tigervnc-server-1.8.0-21.el7.x86_64.rpm
rpm -ivh tigervnc-server-1.8.0-21.el7.x86_64.rpm
- 直接使用yum安装vncserver
yum -y install tigervnc-server

4.2 启动vncserver服务
直接使用vncserver命令启动ncserver服务,设置vnc访问密码。
vncserver

4.3 查看vncserver相关文件
默认在/root/.vnc/目录下
[root@jeven ~]# ll /root/.vnc/ total 20 -rw-r--r-- 1 root root 332 jun 29 12:37 config -rw-r--r-- 1 root root 540 jun 29 12:37 jeven:1.log -rw-r--r-- 1 root root 6 jun 29 12:37 jeven:1.pid -rw------- 1 root root 8 jun 29 12:37 passwd -rwxr-xr-x 1 root root 540 jun 29 12:37 xstartup
4.4 查看vncserver命令
查看vncserver命令
[root@jeven ~]# vncserver --help
usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
[-geometry <width>x<height>]
[-pixelformat rgbnnn|bgrnnn]
[-fp <font-path>]
[-cc <visual>]
[-fg]
[-autokill]
[-noxstartup]
[-xstartup <file>]
[-fallbacktofreeport]
<xvnc-options>...
vncserver -kill <x-display>
vncserver -list
- 查看启动的server
[root@jeven ~]# vncserver -list tigervnc server sessions: x display # process id :1 53351
- 结束vncserver服务进程
[root@jeven ~]# vncserver -kill :1 killing xvnc process id 53351
4.5 查看vncserver监听端口
查看vncserver监听端口,vnc默认端口号是5900,开启第一个vnc进程就是访问5901端口,开启第二个就是5902,以此类推。
[root@jeven ~]# ss -tunlp |grep vnc
tcp listen 0 5 *:5901 *:* users:(("xvnc",pid=55624,fd=9))
tcp listen 0 128 *:6001 *:* users:(("xvnc",pid=55624,fd=6))
tcp listen 0 5 :::5901 :::* users:(("xvnc",pid=55624,fd=10))
tcp listen 0 128 :::6001 :::* users:(("xvnc",pid=55624,fd=5))
4.6 防火墙设置
- 放行防火墙
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桌面了。





总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论