CentOS7安装xvfb,解决服务器没有X-Server的问题

Linux服务器上一般没有图形界面,但是有时候有些软件又需要图形界面.比如oracle,自动化测试(puppeteer).运行的时候会提示没有没有X服务.

这时候一般不会去特地装图形界面.这个时候就要用xvfb来创建虚拟图形窗口.

xvfb介绍

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

安装和配置

1,安装Xvfb命令:

bash 复制代码
yum install -y Xvfb 
yum install -y xorg-x11-fonts*

2,Xvfb启动命令:

bash 复制代码
Xvfb :1 -screen 0 1024x768x24

:1 表示指定显示器编号为 1

-screen 0 表示指定的屏幕编号为 0

1024x768x24 表示指定显示器的分辨率为 1024x768,颜色深度为 24 位

3,设置环境变量:

bash 复制代码
export DISPLAY=:1

或者可以将其写入 /etc/profile 文件,这样每次登录都会自动设定DISPLAY环境变量:

bash 复制代码
echo "export DISPLAY=:1" >> /etc/profile
source ~/.bashrc

使用xvfb-run简化启动过程

xvfb-run 是一个Shell脚本,它可以自动启动和停止 Xvfb ,并将 DISPLAY 环境变量设为正确的值.使用它可以简化启动过程的步骤.

使用方法,只需在需要启动的命令前加上 xvfb-run 即可:

bash 复制代码
# 缺省参数运行firefox
xvfb-run firefox

# 指定参数运行firefox
xvfb-run -a --server-args="-screen 0 1280x800x24 -nolisten tcp" firefox
相关推荐
Crazy________2 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
云飞云共享云桌面2 小时前
广东精密机械设备工厂8-10人共享一台SolidWorks设计服务器
运维·服务器·3d·自动化·汽车·制造
jieyucx2 小时前
【高级利用】条件竞争与逻辑漏洞:与服务器赛跑的艺术
android·运维·服务器·web安全·文件上传
tianyuanwo2 小时前
服务器OS组件研发效能度量可视系统——顶层方案设计与阶段性规划
运维·服务器·度量系统
初级炼丹师(爱说实话版)3 小时前
Ubuntu服务器配置docker
服务器·ubuntu·docker
机建狂魔3 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
黄华SJ520it3 小时前
二二复制定点裂变双轨商城系统开发:原理、架构与实战指南
运维·小程序·架构·系统开发
生活爱好者!3 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
xiaoxiangsiyan4 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
土星云SaturnCloud4 小时前
智慧温室精准环控:土星云边缘计算设备实现温光水肥本地闭环调节
服务器·人工智能·ai·边缘计算