From 3cccf789dba336a22e13ccd4d310bf85e41e1a27 Mon Sep 17 00:00:00 2001 From: Tim Kluge <timklge@gmail.com> Date: Wed, 26 Aug 2020 20:43:06 +0200 Subject: [PATCH] ref #1: Experimental vnc docker setup --- Dockerfile | 29 +++++++++++----------------- config.xlaunch | 2 -- docker-run-mac.sh | 16 --------------- docker-run.bat => docker-run-vnc.bat | 5 +---- docker-run-vnc.sh | 8 ++++++++ docker-run.sh | 23 ---------------------- vnc-entrypoint.sh | 4 ++++ 7 files changed, 24 insertions(+), 63 deletions(-) delete mode 100644 config.xlaunch delete mode 100644 docker-run-mac.sh rename docker-run.bat => docker-run-vnc.bat (56%) create mode 100644 docker-run-vnc.sh delete mode 100755 docker-run.sh create mode 100644 vnc-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 4cf621d..1584de1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,21 @@ -FROM osrf/ros:melodic-desktop-full-bionic +FROM henry2423/ros-vnc-ubuntu:melodic -ARG uid=1000 -ARG gid=1000 +USER root -COPY entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +# Updated ros gpg key: https://github.com/henry2423/docker-ros-vnc/issues/1 +RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN apt-key del 421C365BD9FF1F717815A3895523BAEEB01FA116 -ENV USERNAME ros -RUN useradd -m $USERNAME && \ - echo "$USERNAME:$USERNAME" | chpasswd && \ - usermod --shell /bin/bash $USERNAME && \ - usermod -aG sudo $USERNAME && \ - echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME && \ - chmod 0440 /etc/sudoers.d/$USERNAME && \ - # Replace 1000 with your user/group id - usermod --uid $uid $USERNAME && \ - groupmod --gid $gid $USERNAME +COPY ./vnc-entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh RUN apt-get update && apt-get install -y \ python-catkin-tools bash \ mesa-utils libgl1-mesa-glx -WORKDIR /home/$USERNAME -COPY src /home/$USERNAME/src -RUN rosdep install --from-paths . -r -y +COPY ./src /src/src +WORKDIR /src/ +ENV ROS_DISTRO=melodic +RUN apt-get update && rosdep install --from-paths . -r -y RUN catkin config \ --extend /opt/ros/melodic && \ catkin build diff --git a/config.xlaunch b/config.xlaunch deleted file mode 100644 index 04b7fae..0000000 --- a/config.xlaunch +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0"?> -<XLaunch xmlns="http://www.straightrunning.com/XmingNotes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.straightrunning.com/XmingNotes XLaunch.xsd" WindowMode="MultiWindow" ClientMode="NoClient" Display="0" Clipboard="true" NoAccessControl="true"/> diff --git a/docker-run-mac.sh b/docker-run-mac.sh deleted file mode 100644 index 1e407c8..0000000 --- a/docker-run-mac.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -docker build . -t ceti-panda-gazebo-workspace - -XSOCK=/tmp/.X11-unix - -/usr/X11/bin/xhost + 127.0.0.1 -defaults write org.macosforge.xquartz.X11 enable_iglx -bool true - -docker run -it \ - --volume=$XSOCK:$XSOCK:rw \ - --env="LIBGL_ALWAYS_INDIRECT=1" \ - --env="DISPLAY=host.docker.internal:0" \ - --user="ros" \ - ceti-panda-gazebo-workspace \ - "$@" \ No newline at end of file diff --git a/docker-run.bat b/docker-run-vnc.bat similarity index 56% rename from docker-run.bat rename to docker-run-vnc.bat index 440af3a..c5d3bf3 100644 --- a/docker-run.bat +++ b/docker-run-vnc.bat @@ -1,10 +1,7 @@ -start config.xlaunch - docker build . -t ceti-panda-gazebo-workspace docker run -it^ - --env="DISPLAY=host.docker.internal:0"^ - --user="ros"^ + -p 5901:5901 -p 6901:6901^ ceti-panda-gazebo-workspace^ %* diff --git a/docker-run-vnc.sh b/docker-run-vnc.sh new file mode 100644 index 0000000..c0f40ed --- /dev/null +++ b/docker-run-vnc.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +docker build . -t ceti-panda-gazebo-workspace + +docker run -it \ + -p 5901:5901 -p 6901:6901 \ + ceti-panda-gazebo-workspace \ + "$@" \ No newline at end of file diff --git a/docker-run.sh b/docker-run.sh deleted file mode 100755 index a533680..0000000 --- a/docker-run.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# http://wiki.ros.org/docker/Tutorials/GUI - -docker build . -t ceti-panda-gazebo-workspace \ - --build-arg UID=$UID \ - --build-arg GID=$GID - -XSOCK=/tmp/.X11-unix -XAUTH=/tmp/.docker.xauth -touch $XAUTH -xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - - -docker run -it \ - --volume=$XSOCK:$XSOCK:rw \ - --volume=$XAUTH:$XAUTH:rw \ - --env="XAUTHORITY=${XAUTH}" \ - --env="DISPLAY" \ - --device=/dev/dri \ - --group-add video \ - --user="ros" \ - ceti-panda-gazebo-workspace \ - "$@" \ No newline at end of file diff --git a/vnc-entrypoint.sh b/vnc-entrypoint.sh new file mode 100644 index 0000000..483d5fa --- /dev/null +++ b/vnc-entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash +source /opt/ros/melodic/setup.bash +source /src/devel/setup.bash +exec /dockerstartup/vnc_startup.sh $@ \ No newline at end of file -- GitLab