在docker容器中运行GUI应用程序时出现问题

问题描述

我一直在尝试在docker容器中运行GUI应用程序,并花了很多时间使它运行,但无法正常工作。这是我尝试运行docker容器的方式:

sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY myfirstdocker

我也尝试过这种方式和许多其他方式:

sudo docker run -it myfirstdoocker

但是我收到此错误消息:

qt.qpa.screen: QXcbConnection: Could not connect to display unix:0
enter code here

应用程序是用python编写的,我正在安装pyqt5,xvfb和您在下面看到的所有其他依赖项。我尝试使用ENV QT_QPA_PLATFORM在屏幕外将DISPLAY设置为0,并使用不同的命令运行docker容器,但仍然收到上述错误消息。我的应用程序脚本和dockerfile都位于同一文件夹中,并且具有ubuntu操作系统。

FROM ubuntu:18.04

RUN apt-get update

RUN apt-get update && apt-get install \
  -y --no-install-recommends python3 python3-virtualenv

COPY . .
ADD . .

RUN apt-get install -y python3-pip
RUN pip3 install --upgrade pip
RUN pip install --pre scapy[complete]
RUN pip install yapf
RUN apt-get install -y python3-pyqt5  
RUN apt-get install -y xvfb
RUN apt-get install -y qtbase5-dev
RUN apt-get install -y python-setuptools 

RUN apt-get install -y --no-install-recommends \
        libegl1-mesa \
        libgl1-mesa-dri \
        x11-xserver-utils \
        libxkbcommon-x11-0 \
        x11-utils \
        libnss3 \
        libasound2 \
    libxcb-xinerama0 \
    xserver-common

RUN apt-get install -y --no-install-recommends \
        libgstreamer1.0-0 \
        gstreamer1.0-plugins-base \
        gstreamer1.0-plugins-good \
        gstreamer1.0-plugins-bad \
        gstreamer1.0-plugins-ugly \
        gstreamer1.0-libav \
        gstreamer1.0-doc \
        gstreamer1.0-tools \
        libpulse-mainloop-glib0 \
        alsa-base \
        alsa-utils \
        pulseaudio

 ENV DISPLAY=:0
 ENV SCREEN=0
 ENV DBUS_SESSION_BUS_ADDRESS=/dev/null
 ENV XDG_RUNTIME_DIR=/run/user/1000

 RUN mkdir -p -m 0700 $XDG_RUNTIME_DIR && chown -R $USERNAME:users $XDG_RUNTIME_DIR

ENV QT_DEBUG_PLUGINS=0
ENV QT_VERBOSE true
ENV QT_TESTING true

CMD [ "python3","./my_app.py" ]

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...