当前位置: 首页 > article >正文

Ubuntu 18.04服务器无显示器?手把手教你用x11vnc创建虚拟桌面并开机自启

Ubuntu 18.04服务器无显示器配置指南x11vnc虚拟桌面全流程实战当你面对一台没有连接物理显示器的Ubuntu服务器时突然需要运行一个图形界面程序这种场景对很多运维人员和开发者来说并不陌生。无论是云服务器、家庭NAS还是树莓派无头(headless)服务器的GUI需求往往让人头疼。本文将彻底解决这个问题从虚拟显示环境搭建到x11vnc配置最后实现开机自启带你完整走通这条技术路线。1. 环境准备与基础概念在开始实际操作前我们需要明确几个关键概念。X Window System简称X11是Linux图形界面的基础架构而x11vnc则是一个将X11桌面通过VNC协议共享的工具。与传统VNC不同x11vnc直接与X服务器交互不需要真实的显示设备。对于无显示器服务器首先要解决的是虚拟显示问题。Xvfb(X Virtual Framebuffer)是一个内存中的虚拟显示服务器它可以模拟显示设备的所有功能而不需要任何物理硬件。我们将使用它作为x11vnc的基础。所需工具清单Xvfb创建虚拟显示环境x11vnc将虚拟桌面通过VNC共享桌面环境(可选)如GNOME、XFCE等根据实际需求选择提示虽然本文以Ubuntu 18.04为例但相同方法也适用于其他基于Debian的发行版只需注意包管理命令的差异。2. 搭建虚拟显示环境首先更新系统包列表并安装必要组件sudo apt update sudo apt install -y xvfb x11vnc接下来创建一个虚拟显示。我们将使用:1作为显示编号:0通常保留给物理显示Xvfb :1 -screen 0 1024x768x16 这个命令创建了一个1024×768分辨率、16位色深的虚拟显示。你可以根据需要调整这些参数。验证虚拟显示是否正常运行DISPLAY:1 xdpyinfo | grep dimensions如果看到输出类似dimensions: 1024x768 pixels说明虚拟显示已就绪。常见分辨率与色深组合1280x720x24720p标准分辨率24位真彩色1920x1080x241080p标准分辨率1600x900x16平衡性能和画质的折中选择3. 配置x11vnc服务有了虚拟显示现在可以配置x11vnc来共享这个桌面。首先设置VNC密码sudo mkdir -p /etc/x11vnc sudo x11vnc -storepasswd /etc/x11vnc/passwd系统会提示输入并确认密码。然后设置适当的权限sudo chmod 600 /etc/x11vnc/passwd创建systemd服务单元来管理x11vnc。新建文件/etc/systemd/system/x11vnc.service[Unit] Descriptionx11vnc service Afterdisplay-manager.service network.target syslog.target [Service] Typesimple ExecStart/usr/bin/x11vnc -display :1 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc/passwd -rfbport 5900 -shared ExecStop/usr/bin/killall x11vnc Restarton-failure [Install] WantedBymulti-user.target关键参数解析-display :1指定虚拟显示编号-forever保持连接持续-shared允许多个客户端同时连接-rfbport 5900设置VNC端口号启用并启动服务sudo systemctl daemon-reload sudo systemctl enable x11vnc.service sudo systemctl start x11vnc.service4. 桌面环境安装与优化虽然基础X11环境已经可以运行简单GUI程序但安装完整的桌面环境会提供更好的用户体验。以下是轻量级XFCE的安装方法sudo apt install -y xfce4 xfce4-goodies配置X11使用XFCE作为默认会话echo startxfce4 ~/.xinitrc DISPLAY:1 startx 桌面环境对比环境内存占用功能完整性适合场景XFCE~350MB完整资源有限的服务器LXDE~250MB基本极简需求GNOME~700MB丰富需要现代界面优化x11vnc性能编辑服务文件添加以下参数-noxdamage -repeat -cursor none这些选项可以减少网络传输数据量显著提升远程操作的流畅度。5. 开机自启完整方案为确保所有组件在启动时正确初始化我们需要创建一个整合脚本。新建/usr/local/bin/start-vnc.sh#!/bin/bash # 启动虚拟显示 Xvfb :1 -screen 0 1280x720x24 -ac extension GLX render -noreset # 等待Xvfb初始化 sleep 3 # 启动桌面环境 export DISPLAY:1 startxfce4 # 启动x11vnc x11vnc -display :1 -auth guess -forever -loop -noxdamage -repeat \ -rfbauth /etc/x11vnc/passwd -rfbport 5900 -shared -cursor none设置可执行权限sudo chmod x /usr/local/bin/start-vnc.sh然后更新systemd服务文件将ExecStart指向这个脚本ExecStart/usr/local/bin/start-vnc.sh重新加载并启用服务sudo systemctl daemon-reload sudo systemctl enable x11vnc.service6. 防火墙配置与安全加固为确保VNC服务可访问且安全需要配置防火墙sudo ufw allow 5900/tcp安全最佳实践使用强密码并定期更换考虑通过SSH隧道连接VNC限制访问IP范围定期检查服务日志查看x11vnc日志journalctl -u x11vnc.service -f如果需要通过SSH隧道连接推荐本地执行ssh -L 5900:localhost:5900 用户名服务器地址然后VNC客户端连接localhost:5900即可。7. 常见问题排查问题1连接后黑屏检查Xvfb是否正常运行ps aux | grep Xvfb验证DISPLAY环境变量设置正确问题2鼠标键盘无响应检查x11vnc是否以-shared参数运行确认没有其他VNC服务占用相同端口问题3开机自启失败检查systemd服务状态systemctl status x11vnc.service查看日志获取详细错误信息确保脚本中的等待时间足够Xvfb初始化性能调优参数-noxdamage禁用X damage扩展减少带宽-repeat启用按键重复-cursor none不传输鼠标光标图形8. 高级配置与替代方案对于需要3D加速的场景可以考虑使用Xorg代替Xvfbsudo apt install -y xserver-xorg-video-dummy配置虚拟显卡创建/etc/X11/xorg.confSection Device Identifier DummyDevice Driver dummy VideoRam 256000 EndSection Section Screen Identifier DummyScreen Device DummyDevice Monitor DummyMonitor DefaultDepth 24 SubSection Display Depth 24 Modes 1920x1080 EndSubSection EndSection替代方案对比方案优点缺点Xvfb轻量、简单无硬件加速Xorg dummy支持更多扩展配置复杂Wayland现代架构兼容性有限在实际项目中我遇到过需要同时运行多个虚拟桌面的情况。这时可以为每个桌面配置不同的显示编号和VNC端口例如Xvfb :2 -screen 0 1024x768x16 x11vnc -display :2 -rfbport 5901 ...这种配置特别适合需要隔离不同GUI应用的环境。

相关文章:

Ubuntu 18.04服务器无显示器?手把手教你用x11vnc创建虚拟桌面并开机自启

Ubuntu 18.04服务器无显示器配置指南:x11vnc虚拟桌面全流程实战 当你面对一台没有连接物理显示器的Ubuntu服务器时,突然需要运行一个图形界面程序,这种场景对很多运维人员和开发者来说并不陌生。无论是云服务器、家庭NAS还是树莓派&#xff0…...

别再只调参了!用眼动、多模态数据真正提升你的脑电AI模型效果

别再只调参了!用眼动、多模态数据真正提升你的脑电AI模型效果 当你的脑电模型准确率卡在85%的瓶颈期,是否想过问题可能不在参数调整,而在于数据维度本身?去年我们团队在情绪识别项目中引入眼动数据后,模型F1值直接从0…...

从Pikachu靶场实战出发:构建网络安全攻防思维导图

1. 为什么选择Pikachu靶场入门网络安全 第一次接触网络安全实战的朋友,往往会陷入"学了一堆理论但不知道如何下手"的困境。我当年在安全公司带新人时,发现Pikachu靶场是最快建立攻防直觉的训练场。这个用PHP搭建的漏洞演示平台,就像…...

服务依赖管理

服务依赖管理:构建稳定系统的关键基石 在现代分布式系统和微服务架构中,服务依赖管理已成为保障系统稳定性和可扩展性的核心环节。随着业务复杂度的提升,服务间的调用关系日益错综复杂,如何高效管理这些依赖关系,避免…...

深入解析Wi-Fi AMPDU帧聚合技术:提升无线网络效率的关键

1. 为什么你的Wi-Fi总是不够快? 每次看视频卡顿、下载文件龟速时,你可能都以为是宽带的问题。但真相是:80%的无线网络卡顿都源于Wi-Fi协议本身的效率低下。想象一下快递员送包裹的场景——如果每次只送一个小件,大部分时间都花在来…...

YOLO-v8.3实战指南:手把手教你用Jupyter快速上手物体检测

YOLO-v8.3实战指南:手把手教你用Jupyter快速上手物体检测 1. 环境准备与快速部署 1.1 镜像获取与启动 YOLO-v8.3镜像已经预装了所有必要的依赖项,包括PyTorch框架和Ultralytics工具库。您可以通过以下步骤快速启动: 在CSDN星图平台搜索&q…...

【反蒸馏实战 04】前端开发工程师:当AI 5秒生成一个页面,你的价值在哪里?@初级前端从“切图仔”到“用户体验工程师”实战指南

摘要:2026年,AI已能5秒生成前端页面,60%的前端代码由AI产出,初级前端面临“100:1”的求职竞争。本文结合State of JS 2025、O’Reilly性能工程报告等权威数据,拆解AI对前端的冲击全景,提出“思维-能力-工作流”三级反替代模型。通过3个核心实操模块(AI生成代码审计、Cor…...

从YOLOv5到v8:行人跌倒检测模型演进与Web系统实战

1. YOLO系列模型演进史:从v5到v8的技术跃迁 第一次接触YOLOv5时,我被它的"开箱即用"特性惊艳到了。记得当时在一个安防项目中,仅用不到200行代码就实现了实时车辆检测,这在之前的v3时代简直不可想象。如今YOLO系列已经进…...

深圳程序员职业生涯校企合作申请过程东北大学

深圳程序员职业生涯校企合作申请过程东北大学2024年从江西赣州老家乘坐火车至广州白云区火车站。选择广州白云区的石基地铁站站点一个人红星社区寻找工程师适合居住的地方。大学应届毕业之后一直都是居住在广州番禺区。家境不好适合很多事情都是藏在风里面。大学专科毕业生经常…...

3个颠覆性功能:如何用Path of Building彻底改变你的流放之路Build规划

3个颠覆性功能:如何用Path of Building彻底改变你的流放之路Build规划 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 你是否曾在《流放之路》中花费数小时计…...

LFM2.5-1.2B-Thinking-GGUF应用案例:工厂巡检报告自动生成+隐患关键词高亮标注

LFM2.5-1.2B-Thinking-GGUF应用案例:工厂巡检报告自动生成隐患关键词高亮标注 1. 项目背景与需求 在工业生产环境中,设备巡检是保障安全生产的重要环节。传统的人工巡检报告撰写存在以下痛点: 效率低下:巡检员需要花费大量时间…...

杰理AC695X系列---实现精准us级定时器的关键配置与调试技巧

1. 为什么需要微秒级定时器? 在嵌入式开发中,定时器是最基础也最重要的功能模块之一。杰理AC695X系列芯片自带的SDK提供了毫秒级定时器,对于大多数应用场景已经足够。但当我最近调试一个433MHz接收模块时,发现接收IC对时序要求极为…...

TensorFlow.js推理超快

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 TensorFlow.js推理速度革命:构建超快Web端AI应用的实践与未来目录TensorFlow.js推理速度革命:构建超快We…...

Vivado IP核实战:复数浮点乘法器的FPGA实现与精度分析

1. 复数浮点乘法器的工程背景与核心挑战 在数字信号处理领域,复数浮点运算堪称算法实现的"心脏"。特别是在通信系统的信道均衡、雷达信号处理等场景中,每秒需要完成数百万次复数乘法运算。传统DSP处理器受限于顺序执行架构,难以满足…...

AI技术变革下的SEO关键词优化新模式探索

在AI技术的推动下,SEO关键词优化正在经历深刻的变革。AI不仅改变了关键词选择的方式,还极大提升了布局的精准度。通过分析用户行为和市场趋势,AI能够自动推荐最有效的关键词,并实时调整优化策略。这一特点使得企业能够快速响应竞争…...

别再只盯着MFCC了!用Librosa实战提取LFCC和CQCC,解锁音频特征新姿势

解锁音频特征新维度:LFCC与CQCC在Librosa中的实战指南 音频特征提取是语音识别、音乐信息检索等领域的核心技术。传统MFCC(梅尔频率倒谱系数)虽广泛应用,但在某些场景下表现有限。本文将深入探讨两种替代方案——LFCC(…...

ComfyUI节点冲突终极解决方案:从检测到修复的完整实战指南

ComfyUI节点冲突终极解决方案:从检测到修复的完整实战指南 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various c…...

AI技术在搜索引擎优化中的关键词选择与提升策略

本文针对AI技术在搜索引擎优化(SEO)中的关键词选择与提升策略进行了全面探讨。首先,分析了AI如何通过深度学习与数据挖掘,帮助营销人员发现潜在的高效关键词。接着,阐述了结合市场趋势和用户行为,实现关键词…...

《数论探微:进阶版》(Arithmetic Tales: Advanced Edition)栈

一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...

深度学习笔记---空洞卷积如何扩大感受野而不丢失分辨率

1. 从标准卷积到空洞卷积的进化之路 第一次听说空洞卷积这个概念时,我和大多数初学者一样满头问号:为什么要在卷积核里"挖洞"?这玩意儿到底比普通卷积强在哪?后来在图像分割任务中踩过几次坑才明白,传统卷积…...

Graphormer部署进阶:Prometheus+Grafana监控GPU利用率与QPS指标

Graphormer部署进阶:PrometheusGrafana监控GPU利用率与QPS指标 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子基准测试…...

ChatGPT赋能短视频口播脚本:告别创作内耗,打造爆款口播内容

在2026年内容营销赛道上,短视频口播依旧是流量收割的核心载体,无论是知识分享、好物推荐还是品牌宣传,优质口播脚本都是破圈关键。但当下创作者普遍陷入困境:灵感枯竭写不出吸睛文案、脚本节奏拖沓留不住观众、反复修改耗时耗力&a…...

图数据结构:从基础概念到实际应用场景解析

1. 图数据结构的基础概念 第一次接触图数据结构时,我完全被那些专业术语搞晕了。直到有一天,我在整理微信好友关系时才恍然大悟——这不就是典型的图结构吗?每个好友是一个顶点,而好友之间的关注关系就是连接这些顶点的边。 图结构…...

AcousticSense AI案例分享:这些歌曲的流派AI都猜对了吗?

AcousticSense AI案例分享:这些歌曲的流派AI都猜对了吗? 1. 音乐流派识别的技术革命 1.1 传统方法的局限性 音乐流派识别一直是个技术难题。传统方法主要依赖人工设计的声学特征,比如MFCC(梅尔频率倒谱系数)、频谱质…...

WordPress 站长自查手册:手把手教你用 WPScan 给自己的网站做一次免费“安全体检”

WordPress 站长安全自查指南:用 WPScan 给网站做专业级体检 作为 WordPress 站长,你是否经常担心网站存在安全隐患却无从下手?就像定期体检能预防疾病一样,网站也需要定期安全检查。WPScan 就是专为 WordPress 设计的"体检仪…...

使用 C# 删除 PDF 中的数字签名窝

一、 什么是 AI Skills:从工具级到框架级的演化 AI Skills(AI 技能) 的概念最早在 Claude Code 等前沿 Agent 实践中被强化。最初,Skills 被视为“工具级”的增强,如简单的文件读写或终端操作,方便用户快速…...

MindSpore 环境配置完全指南奄

前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知,本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台,有非常多的配置参数。详细的参数列表可以…...

5分钟部署FireRedASR:纯本地运行,保护隐私的语音识别方案

5分钟部署FireRedASR:纯本地运行,保护隐私的语音识别方案 1. 为什么选择本地语音识别 在当今数据安全日益重要的时代,将语音识别服务部署在本地已成为许多企业和开发者的首选方案。FireRedASR-AED-L镜像提供了一套完整的本地语音识别解决方…...

别再只用VSCode了!用ACEeditor在Vue/React项目中快速搭建一个在线代码编辑器

深度整合ACEeditor:现代前端框架中的高性能代码编辑器解决方案 在当今快速发展的前端开发生态中,代码编辑器的集成已成为许多应用的核心需求。无论是构建在线IDE、教学平台还是需要内嵌代码编辑功能的SaaS产品,开发者都面临着一个关键选择&am…...

Maccy:重新定义macOS剪贴板管理效率的3个核心维度

Maccy:重新定义macOS剪贴板管理效率的3个核心维度 【免费下载链接】Maccy Lightweight clipboard manager for macOS 项目地址: https://gitcode.com/gh_mirrors/ma/Maccy 在日常的数字工作流程中,剪贴板是我们最频繁使用的工具之一,但…...