Добавление к вышеуказанным ответам. Я был в аналогичной ситуации во время пробных тестов для Code2Pdf на travis. Я решил проблему, используя xvfb-run. Цитирование из страницы руководства,
Xvfb перспектива является оболочкой для команды Xvfb (1x), которая упрощает задачу выполнения команд (как правило, клиент X, или сценарий, содержащий список клиентов, которые будут работать) в пределах виртуальная среда X-сервера.
Сценарий, который я написал, было:
check_install_xvfb() { # check and install xvfb
if hash xvfb-run 2>/dev/null; then
:
else
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xvfb
fi
}
check_install_xvfb
export DISPLAY=localhost:1.0
xvfb-run -a bash .misc/tests.sh
# .misc/tests.sh is script that runs unit tests. You can replace it with something suitable to you.
Пожалуйста, медведь с моим стилем Баш кода. Я программист noob bash.
Выполнение вышеуказанного сценария помогло мне. Вы можете посмотреть failing build и passing build.
Надеюсь, это поможет
Просто быстрое наблюдение.Что это делает: экспортируйте DISPLAY =: 0.0 и почему мое приложение завершилось неудачей из-за этого? Спасибо, – ant2009
ваш интерфейс интерфейса работает с клиент-серверной моделью. DISPLAY сообщает приложениям, где находится его экран, обычно IP: формат DISPLAY.SCREEN, но без IP он использует localhost. Но, учитывая правильные условия, вы можете «бросить» и приложение на любом доступном для сети экране. –