ubuntu24.04系统安装VNC

ubuntu24.04系统安装VNC

前言:

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

三、主流 VNC 实现工具

不同场景下常用的 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 加密的版本(如 RealVNC 商业版)。
  2. 网络依赖性:低带宽下画质会下降、操作延迟增加,需根据网络情况调整编码方式。
  3. 分辨率适配:部分 VNC 工具对不同分辨率屏幕的适配性较差,可能出现画面拉伸或显示不全。
  4. 权限管理:需确保服务端配置严格的访问权限(如强密码、指定允许连接的 IP),避免未授权访问。

六、VNC 与其他远程控制技术的区别

VNC 与 RDP(远程桌面协议)、SSH(安全外壳协议)的核心差异如下:

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

教程示例

这里以ubuntu24.04系统、TigerVNC为例

先用root用户进行操作:

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 #!/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 #这里两个ubuntu,是本作者系统中的用户,这里可更改为你们实际操作用户 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
取消这一行前面的#号

切换ubuntu(实际使用用户)用户进行接下来的操作:

9. 切换为ubuntu用户、启动vncserver
su - ubuntu 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设置的密码,即可登录

Read more

【大模型实战篇】基于Claude MCP协议的智能体落地示例

【大模型实战篇】基于Claude MCP协议的智能体落地示例

1. 背景         之前我们在《MCP(Model Context Protocol) 大模型智能体第一个开源标准协议》一文中,介绍了MCP的概念,虽然了解了其概念、架构、解决的问题,但还缺少具体的示例,来帮助进一步理解整套MCP框架如何落地。         今天我们基于claude的官方例子--获取天气预报【1】,来理解MCP落地的整条链路。 2. MCP示例         该案例是构建一个简单的MCP天气预报服务器,并将其连接到主机,即Claude for Desktop。从基本设置开始,然后逐步发展到更复杂的使用场景。         大模型虽然能力非常强,但其弊端就是内容是过时的,这里的过时不是说内容很旧,只是表达内容具有非实时性。比如没有获取天气预报和严重天气警报的能力。因此我们将使用MCP来解决这一问题。         构建一个服务器,该服务器提供两个工具:获取警报(get-alerts)和获取预报(get-forecast)。然后,将该服务器连接到MCP主机(在本例中为Claude for Desktop)。         首先我们配置下环

By Ne0inhk
AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建

AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建

AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建 作者:高瑞冬 本文目录 * AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建 * 一、MCP协议简介 * 二、创建MCP工具集 * 1. 获取MCP服务地址 * 2. 在FastGPT中创建MCP工具集 * 三、测试MCP工具 * 四、AI模型调用MCP工具 * 1. 调用单个工具 * 2. 调用整个工具集 * 五、私有化部署支持 * 1. 环境准备 * 2. 修改docker-compose.yml文件 * 3. 修改FastGPT配置 * 4. 重启服务 * 六、使用MCP-Proxy集成多个MCP服务 * 1. MCP-Proxy简介 * 2. 安装MCP-Proxy * 3. 配置MCP-Proxy * 4. 将MCP-Proxy与FastGPT集成 * 5. 高级配置

By Ne0inhk
AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

云边有个稻草人-ZEEKLOG博客 目录 引言 一、什么是DeepSeek? 1.1 DeepSeek平台概述 1.2 DeepSeek的核心功能与技术 二、蓝耘通义万相2.1概述 2.1 蓝耘科技简介 2.2 蓝耘通义万相2.1的功能与优势 1. 全链条智能化解决方案 2. 强大的数据处理能力 3. 高效的模型训练与优化 4. 自动化推理与部署 5. 行业专用解决方案 三、蓝耘通义万相2.1与DeepSeek的对比分析 3.1 核心区别 3.2 结合使用的优势 四、蓝耘注册流程 五、DeepSeek与蓝耘通义万相2.1的集成应用 5.1 集成应用场景 1. 智能医疗诊断

By Ne0inhk
基于腾讯云HAI + DeepSeek快速设计自己的个人网页

基于腾讯云HAI + DeepSeek快速设计自己的个人网页

前言:通过结合腾讯云HAI 强大的云端运算能力与DeepSeek先进的 AI技术,本文介绍高效、便捷且低成本的设计一个自己的个人网页。你将了解到如何轻松绕过常见的技术阻碍,在腾讯云HAI平台上快速部署DeepSeek模型,仅需简单几步,就能获取一个包含个人简介、技能特长、项目经历及联系方式等核心板块的响应式网页。 目录 一、DeepSeek模型部署在腾讯云HAI 二、设计个人网页 一、DeepSeek模型部署在腾讯云HAI 把 DeepSeek 模型部署于腾讯云 HAI,用户便能避开官网访问限制,直接依托腾讯云 HAI 的超强算力运行 DeepSeek-R1 等模型。这一举措不仅降低了技术门槛,还缩短了部署时间,削减了成本。尤为关键的是,凭借 HAI 平台灵活且可扩展的特性,用户能够依据自身特定需求定制专属解决方案,进而更出色地适配特定业务场景,满足各类技术要求 。 点击访问腾讯云HAI控制台地址: 算力管理 - 高性能应用服务 - 控制台 腾讯云高性能应用服务HAI已支持DeepSeek-R1模型预装环境和CPU算力,只需简单的几步就能调用DeepSeek - R1

By Ne0inhk