Linux 远程桌面访问和管理——VNC服务器

1.VNC简介

VNC 的全称是 Virtual Network Computing(虚拟网络计算)。它是一款开源的、跨平台的远程桌面协议及软件实现,核心作用是让你用一台设备上的键盘鼠标,通过网络去操作另一台设备的图形界面,就像坐在那台设备前一样。

VNC 系统由两个角色构成,它们协同工作:

VNC 服务器 (Server): 安装在被控制的远程计算机上。

核心任务:持续"抓取"自己当前的屏幕画面,将图像数据压缩后发送给客户端;同时接收来自客户端的键盘、鼠标操作指令,并将其注入到操作系统中执行。

关键属性:每个服务器的桌面都有一个编号(例如 :1),并监听一个对应的网络端口(5900 + 桌面号,如 :1 对应 5901 端口)。

VNC 客户端 (Viewer): 安装在用于控制的本地设备上。

核心任务:向服务器发起连接,接收传来的压缩图像数据,解压后在自己的窗口中显示;同时捕捉用户的键盘、鼠标操作,发送给服务器。

关键操作:你只需要在客户端中输入 服务器IP:端口号(如 192.168.1.10:5901)即可发起连接。

以centos7虚拟机为例,在centos虚拟机(net模式)中安装VNC服务器。

2. 环境准备:解决 CentOS 7 源失效问题

CentOS 7 已于 2024 年 6 月 30 日结束生命周期(EOL),官方源 mirrorlist.centos.org 已不可用。如果不换源,yum install 会直接报错。所以更换为阿里云(或网易、清华)的 Vault 镜像源。阿里云的源通常速度较快且稳定。

bash 复制代码
su root

# 1. 备份原有的源(虽然它已经不能用了,但这是个好习惯)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 2. 下载阿里云的 CentOS 7 专用源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 3. 生成缓存(这一步会列出阿里云的软件列表,如果报错说明网络不通或源地址写错)
yum makecache

3. 安装与初始化 VNC Server

在确认源可用后,就可以安装 TigerVNC 并设置访问密码了。TigerVNC 是目前 CentOS 下主流且维护较好的 VNC 实现。

bash 复制代码
# 安装 VNC 服务端
yum install -y tigervnc-server

# 设置 VNC 密码(注意:密码最大长度为 8 位,超出部分会被自动截断)
vncpasswd

系统会提示你输入两次密码,并询问是否设置一个只读密码(view-only password),通常输入 n 跳过即可。

4. 启动 VNC 并验证端口

启动 VNC 时可以通过参数指定分辨率和桌面号。虚拟桌面的配置文件(如壁纸、终端设置)会保存在当前用户的家目录下的 .vnc 文件夹中。

bash 复制代码
# 启动桌面号 :1,并设置分辨率为 1280x720(可以根据你的显示器需求调整)
vncserver :1 -geometry 1280x720

# 查看当前正在运行的 VNC 桌面
vncserver -list

如果你看到 :1 对应的 PROCESS ID,说明服务已经成功启动。此时,该桌面占用的端口就是 5901。

5. 防火墙配置(宿主机连接的关键)

如果你的虚拟机开启了防火墙(CentOS 7 默认开启),仅启动 VNC 是不够的,外部流量会被直接丢弃。必须显式放行对应端口。

bash 复制代码
# 开放 5901 端口(对应桌面号 :1)
firewall-cmd --permanent --add-port=5901/tcp

# 重载防火墙规则使其生效
firewall-cmd --reload

# (可选)验证端口是否已开放
firewall-cmd --list-ports

6. 宿主机(物理机)连接

获取虚拟机 IP: 在 CentOS 虚拟机中运行 ip addr 或 ifconfig,查看 ens33 或 eth0 接口的 IP 地址(通常为 192.168.x.x)。

打开 VNC Viewer:

RealVNC 或 TigerVNC 均可。

地址格式:虚拟机IP:桌面号 或 虚拟机IP:端口号。

示例:如果虚拟机 IP 是 192.168.1.100,在 Viewer 中输入 192.168.1.100:1 或 192.168.1.100:5901。

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

相关推荐
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维