如何解决在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 举报,一经查实,本站将立刻删除。