Я пытаюсь запустить headlesless 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".
Я искал для решения этой проблемы, обращающейся к этой ссылке https://stackoverflow.com/questions/17944234/xlib-extension-randr-missing-on-display-21-trying-to-run-headless-googl
Xvfb :113 -screen 0 1024x768x24 -extension RANDR &
когда я повторно выполняю ту же команду, я добрался Xlib: extension "RANDR" missing on display ":114".
и так далее
Как я мог решить эту проблему? Любое решение будет благодарно
Выполненный xvfb-управляемый как:
xvfb-run -a -s "-screen 0 1024x768x24" firefox http://google.com
Выполнение Xvfb, и затем xvfb-управляемый не заставит последнее воплощение работать на дисплее бывшего Xvfb. Необходимо было бы установить переменную ДИСПЛЕЯ для приложения, Вы хотите работать на том другом дисплее, если Вы хотите выполнить Xvfb вручную.
Вам не нужно расширение RANDR для Firefox так или иначе. Это не должно изменять размер дисплея при выполнении.
Если Вы хотите явно определить свой номер дисплея, используют что-то как:
xvfb-run -n 113 --server-args='-screen 0, 1024x768x24' firefox http://google.com > /dev/null &
Этот способ, которым можно сделать вещи на основе того известного числа позже, как, говорит, что x11grab это или добавляют другую программу к тому дисплею.
расширение RANDR установлено по умолчанию при использовании последних пакетов. т.е. на Сервере Ubuntu 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