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

Xvfb虚拟屏幕(Linux)中文入门篇1:(wikipedia摘要,适当改写)

原始网址:Xvfb - Wikipedia

一、综述

xfb(X虚拟帧缓冲区)是实现X11显示服务器协议的显示服务器。

Xvfb在虚拟内存中执行所有图形化操作,而不显示任何屏幕输出。

从X客户端应用程序的角度来看,它的行为与任何其他X显示服务器完全一样,服务请求并适当地发送事件和错误。但是,没有显示任何输出。

这个虚拟服务器不需要它运行的计算机有任何类型的图形适配器、屏幕或任何输入设备。只需要一个网络层。

xfb支持多种X协议扩展,如通过Mesa来合成和OpenGL GLX支持。

二、使用场景

1、客户端后台运行。(XWD程序或类似的程序捕获屏幕截图可以用来实际看到结果)

三、应用实例

1、投屏

例如,下面的命令序列将虚拟framebuffer X服务器作为显示器(编号:1)运行,运行一个程序(xclock),并在文件映像中捕获虚拟屏幕(XWD命令):

 Xvfb :1 &xclock -display :1 &xwd -display :1 -silent -root -out image.xwd

结果可以通过运行xwud程序( xwud -in image.xwd )来显示。

xwud -in image.xwd 

补充(另一种截屏方法):

(1)Ubuntu 24.04 server 终端:

预先安装ImageMagick

sudo apt install imagemagick

(2)截屏

Xvfb :1 &
xclock -display :1 &
import -display :1 -window root screenshot.png

拷贝到win11的共享目录下查看:(我用的是VirtualBox虚拟机,win11共享目录和拷贝文件的方法自行百度)

xvfb-run程序通常用于自动查找可用显示器和管理身份验证的过程:(将command换成xclock、xeyes,gedit)

 xvfb-run command

具体案例待补充······

2、通过SSH远程控制

xfb也用于远程控制。

VNC通过SSH可以比X11通过SSH, 特别减少延迟在互联网上。

Xvfb通常与轻量级窗口管理器(如Fluxbox或Openbox)和VNC服务器(如X11vnc)结合使用。在服务器上启动此命令的可能顺序是:

export DISPLAY=:1
Xvfb "$DISPLAY" -screen 0 1024x768x24 &
fluxbox &
x11vnc -display "$DISPLAY" -bg -nopw -listen localhost -xkb

下一步是启动SSH客户端(如PuTTY),启用到本地主机端口5900的隧道功能。然后,vncviewer可以连接到本地主机以获得对服务器的远程控制。

ssh -N -T -L 5900:localhost:5900 user@remotehost &
vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900

补充:

Xvfb "$DISPLAY"  -ac

-ac代表关闭xvfb的访问控制

http://www.dtcms.com/a/320080.html

相关文章:

  • 函数、方法和计算属性
  • 计网学习笔记第3章 数据链路层(灰灰题库)
  • [激光原理与应用-169]:测量仪器 - 能量型 - 光功率计(功率稳定性监测)
  • 记录:rk3568适配开源GPU驱动(panfrost)
  • Linux中Docker Swarm实践
  • 12-netty基础-手写rpc-编解码-04
  • ubuntu 2024 安装拼音输入法
  • 【macOS操作系统部署开源DeepSeek大模型,搭建Agent平台,构建私有化RAG知识库完整流程】
  • Linux综合练习2
  • 电气设备与互感器全解析
  • 智能制造网络质量保障:德承 DX-1200多网口工控机在windows系统下的网络性能测试指南
  • 操作系统与并发底层原理多道技术
  • docker容器导出为镜像
  • 深度学习入门Day7:Transformer架构原理与实战全解析
  • 亚马逊广告运营:有什么好用的辅助工具
  • Redis配置、测试及分布式缓存实现
  • Android 之 Jetpack - Paging
  • 《C语言》函数练习题--2
  • ElasticSearch相关术语介绍
  • 使用 decimal 包解决 go float 浮点数运算失真
  • 小鸡模拟器安卓版:经典街机游戏的移动体验
  • 利用Axure与JavaScript打造动态图片上传原型:设计案例分享
  • spring-cglib代理-初探01
  • 深度学习-卷积神经网络CNN-1×1卷积层
  • Flink-1.19.0源码详解9-ExecutionGraph生成-后篇
  • UE5多人MOBA+GAS 39、制作角色上半身UI
  • 字符串匹配(重点解析KMP算法)
  • 6 大模块!重构物业运营方式
  • 跨境电商增长突围:多维变局下的战略重构与技术赋能
  • 数智先锋 | Bonree ONE 赋能通威股份有限公司提升全栈可观测性能力