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/

相关推荐
nhfc991 小时前
whisper.cpp编译
linux·运维·服务器
载数而行5201 小时前
Linux 8 进程(树)相关指令
linux
深圳恒讯1 小时前
越南服务器 ping 值多少?
运维·服务器
ShineWinsu1 小时前
对于Linux:内核是如何组织管理IPC资源的解析
linux·服务器·c++·面试·笔试·线程·ipc
caimouse2 小时前
Reactos 第 5 章 进程与线程 — 5.3 系统调用 NtCreateProcess()
服务器·开发语言
yuanjj882 小时前
域格ASR平台cat1模块FTP上传、下载
运维·网络
feng_you_ying_li2 小时前
Linux之线程同步:条件变量和两种生产消费模型
linux·运维·服务器
tianyuanwo2 小时前
OS运维智能化落地抉择:构建故障诊断AI Skill VS 沉淀领域知识库,谁是核心先手?
运维·人工智能·知识库·skill
Dlrb12112 小时前
Linux系统编程-线程与多线程模块的封装
linux·线程·互斥锁·线程同步·线程互斥