Docker 文件中的 Qt 非交互式安装失败,并显示 QXcbConnection DISPLAY 错误



我正在运行一个执行非交互式安装的Docker文件。安装失败并显示错误。我可以确认非交互式安装在带有显示器的 Ubuntu 14.04 VM 上。我正在尝试在没有显示器的开发服务器上安装。

这是输出:

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)

我可以在不需要显示器的地方提供选项吗?

我尝试在 Ubuntu 上使用非 GUI 安装 apt-get 方法来安装 Qt,但问题是"apt-get qt5-default"不包含我需要的 Qt5 WebEngine。任何帮助将不胜感激。

以下是 Docker 文件 Qt 安装片段:

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

我尝试在 Ubuntu 上使用非 GUI 安装 apt-get 方法来安装 Qt,但问题是"apt-get qt5-default"不包含我需要的 Qt5 WebEngine

您可以(除了apt-get qt5-default(安装包含它的软件包。如果您检查 https://packages.ubuntu.com/search?keywords=web+engine 则有数据包。也许libqt5webengine5libqt5webenginewidgets5.因此,您的命令将是:

apt-get qt5-default libqt5webengine5

首先,确保在 .qs 控制器中启用了静默选项

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

然后,在调用Qt安装程序时使用--platform minimal选项。

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

最新更新