Xvfb

Компьютерный дисплейный сервер
Xvfb
ТипДисплейный сервер
Веб-сайтx.org/releases/X11R7.7/doc/man/man1/Xvfb.1.xhtml

Xvfb или X виртуальный кадровый буфер — это сервер отображения , реализующий протокол сервера отображения X11 . В отличие от других серверов отображения, Xvfb выполняет все графические операции в виртуальной памяти, не показывая никаких выходных данных на экране. С точки зрения клиентского приложения X, он действует точно так же, как любой другой сервер отображения X , обслуживая запросы и отправляя события и ошибки по мере необходимости. Однако никаких выходных данных не отображается. Этот виртуальный сервер не требует, чтобы компьютер, на котором он работает, имел какой-либо графический адаптер , экран или какое-либо устройство ввода . Необходим только сетевой уровень. Xvfb поддерживает несколько расширений протокола X , таких как композитинг и поддержка OpenGL GLX через Mesa . [1]

Сценарии использования

Xvfb в основном используется для тестирования:

  1. Поскольку он использует тот же код, что и настоящий X-сервер, его можно использовать для тестирования частей кода, которые не связаны с конкретным оборудованием.
  2. Его можно использовать для тестирования клиентов в различных условиях, которые в противном случае потребовали бы использования различного оборудования; например, его можно использовать для проверки корректной работы клиентов на глубинах или с размерами экрана, которые редко поддерживаются оборудованием.
  3. Фоновая работа клиентов. ( Чтобы увидеть результат, можно использовать программу xwd или аналогичную программу для создания снимков экрана )
  4. В общем случае, запуск программ, требующих активности X-сервера, даже если они ничего не отображают с его помощью. (например, автоматизация тестирования браузера, такая как Selenium [2] или Jenkins , [3] HTML-отчеты Jira Clover и т. д.)

Примеры использования

Пример скриншота

В качестве примера следующая последовательность команд запускает виртуальный X-сервер кадрового буфера как display :1 , запускает на нем программу (xclock) и делает снимок виртуального экрана в файле image.xwd с помощью команды xwd:

 Xvfb  :1 & xclock -display :1 & xwd -display :1 -silent -root -out image.xwd            

Результат можно увидеть, запустив программу xwud ( xwud -in image.xwd).

Программа xvfb-run часто используется для автоматизации процесса поиска доступного дисплея и управления аутентификацией:

 команда xvfb-run 

Удаленное управление по SSH

Xvfb также используется для удаленного управления. VNC через SSH может быть быстрее, чем X11 через SSH, [4] специально уменьшая задержку через Интернет. [5] В этом случае Xvfb часто сочетается с легким оконным менеджером (таким как Fluxbox или Openbox ) и VNC-сервером, таким как X11vnc . Возможная последовательность команд для запуска этого на сервере:

 экспортировать ДИСПЛЕЙ = :1 Xvfb " $ДИСПЛЕЙ " -экран 0 1024x768x24 & fluxbox & x11vnc -дисплей " $ДИСПЛЕЙ " -bg -nopw -listen localhost -xkb                 

Следующий шаг — запустить SSH-клиент, например PuTTY, с включенным туннелированием на порт localhost 5900. Затем vncviewer может подключиться к localhost, чтобы получить удаленный контроль над сервером.

 ssh  -N  -T  -L 5900 :localhost:5900 user@remotehost & vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900       

Страница руководства x11vnc также содержит инструкции.

Xvnc (не путать с x11vnc) очень похож на Xvfb.

Смотрите также

Ссылки

  1. ^ "904851 – xvfb-run glxinfo не работает". bugzilla.redhat.com . -- Я думаю, вы также не получите GLX, если у вас не установлены mesa-dri-drivers в chroot. -- Спасибо. Это помогло.
  2. ^ «Как запустить тесты без графического интерфейса с помощью Xvfb | Elemental Selenium». elementalselenium.com . 18 июня 2024 г.
  3. ^ "Xvfb". plugins.jenkins.io . 14 июля 2021 г.
  4. ^ «Ускорение производительности Remote X». dav.lbl.gov .
  5. ^ "VNC: более быстрая альтернатива X11 - База знаний HECC". www.nas.nasa.gov .
  • Страница руководства Xvfb
  • Xvfb + Firefox – создание автоматических снимков экрана веб-страниц с помощью Xvfb и Mozilla Firefox
  • Xpra — альтернатива Xvfb, использующая простой сервер X11 с фиктивными драйверами
Взято с "https://en.wikipedia.org/w/index.php?title=Xvfb&oldid=1252503200"