xvfb 初步探究

CentOS7安装xvfb,解决服务器没有X-Server的问题 Xvfb(X Virtual Frame Buffer)是基于X Window的虚拟服务器,可以在没有物理显卡图形界面和人机交互界面的情况下,运行X Window相关应用程序。它模拟了一个完整的X Window系统,包括显示和输入设备,但一切都是在内存中进行处理,没有显示器和键盘。这使得测试和调试GUI应用程序变得更加容易和自动化。 阅读详情

有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了

很感谢 xvfb 这个工具给我们提供了相关的功能

比如在没有 X server 的机器上运行 gedit, 可以用下面的命令

xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24"  gedit


xvfb 这个工具相当于一个wrapper, 给应用程序提供虚拟的 X server

用 ps auxf 观察进程的结构,可以发现 xvfb-run 首先创建了 Xvfb:103 这个 daemon 子进程,而后再运行 gedit

...

           \_ /bin/sh /usr/bin/xvfb-run --auto-servernum --server-args=-screen 0 1280x760x24 gedit
               \_ Xvfb :103 -screen 0 1280x760x24 -nolisten tcp
               \_ gedit


如果,自己编写一个脚本 1.sh, 内容是显示 $DISPLAY 变量

---- 1.sh ---
echo $DISPLAY

再用下面的命令运行

xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24"  ./1.sh

输出是 

:103


而查看进程,原来 deamon 提供 DISPLAY :103

           \_ /bin/sh /usr/bin/xvfb-run --auto-servernum --server-args=-screen 0 1280x760x24 ./1.sh
              \_ Xvfb :103 -screen 0 1280x760x24 -nolisten tcp

再用命令查看 netstat -ln, 可以看到提供服务的 unix socket

...
unix  2      [ ACC ]     STREAM     LISTENING     2060030  /tmp/.X11-unix/X103

...


总结:

xvfb  是通过提供一个类似 X server 守护进程 和 设置程序运行的环境变量  DISPLAY 来提供程序运行的环境


CentOS 最小化安装后需要使用到屏幕界面 它在没有物理显示设备连接的情况下,为 X11 应用程序提供了一个虚拟的屏幕环境。这对于在服务器端运行需要图形界面的程序非常有用,例如在没有图形界面的服务器上进行自动化测试、执行需要图形界面支持的脚本等。请注意,这只是一个基本的 Xvfb 使用指南,具体的使用可能会根据您的需求和环境有所不同。在实际应用中,您可能还需要根据特定的情况进行更详细的配置和调整。Xvfb 模拟了一个全功能的 X 服务器,但不实际显示图像到物理屏幕上,而是在内存中处理图形操作。要在 Xvfb 中运行应用程序,您需要设置环境变量。 阅读详情

相关推荐

xvfb x11vnc novnc 实现在linux服务器上单独启动一个firefox

安装xvfb apt update apt install xvfb 安装x11vnc apt install x11vnc 启动xvfb(渲染第五屏,分辨率1920x1080,颜色24) Xvfb :5 -screen 0 1920x1080x24 &  设置x11vnc密码(是否生成密码到文件选择Y),启动(第五屏,映射到5905端口) x11vnc -store...

bw_yyziq的博客 4461

linux 中常用命令

linux 中常用命令

穿越星空 2264

解决Linux系统中缺少Xvfb包的问题

上一篇文中写了在 Linux上安装 ArcGIS Server前的准备工作,最后一步是环境检测,只有所有项都通过才可以安装 ArcGIS Server。不幸的是,第一次其实没有通过环境监测,提示系统中缺少了Xvfb包,具体的检测结果如下:检测报告中提示了解决方法,参考技术文章 40860:但是这篇文章只告诉我们缺包了,需要安装一个Xvfb包,没有说明包的获取与安装过程等,下面我就bala一下喽。1

慕名ArcGIS 1万+

linux xvfb run,bash – 如何正确终止xvfb-run

为了在docker容器中使用karma执行一些JavaScript单元测试(基于ubuntu 14.04),我使用karma-script-launcher和xvfb-run在容器中启动firefox.启动脚本如下所示:#!/bin/bashset -o errexit# nasty workaround as xvfb-run doesn't cleanup properly...trap "p...

weixin_35948624的博客 2006

在aws-lambda 中使用xvfb,firefox,ffmpeg

前一段时间,做了一个对浏览器录制推流的镜像,由于对资源的要求比较高,所以需要服务动态伸缩。后发现aws的一款免费服务lambda,号称可以最高一千个实例,并且免费,就尝试迁移到其上面。研究了几天,最终效果差强人意,现做个记录。 1.问题 lambda想要提供的应该只是简单的服务部署,比如一个spring boot项目,它本意可能并不想用户用其来部署耗费大量cpu或者内存资源的应用,其容器内部做...

bw_yyziq的博客 1042

S32K3基于EB配置GPT触发WDG的实战解析

本文详细解析了S32K3 MCU基于EB tresos工具配置GPT定时器触发看门狗(WDG)的实战方法。通过分析协同工作机制、MCAL配置步骤及代码实现,帮助开发者构建可靠的硬件监控系统,提升汽车电子系统的安全性与实时性。

f9g0h的博客 204

xvfb探究

有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了 很感谢 xvfb 这个工具给我们提供了相关的功能 比如在没有 X server 的机器上运行 gedit, 可以用下面的命令 xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24" gedit xvfb 这个工具相当于一个wrapper, 给应用程序提供虚拟的 X server 用 ps auxf 观察进程的结构,可以发现xvfb-run 首先...

weixin_39833509的博客 1500

关于动态存储器dram中rank,bank,device之间的关系

DEVICE_WIDTH表示设备的带宽(单位bit),每个列(column)包含DEVICE_WIDTH 位(bit),每一行(row)包含NUM_COLS个column。   而每一个bank包含NUM_ROWS个行(row)。所以一个设备(device)的存储容量为PER_DEVICE_STORAGE =NUM_ROWS*NUM_COLS*DEVICE_WIDTH*NUM_BANKS (i

wyj7260的专栏 4731

xvfb与x11vnc

xvfb 一般的服务器中是不安装linux桌面环境的,而xvfb可以提供虚拟的X服务,来模拟桌面环境,这样,一些依赖桌面环境的应用就可以在服务器中运行了。 Xvfb 通过提供一个类似X Server 的守护进程,并且设置程序运行的环境变量DISPLAY来提供程序运行环境。 举例说明: 在不启动xvfb时,firefox不能在服务器中运行。系统提示没有DISPLAY environment。 然后我们启动xvfb Xvfb :1 -ac -screen 0 960x540x24 这里,我们启动了一个dis

qq_36383272的博客 9015

医学图像处理实战:ABIDE数据集获取与预处理全攻略

本文详细介绍了ABIDE数据集的获取与预处理全流程,涵盖官方脚本下载、Nilearn库高效下载、数据预处理与格式转换等关键步骤。ABIDE数据集作为自闭症脑成像研究的重要资源,提供了标准化的功能磁共振成像数据,适合机器学习模型训练。文章还提供了常见问题排查与优化建议,帮助开发者高效处理医学图像数据。

weixin_29069131的博客 255

xvfb的安装、配置、运行(Linux)

Xvfb 时间:8/13/2016 环境:Ubuntu13.0 安装: 方法一:sudo apt-get install xvfb 方法二:sudo apt-get update && sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps  imag

Nobody_Wang的博客 2万+

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 239

Xvfb和pyvirtualdisplay简介

Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作,不需要借助任何显示设备。 而pyvirtualdisplay就是一个虚拟显示设备。 后者依赖于前者,前者可以独立执行,但是不显示。借助后者,就更加强大了。 前者是一个程序,可以直接运行在Linux系统上: yum install Xvfb 后者是python库,依赖于python,相当于是python中需要显示图像之类的东西的时候,就通过后者连接前者(服务器),完成显示。所以后者的安装方式是:

qq_43391414的博客 5583

寻迹Arduino智能小车

Arduino巡线寻迹智能小车

Rachael_Wang的博客 9989

【归因】MATLAB实现最佳指纹法(待更新)

简述用于归因分析的最佳指纹法,及其MATLAB实现。

WW、forever的博客 4284

如何将sudo apt-get install xvfb安装的xvfb的所有文件打包成压缩包并放到另一台ubuntu服务器上运行

由于一些限制,ubuntu服务器A无法通过apt-get安装xvfb包,于是通过另一台可以安装xvfb的ubuntu服务器B,将已安装的xvfb进行打包,然后再解压到不能在线安装的服务器A中。

Gochan_Tao的博客 1469

基于加速科技ST2500的SN74HC00N芯片测试计划

实际上随着工艺的进步,器件内部和引脚间的绝缘氧化膜越来越薄,导致漏电流发生的概率更大,另外制造过程中的工艺缺陷导致的桥接,异物或封装过程中造成的芯片划伤、引裂,都会造成IC的漏电流偏大,有部分产品可能会表现出漏电流偏大,但功能正常,此类产品具有潜在的可靠性问题,漏电流测试的目的就是把具有此类缺陷的产品筛选出来,避免其流到最终产品造成更大的损失。漏电流的测试方法相对简单,就是根据产品手册或测试规范对被测引脚施加额定的电压,然后测量其输入或流出的电流是否符合相应的设计规范。74HC00引脚功能如表所示。

weixin_68288412的博客 1437

linux xvfb 中文乱码,在Linux上安装xvfb

我想让Selenium在Linux应用服务器上进行一些自动浏览.我被困在Selenium的’perl录音’发送启动浏览器的请求,并且独立的selenium服务器抛出错误 – ‘等待创建配置文件的超时!’.我理解从浏览这个错误,我可以通过为我在linux服务器上安装的firefox浏览器创建一个配置文件来解决这个问题.但是,当我尝试创建配置文件时,我现在得到错误 –Error: no display...

weixin_35346761的博客 1231

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

linux xvfb run,linux - Are there differences between xvfb and xvfb-run? - Stack Overflow

Looking at http://manpages.ubuntu.com/manpages/xenial/man1/xvfb-run.1.html implies that xvfb-run is a wrapper around Xvfb. So, you could certainly use Xvfb without xvfb-run, you just have to pass a l...

weixin_33849758的博客 271

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

xvfb无法启动

     今天帮同事查找xvfb为什么无法启动原因。      当时不好意思说xvfb是什么,赶紧google查资料,google直接输入xvfb,发现一大篇E文,因为E文不好,所以搜索xvfb说明、xvfb简介、什么是xvfb,发现前面几个都没有想要的。所以只能乖乖的看一下E文说明。大概的意思就是xwindow某个程序,可以不输出内容到屏幕上。(不知道我这个解释对不对,如果不对,请见谅啊 )...

孙杰的博客 2485

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

xvfb

有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了 很感谢 xvfb 这个工具给我们提供了相关的功能 比如在没有 X server 的机器上运行 gedit, 可以用下面的命令 xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24"  gedit xvfb 这个工具相当于一个wrapp

dyh19911008的专栏 1万+

CentOS中Xvfb的安装使用

有时运行程序报错,需X11… /opt/openoffice4/program/soffice.bin X11 error: Can't open display: Set DISPLAY environment variable, use -display option or check permissions of your X-Server (See "man X" re...

JesJiang的博客 1万+

centos 安装selenium+chrome+chromedriver+Xvfb

1.安装selenium pyhon version: 2.7 pipinstall selenium pipinstall pyvirtualdisplay yum install Xvfb yum install xorg-x11-fonts* 2.安装chrome和配置chromedriver # 下载chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm --no-...

sinat_30175689的博客 839

xvfb-maybe 使用教程

xvfb-maybe 使用教程 1、项目介绍 xvfb-maybe 是一个智能的小工具,旨在无缝衔接 Electron 应用的单元测试于各种操作系统环境,特别是针对 Linux 平台的 CI 场景。它通过判断当前系统是否为 Linux 以及 DISPLAY 环境变量是否已设置,来决定是否以 xvfb-run 方式执行指定命令。这使得你的测试既能适应没有图形界面的服务器环境,也能在本地开发环境中流畅...

gitblog_00781的博客 737

Linux使用XVFB做Selenium测试

Xvfb (X virtual frame buffer)程序可以用来作为完整X服务程序的替代。Xvfb 可以直接处理 Window 的图形化功能,并且不会把图像输出到萤幕上,也就是说,就算你的电脑没有启动 Xwindow , 你仍然可以执行任何图形程式。   为何要使用Xvfb: 在使用服务器(Linux)进行测试时,如果没有安装Xwindows,在使用Selenium测试的时候,就没办法...

weixin_41407477的博客 2164
上一篇: zip和tar如何处理符号链接(symbol link)
下一篇: ./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell
span76
博客等级 码龄18年 117粉丝 174原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值