Xvfb
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Тип | Дисплей-сервер |
---|---|
Веб-сайт | х |
Виртуальный кадровый буфер Xvfb или X — это сервер отображения, реализующий протокол сервера отображения X11 . В отличие от других серверов отображения, Xvfb выполняет все графические операции в виртуальной памяти, не отображая вывода на экран. С точки зрения X- клиентского приложения, оно действует точно так же, как любой другой X-сервер отображения , обслуживая запросы и отправляя соответствующие события и ошибки. Однако вывод не отображается. Этот виртуальный сервер не требует, чтобы компьютер, на котором он работает, имел какой-либо графический адаптер , экран или какое-либо устройство ввода . только сетевой Необходим уровень.
Xvfb поддерживает несколько расширений X-протокола , таких как композитинг и поддержка OpenGL GLX , через Mesa . [1]
Сценарии использования
[ редактировать ]Xvfb в основном используется для тестирования:
- Поскольку он использует общий код с реальным X-сервером, его можно использовать для тестирования частей кода, не связанных с конкретным оборудованием.
- Его можно использовать для тестирования клиентов в различных условиях, для которых в противном случае потребовалось бы использование различного оборудования; например, его можно использовать для проверки правильности работы клиентов на глубине или размерах экрана, которые редко поддерживаются оборудованием.
- Фоновый запуск клиентов. ( программу xwd или аналогичную программу для создания скриншота ) чтобы увидеть результат, можно использовать
- В общем, запуск программ, требующих активности X-сервера, даже если они ничего с ним не отображают. (например, автоматизация тестирования браузера, такая как Selenium [2] или Дженкинс , [3] Jira Clover и т. д.) HTML-отчеты
Примеры использования
[ редактировать ]Пример скриншота
[ редактировать ]В качестве примера следующая последовательность команд запускает 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 command
Удаленное управление через SSH
[ редактировать ]Xvfb также используется для удаленного управления. VNC через SSH может быть быстрее, чем X11 через SSH. [4] специально уменьшая задержку в Интернете. [5] В этом случае Xvfb часто комбинируется с облегченным оконным менеджером (таким как Fluxbox или Openbox ) и VNC-сервером, таким как X11vnc . Возможная последовательность команд для запуска этого на сервере:
export DISPLAY=:1
Xvfb "$DISPLAY" -screen 0 1024x768x24 &
fluxbox &
x11vnc -display "$DISPLAY" -bg -nopw -listen localhost -xkb
Следующим шагом является запуск SSH-клиента, такого как PuTTY, с включенным туннелированием на порт 5900 локального хоста. Затем vncviewer может подключиться к локальному хосту, чтобы получить удаленное управление сервером.
ssh -N -T -L 5900:localhost:5900 user@remotehost &
vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900
x11vnc Страница руководства также содержит инструкции.
Xvnc (не путать с x11vnc) очень похож на Xvfb.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «904851 – сбой при запуске glxinfo при выполнении xvfb» . bugzilla.redhat.com .
-- Я думаю, вы также не получите GLX, если у вас не установлены драйверы mesa-dri-drivers в chroot. -- Спасибо. Это помогло.
- ^ «Как запускать тесты без головы с помощью Xvfb | Elemental Selenium» . elementalselenium.com . 18 июня 2024 г.
- ^ «Xvfb» . плагины.jenkins.io . 14 июля 2021 г.
- ^ «Ускорение производительности Remote X» . dav.lbl.gov .
- ^ «VNC: более быстрая альтернатива X11 — база знаний HECC» . www.nas.nasa.gov .
Внешние ссылки
[ редактировать ]- Страница руководства Xvfb
- Xvfb + Firefox – создание автоматических снимков веб-страниц с помощью Xvfb и Mozilla Firefox.
- Xpra — альтернатива Xvfb с использованием простого сервера X11 с фиктивными драйверами.