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