Запуск приложения с графическим интерфейсом пользователя в службе CI без X11

У меня есть приложение с графическим интерфейсом, для которого я хотел бы настроить тестирование с помощью GitHub Actions. Я уже настроил его так, чтобы GitHub Actions компилировал приложение на Ubuntu, но теперь я хотел бы запустить приложение на несколько секунд и проверить, вылетает оно или нет. Однако в настоящее время он не запускается, потому что не установлен сервер X11.

Есть ли способ установить фиктивный сервер X11, чтобы приложение работало? Меня не волнует, что на самом деле отображается, я просто хочу, чтобы приложение могло открываться без сбоев из-за отсутствия сервера X11.

В качестве альтернативы, есть ли способ установить фиктивный сервер Wayland? Это приложение также можно запустить на Wayland.

3 ответа

Вы можете попробовать xvfb-run из проекта Xvfb . Он запускает ваше приложение (я) на полностью совместимом сервере X Window без какого-либо оборудования (вы даже можете запускать x11vnc среди своих приложений и подключаться к серверу через VNC, но я считаю, что на данный момент это не ваш случай). Лично я использую xvfb-run для изолированной сборки пакетов с поддержкой X.org без экрана, когда, например, пакету необходимо сделать снимок самого себя при создании документации.

      $ xvfb-run x.org_application_binary

Я использую эту команду:

        linux:
    runs-on: ubuntu-latest

    steps:
        run: |
          export DISPLAY=:99
          sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
          mycommand

Да, это возможно. Просто создайте образ Docker в своей среде X11 и разверните в нем свое приложение.

Кроме того, вы также можете просто установить X11 на свой компьютер. Обязательно делайте это при каждом запуске, так как среды всегда полностью сбрасываются:

sudo apt-get install xorg openbox
Другие вопросы по тегам