Как добавить отсутствующее расширение RANDR
Я настроил сервер xvfb на моем автономном сервере, и когда я запускаю DISPLAY=:99 firefox, я получаю это исключение, отсутствующее расширение RANDR
Многие из них сказали отключить некоторые xinerna из файла xorg.conf, но этот файл не создается в моем случае.
Поэтому я ищу, как добавить отсутствующее расширение RANDR.
3 ответа
Во-первых, Xvfb не читает конфигурацию из xorg.conf. Xvfb является вариантом серверов KDrive X и, как и все члены этого семейства, получает свою конфигурацию из командной строки.
Это правда, что XRandR и Xinerama являются взаимоисключающими, но в случае Xvfb Xinerama вообще не существует. Вы можете включить расширение XRandR, запустив Xvfb, используя как минимум следующие параметры командной строки
Xvfb +extension RANDR [further options]
Я вижу это сообщение об ошибке, когда я запускаю Firefox без селена с помощью xvfb. Оказывается, сообщение было красной селедкой для меня. Сообщение является только предупреждением, а не ошибкой. Это не то, почему Firefox не запускался правильно.
Причина, по которой Firefox не запускался для меня, заключалась в том, что он был обновлен до версии, которая больше не была совместима с драйверами Selenium, которые я использовал. Я обновил драйверы selenium до последней версии, и Firefox снова запустился нормально (даже с этим предупреждением о RANDR).
Новые версии Firefox часто совместимы только с одной или двумя версиями Selenium. Иногда Firefox выпускается с НЕТ совместимой версией Selenium. Когда это произойдет, может потребоваться неделя или две для выпуска новой версии Selenium. Из-за этого я теперь сохраняю версию Firefox, которая, как известно, работает с версией Selenium, которую я установил. В дополнение к версии Firefox, которая обновляется менеджером пакетов, у меня установлена версия в /opt/
(например /opt/firefox31/
). Selenium Java API принимает аргумент для местоположения бинарного файла Firefox, который будет использоваться. Недостатком является то, что более старые версии Firefox имеют известные уязвимости безопасности и не должны использоваться с ненадежным контентом.
У меня была такая же проблема с Firefox 30 + Selenium 2.49 + Ubuntu 15.04.
Он работал нормально с Ubuntu 14, но после обновления до 15.04 я получил то же самое RANDR
предупреждение и проблема при запуске Firefox с использованием Xfvb.
После добавления +extension RANDR
это снова сработало.
$ vim /etc/init/xvfb.conf
#!upstart
description "Xvfb Server as a daemon"
start on filesystem and started networking
stop on shutdown
respawn
env XVFB=/usr/bin/Xvfb
env XVFBARGS=":10 -screen 1 1024x768x24 -ac +extension GLX +extension RANDR +render -noreset"
env PIDFILE=/var/run/xvfb.pid
exec start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --exec $XVFB -- $XVFBARGS >> /var/log/xvfb.log 2>&1