Неинтерактивная установка Qt в файле Docker завершается ошибкой отображения QXcbConnection

#qt #docker #ubuntu #qt-installer

#qt #docker #ubuntu #qt-installer

Вопрос:

Я запускаю файл Docker, который выполняет неинтерактивную установку. Установка завершается ошибкой отображения. Я могу подтвердить, что неинтерактивная установка работает на виртуальной машине Ubuntu 14.04 с дисплеем. Я пытаюсь установить на сервер разработки без отображения.

Вот результат:

 Step 15/21 : ENV QT_VERSION_A=5.8
---> Using cache
---> 585508f8fb4e
Step 16/21 : ENV QT_VERSION_B=5.8.0
---> Using cache
---> 32eb654acb19
Step 17/21 : ENV QT_VERSION_SCRIPT=580
---> Using cache
---> 7be314d66824
Step 18/21 : RUN wget https://download.qt.io/archive/qt/${QT_VERSION_A}/${QT_VERSION_B}/qt-opensource-linux-x64-${QT_VERSION_B}.run
---> Using cache
---> b16f68a4774e
Step 19/21 : RUN chmod  x qt-opensource-linux-x64-${QT_VERSION_B}.run
---> Using cache
---> dcd41dd5c287
Step 20/21 : COPY qt-noninteractive.qs /qt-noninteractive.qs
---> Using cache
---> 72c46b2abe23
Step 21/21 : RUN ./qt-opensource-linux-x64-${QT_VERSION_B}.run --script qt-noninteractive.qs
---> Running in e75d96617513
QXcbConnection: Could not connect to display
Aborted (core dumped)
  

Есть ли вариант, который я могу указать, где он не нуждается в отображении?

Я попытался использовать метод apt-get для установки Qt без использования GUI в Ubuntu, но проблема в том, что «apt-get qt5-default» не содержит веб-движка Qt5, который мне требуется. Любая помощь будет оценена.

Вот фрагмент установки Qt файла Docker:

 ENV QT_VERSION_A=5.8
ENV QT_VERSION_B=5.8.0
ENV QT_VERSION_SCRIPT=580

RUN wget https://download.qt.io/archive/qt/${QT_VERSION_A}/${QT_VERSION_B}/qt-opensource-linux-x64-${QT_VERSION_B}.run

RUN chmod  x qt-opensource-linux-x64-${QT_VERSION_B}.run

COPY qt-noninteractive.qs /qt-noninteractive.qs

RUN ./qt-opensource-linux-x64-${QT_VERSION_B}.run --script qt-noninteractive.qs
  

Комментарии:

1. Попробуйте использовать -platform minimal , должно помочь с установкой X без головы. Также проверьте этот файл appveyor, в котором есть шаги (т.Е. Установите Qt на CI) github.com/stofte/gitbumr/blob/develop/appveyor.yml

Ответ №1:

Я попытался использовать метод apt-get для установки Qt, не связанный с GUI, в Ubuntu, но проблема в том, что «apt-get qt5-default» не содержит Qt5 WebEngine, который мне требуется

Вы могли бы (в дополнение к apt-get qt5-default ) установить пакет, который его содержит. Если вы проверите https://packages.ubuntu.com/search ?ключевые слова= web engine есть пакеты. Может libqt5webengine5 быть, или libqt5webenginewidgets5 . Таким образом, ваша команда будет:

 apt-get qt5-default libqt5webengine5
  

Комментарии:

1. Я не думаю, что это доступно в Ubuntu 14.04, который все еще использует WebKit.

Ответ №2:

Во-первых, убедитесь, что у вас включена опция отключения звука в вашем .контроллер qs

 function Controller() {
    gui.setSilent(true);
  

Затем используйте эту --platform minimal опцию при вызове программы установки Qt.

 RUN ./qt-opensource-linux-x64-${QT_VERSION_B}.run --platform minimal --script qt-noninteractive.qs