Linux之VNC工具安装及远程连接过程

 更新时间:2025年12月18日 14:41:34   作者:江湖有缘  
本文介绍了VNC的原理、常见工具以及如何在CentOS 7.6环境下安装和配置VNC服务器,并通过本地VNC客户端远程连接Linux桌面环境

一、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地址操作系统版本内核版本
jeven192.168.3.166centos 7.63.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桌面了。





总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache ECharts介绍

    Apache ECharts介绍

    Apache ECharts 是一款基于 JavaScript 的数据可视化图表库,提供直观、生动、可交互、可个性化定制的数据可视化图表,本文给大家分享Apache ECharts简介,感兴趣的朋友一起看看吧
    2023-11-11
  • windows 10 + vwware+centos 6.5虚拟机系统安装Tomcat

    windows 10 + vwware+centos 6.5虚拟机系统安装Tomcat

    这篇文章主要介绍了windows 10 + vwware+centos 6.5虚拟机系统安装Tomcat的相关资料,需要的朋友可以参考下
    2017-01-01
  • Ubuntu下安装和卸载软件的方法分享

    Ubuntu下安装和卸载软件的方法分享

    这篇文章主要介绍了Ubuntu下安装和卸载软件的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友下面来一起看看吧。
    2017-03-03
  • Linux服务器部署JavaWeb项目完整教程

    Linux服务器部署JavaWeb项目完整教程

    这篇文章主要介绍了Linux服务器部署JavaWeb项目完整教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • linux下多个硬盘划分到同一挂载点问题

    linux下多个硬盘划分到同一挂载点问题

    在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成逻辑卷组,接着,从逻辑卷组中划分出逻辑卷,并进行格式化和挂载
    2025-02-02
  • 开启Selinux遇到的坑及解决

    开启Selinux遇到的坑及解决

    这篇文章主要介绍了开启Selinux遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • linux时间同步实现方案

    linux时间同步实现方案

    Linux时间同步方案对比与选择,重点推荐chrony;适用于现代Linux系统与资源受限环境;同时介绍ntpd与ntpdate的适用场景与配置迁移建议;帮助读者选择最适合的时间同步工具
    2026-05-05
  • Linux中的LVS通用命令行详解

    Linux中的LVS通用命令行详解

    这篇文章主要介绍了Linux中的LVS通用命令行使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Ubuntu18.04下将 磁盘挂载在某目录下

    Ubuntu18.04下将 磁盘挂载在某目录下

    这篇文章主要介绍了Ubuntu18.04 下将磁盘挂载在某目录下,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Linux系统内存不足导致find命令失败的解决方案

    Linux系统内存不足导致find命令失败的解决方案

    在麒麟Linux Advanced Server V10环境下执行find / -name palddumper-debug.log命令时,系统返回了bash: fork: Cannot allocate memory错误,这表明系统在执行文件查找过程中遇到了内存分配问题,本文给大家介绍了详细的解决方法,需要的朋友可以参考下
    2025-07-07

最新评论