使用 Firefox 运行 Xvfb

Bes*_*ssa 5 firefox xvfb

我正在尝试使用此命令运行无头 firefox,sudo xvfb-run -a firefox http://google.com 因此出现此错误

(process:9000): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Xlib:  extension "RANDR" missing on display ":113".
Run Code Online (Sandbox Code Playgroud)

我已经搜索解决这个问题,参考这个链接/sf/ask/1256096411/

Xvfb :113 -screen 0 1024x768x24 -extension RANDR &
Run Code Online (Sandbox Code Playgroud)

当我重新运行我得到的同一个命令时Xlib: extension "RANDR" missing on display ":114".,依此类推

我怎么能解决这个问题?任何解决方案将不胜感激

dob*_*bey 3

运行 xvfb-run 作为:

xvfb-run -a -s "-screen 0 1024x768x24" firefox http://google.com

运行 Xvfb,然后运行 ​​xvfb-run 不会导致后一个版本在前一个 Xvfb 的显示器上运行。如果您希望手动运行 Xvfb,则需要为您希望在其他显示器上运行的应用程序设置 DISPLAY 变量。

无论如何,您不需要 Firefox 的 RANDR 扩展。它不需要在运行时调整显示大小。


Tom*_*ber 0

如果您想明确设置显示号码,请使用以下内容:

xvfb-run -n 113 --server-args='-screen 0, 1024x768x24' firefox http://google.com > /dev/null &
Run Code Online (Sandbox Code Playgroud)

这样您就可以稍后根据该已知数字执行操作,例如 x11grab 它或向该显示添加另一个程序。

如果您使用最新的软件包,则默认安装 RANDR 扩展。即在 Ubuntu Server 16.04 上:

$sudo apt-get install xvfb
$Xvfb :99 -screen 0 1024x768x24 > /dev/null &

$ xdpyinfo -display :99 | grep "number of extensions"  -A 25
number of extensions:    25
    BIG-REQUESTS
    Composite
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    GLX
    Generic Event Extension
    MIT-SCREEN-SAVER
    MIT-SHM
    Present
    **** RANDR ****
    RECORD
    RENDER
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    X-Resource
    XC-MISC
    XFIXES
    XINERAMA
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
Run Code Online (Sandbox Code Playgroud)