Xvfb —— 虚拟X server

Xvfb − virtual framebuffer X server for X Version 11

Xvfb是一个X server,主要用于在没有显示设备的主机上,进行拥有图形界面程序的运行。比如自动化测试

Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

安装

1
sudo apt install xvfb

启动

1
2
Xvfb -ac :3 -screen 0 1280x1024x24 > /dev/null 2>&1
export DISPLAY=:3

VNC测试

1
x11vnc -display :3 -N -forever -shared -reopen -passwd 123456 -desktop 1 -bg -q

输出:

1
2
The VNC desktop is:      xxx-pc:3
PORT=5903

由于是本地测试,通过remmina登录VNC127.0.0.1:5903,将获取到DISPLAY=:3窗口的所有屏幕输出。比如此时在终端执行glxgears,将在vnc远端获取到图像。

测试脚本:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

killall x11vnc
killall glxgears

Xvfb -ac :3 -screen 0 1280x1024x24 > /dev/null 2>&1
export DISPLAY=:3

x11vnc -display :3 -N -forever -shared -reopen -passwd 123456 -desktop 1 -bg -q
echo "Password: 123456"

glxgears &

VNC登录:

1
vncviewer 127.0.0.1:5903