概述
VNC(Virtual Network Computing,虚拟网络计算)是一种基于 RFB(Remote Frame Buffer,远程帧缓冲)协议的跨平台远程控制技术,允许用户通过网络在本地计算机上操作远程计算机的桌面环境,实现图形化的远程访问与控制。
VNC 核心原理
VNC 的工作模式分为服务端(VNC Server)和客户端(VNC Viewer)两部分:
本文介绍了 VNC 的原理、特点及主流工具,重点演示了在 Ubuntu 24.04 系统下安装配置 TigerVNC 服务端以实现图形化远程桌面的完整流程。步骤包括更新系统、安装桌面环境、配置 VNC 密码、设置启动脚本、配置 systemd 服务、处理 Wayland 兼容性问题以及客户端连接方法。通过 SSH 隧道或加密版本可提升安全性,适用于服务器管理、远程办公等场景。

VNC(Virtual Network Computing,虚拟网络计算)是一种基于 RFB(Remote Frame Buffer,远程帧缓冲)协议的跨平台远程控制技术,允许用户通过网络在本地计算机上操作远程计算机的桌面环境,实现图形化的远程访问与控制。
VNC 的工作模式分为服务端(VNC Server)和客户端(VNC Viewer)两部分:
| 工具名称 | 适用系统 | 核心优势 | 典型用途 |
|---|---|---|---|
| TightVNC | Windows/Linux | 高压缩比(适合低带宽)、支持文件传输 | 个人远程办公、设备管理 |
| RealVNC | 全平台(含移动端) | 商业版支持加密、云连接,稳定性强 | 企业级远程支持、跨设备控制 |
| x11vnc | Linux(X11 桌面) | 直接映射现有 X11 会话,无需新建桌面 | Linux 服务器本地桌面远程管理 |
| TigerVNC | Linux/Windows | 高性能、支持 OpenGL 硬件加速 | 对图形性能要求高的场景(如 3D 建模) |
| UltraVNC | Windows | 支持屏幕缩放、多人连接,免费开源 | 个人/小型团队远程协助 |
本示例以 Ubuntu 24.04 系统、TigerVNC 为例进行演示。
sudo apt update && sudo apt upgrade -y
如果是 Ubuntu 的最小化安装,需要进系统升级下载桌面环境,不然 VNC 无法获取到服务器的正常画面。
sudo apt install ubuntu-desktop -y
sudo apt install tigervnc-standalone-server tigervnc-common -y
输入两遍密码,当最后询问是否设置'只读密码'时,输入 n 即可。
vncpasswd
这一步很关键,决定了连接后显示的是灰色背景还是完整的 Ubuntu 桌面。这段脚本的作用是加载 Ubuntu 默认的 GNOME 桌面环境。
mkdir -p ~/.vnc
vim ~/.vnc/xstartup
编辑 ~/.vnc/xstartup 内容如下:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
编写完成后,将文档添加执行权限:
chmod +x ~/.vnc/xstartup
注意:文件名中的 @:1 代表显示编号为 1,对应端口为 5901。
vim /etc/systemd/system/vncserver@\:1.service
配置文件内容:
[Unit]
Description=TigerVNC Server for %i
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
Environment=HOME=/home/ubuntu
Environment="DISPLAY=:1"
ExecStartPre=-/usr/bin/vncserver -kill :1
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
保存退出后加载该配置:
systemctl daemon-reload
这个不安装会导致开启 VNC 服务报错。
apt update && apt install -y \
xfce4 xfce4-goodies \
xorg xserver-xorg-core \
lightdm dbus-x11 \
tigervnc-standalone-server tigervnc-common
安装完成后,配置 lightdm 为默认显示管理器(解决会话启动问题):
echo "lightdm shared/default-display-manager select lightdm" | debconf-set-selections
dpkg-reconfigure lightdm -f noninteractive
Ubuntu 24.04 默认使用 Wayland 显示服务器,但 Wayland 与 VNC 兼容性较差,会导致远程桌面无法正常显示,需强制使用 Xorg 显示服务器。
sudo vim /etc/gdm3/custom.conf
修改完成后,重启 GDM3:
sudo systemctl restart gdm3
取消该行前面的 # 号。
切换到实际使用用户进行接下来的操作。
su - ubuntu -c "vncserver :1 -geometry 1920x1080 -depth 24 -localhost no -xstartup /home/ubuntu/.vnc/xstartup"
sudo systemctl start vncserver@:1.service
sudo systemctl status vncserver@:1.service
安装完成后找到安装路径,点击打开工具。输入对应的系统 ifconfig 的 IP 加上端口号,输入 vncpasswd 设置的密码,即可登录。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online