游客
Ubuntu VNC 远程桌面搭建指南:Xvfb + x11vnc 轻量方案

Ubuntu VNC 远程桌面搭建指南:Xvfb + x11vnc 轻量方案

一言准备中...

主要功能

  • 虚拟 Display 创建:通过 Xvfb 生成一个不占用物理屏幕的虚拟 display 服务。输入为命令行参数,输出为虚拟显示环境,不消耗 GPU 资源。
  • VNC 协议转换:x11vnc 将 Xvfb 创建的 display 转为 RFB 协议。输入是 X11 显示数据,输出是 VNC 可识别的画面流,支持键盘与鼠标事件转发。
  • 按需启动机制:服务仅在执行启动命令后运行,不常驻后台。输入为 x11vnc -create 参数,输出为即时开启的远程桌面,对服务器 CPU 占用极低(一般低于 5%)。
  • 多平台客户端兼容:VNC Viewer 支持 Windows、macOS、Linux。输入是服务器 IP 加端口(格式如 :12345),输出为完整桌面画面,分辨率跟随客户端窗口自适应。
  • 密码认证保护:启动时通过 -passwd 参数设置连接密码。输入为明文密码字符串,输出为加密的 RFB 认证握手,防止未授权访问。

使用要求

  • 掌握 Ubuntu SSH 登录、命令执行、文件编辑基础操作。
  • 服务器需开放对应端口(如 12345),并在防火墙中放行。
  • 客户端需安装 VNC Viewer 软件,版本不限。

核心优势

  • 轻量无显示输出:Xvfb 作为虚拟帧缓冲,不产生实际屏幕信号。相比完整 Xorg 方案,内存占用减少约 60%,适合无显卡的云服务器场景。
  • 一键启动快速部署:单条命令即可同时完成 display 创建和 VNC 服务启动。从执行到可连接,耗时不超过 3 秒。

如何使用

  1. 安装系统依赖库:sudo apt-get install -y xauth xterm x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  2. 安装 Xvfb:sudo apt-get install -y xvfb
  3. 安装 x11vnc:sudo apt-get install -y x11vnc
  4. 启动服务:x11vnc -rfbport 12345 -passwd CrekeNet -create -forever
  5. 客户端新建连接,输入 服务器IP:端口号,用密码登录。
  6. 在 VNC 终端内运行 xview 显示图片:sudo apt-get install -y xloadimage 后,执行 xview qqlogo_1x.png(图片需先下载至服务器)。

同类竞品对比

对比维度 Ubuntu + Xvfb + x11vnc TightVNC Server TigerVNC Server
核心架构 虚拟 display + 协议转换,无物理输出 直接捕获物理屏幕(X11 捕获) 基于 X11 扩展,支持直接帧缓冲访问
显示依赖 不依赖物理显卡,纯 CPU 渲染 需要 Xorg 运行环境,占用系统显示资源 依赖现有 X 会话,无法独立创建虚拟屏
资源占用 按需启动,空闲时零开销,内存约 50MB 常驻后台,空闲时仍占用约 120MB 常驻服务,内存占用约 80-100MB
密码认证 命令行明文传参,启动后固定 支持加密配置文件,可动态修改 支持 PAM 认证,安全性更高
启动方式 单条命令完成 display + VNC 启动 需要先配置 X 会话,再启动 VNC 服务 需手动指定显示编号,配置较繁琐
适用场景 无显示器的云服务器、临时远程桌面需求 已有桌面环境的远程控制 需要高帧率、低延迟的桌面操作

应用场景

  • 云服务器(如主机实测)的图形界面操作。没有物理显示器,通过 Xvfb 虚拟屏运行轻量 GUI 程序。
  • 自动化测试环境。在无头服务器上启动浏览器或应用,通过 VNC 观察运行状态。
  • 临时远程协助。无需安装完整桌面环境,快速开启 VNC 供他人调试。

适用人群

  • 具备 Linux 命令行基础的系统管理员。
  • 需要在 Ubuntu 云服务器上运行图形化工具的开发者。
  • 搭建自动化测试或 CI/CD 图形界面的运维人员。

安装、启动 VNC

VNC 远程桌面原理

  • Xorg:Linux 下主流图形窗口系统,提供显示服务。
  • X11:X Window 系统协议,负责图形界面通信。
  • VNC:基于 RFB 协议的远程桌面软件,传输画面和输入事件。
  • x11vnc:轻量 VNC 服务端,将 X11 显示转为 VNC 协议。
  • Xvfb:虚拟帧缓冲,不产生实际屏幕输出。

工作流程:Xvfb 创建虚拟 display → x11vnc 连接并转为 RFB 协议 → 客户端通过 VNC Viewer 访问。优点:按需开启,不影响服务器性能。

安装步骤

  1. 安装系统库:sudo apt-get install -y xauth xterm x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  2. 安装 Xvfb:sudo apt-get install -y xvfb
  3. 安装 x11vnc:sudo apt-get install -y x11vnc

启动命令

x11vnc -rfbport 12345 -passwd CrekeNet -create -forever

参数说明:-rfbport 指定端口(如 12345),-passwd 设置密码,-create 自动创建虚拟 display,-forever 保持服务运行。启动后输出成功信息即可连接。

连接 VNC 远程桌面

  1. 下载 VNC Viewer(支持多平台,以 Windows 为例)。
  2. 安装后新建连接:填写 服务器IP:端口号,设置名称。
  3. 右击连接选择 Connect,安全提示点 Continue。
  4. 输入密码(默认 CrekeNet),成功进入 Linux 远程桌面。

简单应用:显示图片

在 VNC 终端内操作:

  • 安装 xloadimage:sudo apt-get install -y xloadimage
  • 下载图片:wget http://www.zhujishice.cn/www/images/qq2012/qqlogo_1x.png
  • 显示图片:xview qqlogo_1x.png

图片会出现在桌面左上方。

  • 本文作者:站长
  • 本文链接: https://www.zhujishice.cn/193.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
106
0
0
0
内卷太严重,已躺平...

云服务器密码获取操作指南

上一篇

Ubuntu服务器管理面板功能解析

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单