跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Ubuntu 24.04 系统安装 TigerVNC 远程桌面

VNC 的原理、特点及主流工具,重点演示了在 Ubuntu 24.04 系统下安装配置 TigerVNC 服务端以实现图形化远程桌面的完整流程。步骤包括更新系统、安装桌面环境、配置 VNC 密码、设置启动脚本、配置 systemd 服务、处理 Wayland 兼容性问题以及客户端连接方法。通过 SSH 隧道或加密版本可提升安全性,适用于服务器管理、远程办公等场景。

修罗发布于 2026/3/26更新于 2026/7/2349 浏览
Ubuntu 24.04 系统安装 TigerVNC 远程桌面

概述

VNC(Virtual Network Computing,虚拟网络计算)是一种基于 RFB(Remote Frame Buffer,远程帧缓冲)协议的跨平台远程控制技术,允许用户通过网络在本地计算机上操作远程计算机的桌面环境,实现图形化的远程访问与控制。

VNC 核心原理

VNC 的工作模式分为服务端(VNC Server)和客户端(VNC Viewer)两部分:

  1. 服务端:安装在被远程控制的计算机上,负责捕获本地桌面的帧缓冲数据,将画面编码后通过 RFB 协议发送给客户端,并接收客户端的输入指令(鼠标、键盘操作)执行。
  2. 客户端:安装在控制端计算机上,负责接收服务端传输的桌面画面并显示,同时将用户的输入指令转发给服务端。
  3. RFB 协议:VNC 的底层通信协议,采用'客户端请求 - 服务端响应'模式,支持多种图像编码方式(如 RAW、ZRLE、Tight 等),可根据网络带宽自适应调整画质,保证不同网络环境下的可用性。

VNC 关键特点

  1. 跨平台性:VNC 服务端和客户端支持 Windows、Linux(包括 Ubuntu、CentOS 等发行版)、macOS、甚至嵌入式系统(如树莓派),不同系统间可互相远程控制。
  2. 轻量化:VNC 服务端占用系统资源少,无需高性能硬件支持,适合对低配设备的远程管理。
  3. 灵活性:支持多种连接方式(直连、通过 VNC 中继器/网关间接连接),可配置访问密码、端口号,部分版本还支持加密传输(如通过 SSH 隧道或 TLS 加密)。
  4. 开源性:主流 VNC 实现(如 RealVNC 的免费版、TightVNC、UltraVNC、x11vnc)多为开源或免费,可自由定制和扩展。

主流 VNC 实现工具

工具名称适用系统核心优势典型用途
TightVNCWindows/Linux高压缩比(适合低带宽)、支持文件传输个人远程办公、设备管理
RealVNC全平台(含移动端)商业版支持加密、云连接,稳定性强企业级远程支持、跨设备控制
x11vncLinux(X11 桌面)直接映射现有 X11 会话,无需新建桌面Linux 服务器本地桌面远程管理
TigerVNCLinux/Windows高性能、支持 OpenGL 硬件加速对图形性能要求高的场景(如 3D 建模)
UltraVNCWindows支持屏幕缩放、多人连接,免费开源个人/小型团队远程协助

VNC 典型应用场景

  1. 服务器远程管理:Linux 服务器通常无物理显示器,通过 VNC 可图形化配置系统、安装软件(替代纯命令行操作)。
  2. 远程办公/协助:在家访问公司电脑、帮助他人排查电脑故障(无需物理到场)。
  3. 嵌入式设备控制:树莓派、工业控制设备等无桌面的设备,通过 VNC 实现可视化操作。
  4. 多设备统一管理:企业 IT 管理员通过 VNC 批量管理多台终端设备,提高运维效率。

VNC 局限性与注意事项

  1. 安全性:原生 VNC 传输未加密(明文),易被监听,建议通过 SSH 隧道、VPN 或使用支持 TLS 加密的版本。
  2. 网络依赖性:低带宽下画质会下降、操作延迟增加,需根据网络情况调整编码方式。
  • 分辨率适配:部分 VNC 工具对不同分辨率屏幕的适配性较差,可能出现画面拉伸或显示不全。
  • 权限管理:需确保服务端配置严格的访问权限(如强密码、指定允许连接的 IP),避免未授权访问。
  • VNC 与其他远程控制技术的区别

    • 与 RDP 对比:RDP 是 Windows 原生协议,性能更高(支持增量更新),但跨平台性差;VNC 跨平台性强,但性能略逊于 RDP(尤其高分辨率场景)。
    • 与 SSH 对比:SSH 仅支持命令行远程操作,安全性高;VNC 支持图形化桌面,更适合非专业用户,但需额外配置加密。

    教程示例

    本示例以 Ubuntu 24.04 系统、TigerVNC 为例进行演示。

    1. 更新软件源

    sudo apt update && sudo apt upgrade -y
    

    2. 安装图形化界面

    如果是 Ubuntu 的最小化安装,需要进系统升级下载桌面环境,不然 VNC 无法获取到服务器的正常画面。

    sudo apt install ubuntu-desktop -y
    

    3. 下载 VNC 相关的组件依赖

    sudo apt install tigervnc-standalone-server tigervnc-common -y
    

    4. 配置 vncserver 密码

    输入两遍密码,当最后询问是否设置'只读密码'时,输入 n 即可。

    vncpasswd
    

    5. 配置启动脚本

    这一步很关键,决定了连接后显示的是灰色背景还是完整的 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
    

    6. 配置 systemd 服务开机自启动

    注意:文件名中的 @: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
    

    7. 安装 X11 依赖、组件

    这个不安装会导致开启 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
    

    8. 关闭 Wayland 并重启 GDM3

    Ubuntu 24.04 默认使用 Wayland 显示服务器,但 Wayland 与 VNC 兼容性较差,会导致远程桌面无法正常显示,需强制使用 Xorg 显示服务器。

    sudo vim /etc/gdm3/custom.conf
    

    修改完成后,重启 GDM3:

    sudo systemctl restart gdm3
    

    取消该行前面的 # 号。

    9. 切换用户并启动 vncserver

    切换到实际使用用户进行接下来的操作。

    su - ubuntu -c "vncserver :1 -geometry 1920x1080 -depth 24 -localhost no -xstartup /home/ubuntu/.vnc/xstartup"
    

    10. 开启 vncserver 服务

    sudo systemctl start vncserver@:1.service
    sudo systemctl status vncserver@:1.service
    

    11. Windows 安装客户端 VNC 工具

    安装完成后找到安装路径,点击打开工具。输入对应的系统 ifconfig 的 IP 加上端口号,输入 vncpasswd 设置的密码,即可登录。

    目录

    1. 概述
    2. VNC 核心原理
    3. VNC 关键特点
    4. 主流 VNC 实现工具
    5. VNC 典型应用场景
    6. VNC 局限性与注意事项
    7. VNC 与其他远程控制技术的区别
    8. 教程示例
    9. 1. 更新软件源
    10. 2. 安装图形化界面
    11. 3. 下载 VNC 相关的组件依赖
    12. 4. 配置 vncserver 密码
    13. 5. 配置启动脚本
    14. 6. 配置 systemd 服务开机自启动
    15. 7. 安装 X11 依赖、组件
    16. 8. 关闭 Wayland 并重启 GDM3
    17. 9. 切换用户并启动 vncserver
    18. 10. 开启 vncserver 服务
    19. 11. Windows 安装客户端 VNC 工具
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 高铁轨道探伤:GLM-4.6V-Flash-WEB 识别钢轨磨损痕迹
    • Android Framework 核心源码解析:从系统启动到应用框架详解
    • 算法实战:Z 字形变换与外观数列解析
    • 基于 GraphRAG 与 LangChain 集成 Neo4j 知识图谱及向量数据库
    • AI“代笔”的困境与破局:百考通AI如何理性应对论文查重与AIGC检测
    • 基于 YOLOv8 的反无人机红外检测系统构建与部署
    • ERNIE-4.5-0.3B 轻量模型部署指南与能力实测
    • RustFS 高性能对象存储三种部署方式指南
    • C++ 基于正倒排索引的搜索引擎核心实现与代码详解
    • Python 爬虫从零入门:豆瓣电影数据抓取实战指南
    • 普元软件产品安装包及文档下载指引
    • Python 爬虫入门指南:基础原理与实战
    • Windows11 下利用 llama.cpp 部署测试 Qwen3.5 量化模型
    • Raphael AI:基于 Flux 模型的免费 AI 图像生成工具
    • 突破 Jetson 平台接口性能瓶颈:Gidel 基于 FPGA 的高速边缘 AI 视觉系统
    • MambaYOLO: 一种基于状态空间模型的简单目标检测基线
    • Windows 10 下 OpenClaw 快速部署指南
    • HarmonyOS6 RcImage 组件核心架构与状态管理机制
    • 2024 年 AI+ 教育行业发展及研究报告摘要
    • AI 产品经理的十大核心技能

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online