anzuzeigen Wenn ich versuche, eine grafische Benutzeroberfläche, wie xclock zum Beispiel zu laufen bekomme ich den Fehler:Wie GUI-Anwendungen aus dem Innern eines Docker Behälter
Error: Can't open display:
Ich versuche Docker zu verwenden, um einen ROS Behälter zu laufen, und ich muss die GUI-Anwendungen sehen, die darin laufen.
Ich habe dies einmal nur mit einem Vagrant VM und war in der Lage, X11 zu verwenden, um es zu erledigen.
Bisher habe ich versucht habe Putting Weg # 1 und # 2 in eine Docker-Datei auf der Grundlage der Informationen hier: http://wiki.ros.org/docker/Tutorials/GUI
Dann habe ich versucht hier die meisten der dockerfile Kopieren: https://hub.docker.com/r/mjenz/ros-indigo-gui/~/dockerfile/
Hier meine aktuelle docker-Datei:
# Set the base image to use to ros:kinetic
FROM ros:kinetic
# Set the file maintainer (your name - the file's author)
MAINTAINER me
# Set ENV for x11 display
ENV DISPLAY $DISPLAY
ENV QT_X11_NO_MITSHM 1
# Install an x11 app like xclock to test this
run apt-get update
run apt-get install x11-apps --assume-yes
# Stuff I copied to make a ros user
ARG uid=1000
ARG gid=1000
RUN export uid=${uid} gid=${gid} && \
groupadd -g ${gid} ros && \
useradd -m -u ${uid} -g ros -s /bin/bash ros && \
passwd -d ros && \
usermod -aG sudo ros
USER ros
WORKDIR /home/ros
# Sourcing this before .bashrc runs breaks ROS completions
RUN echo "\nsource /opt/ros/kinetic/setup.bash" >> /home/ros/.bashrc
# Copy entrypoint script into the image, this currently echos hello world
COPY ./docker-entrypoint.sh/
ENTRYPOINT ["/docker-entrypoint.sh"]