diff --git a/Dockerfile b/Dockerfile index 4cf621dc8c95ac3ca24feea914cca46b29b5fab5..1584de1a69dc9185ddcea59362d5fac68499dfcb 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 04b7faeb2ff618014c25a18c332d40fa1053e284..0000000000000000000000000000000000000000 --- 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 1e407c85b6e309d59ccd04ddd2e70605480d7bf7..0000000000000000000000000000000000000000 --- 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 440af3a4c2242d593f1e85e201328adeaf9cf044..c5d3bf3ce5e44eaebfe0ad8ecb815cbcb7e46903 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 0000000000000000000000000000000000000000..c0f40ed3cb3c54a89c641ec51b87cae2c8bd56f7 --- /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 a53368027d31bcd98a437b0df6c52ec89968d23a..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..483d5fa9801cad0b4d04351b66a5d1dfbed4133b --- /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