diff --git a/Dockerfile b/Dockerfile index baf4332..30ac7f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM ubuntu:jammy as base ENV DEBIAN_FRONTEND=noninteractive +ENV PASSWORD=vnc4me RUN apt-get update # Build tools @@ -29,6 +30,11 @@ RUN apt-get install -y x11-apps # develop only RUN apt-get install -y net-tools socat +ENV PATH=$PATH:/opt/TurboVNC/bin +RUN mkdir ~/.vnc/ +RUN echo $PASSWORD | vncpasswd -f > ~/.vnc/passwd +RUN chmod 0600 ~/.vnc/passwd + EXPOSE 5900 COPY app/*.sh /app/ @@ -36,4 +42,7 @@ CMD ["/app/app.sh"] # https://dunedlin.wordpress.com/2020/10/24/a-minimal-x11-install/ # https://askubuntu.com/questions/1313445/how-do-i-install-vnc-on-a-headless-ubuntu-20-10 -# https://github.com/mviereck/x11docker/wiki/How-to-access-X-over-TCP-IP-network \ No newline at end of file +# https://github.com/mviereck/x11docker/wiki/How-to-access-X-over-TCP-IP-network +# https://jaydenm.com/blog/docker-x11-desktop/ +# https://github.com/karinepires/docker-secure-vncserver/blob/master/Dockerfile +# https://github.com/theonemule/docker-opengl-turbovnc/blob/master/dockerfile diff --git a/app/app.sh b/app/app.sh index 04a92c9..820eed7 100755 --- a/app/app.sh +++ b/app/app.sh @@ -2,8 +2,7 @@ export DISPLAY=:${DISPLAY_NUM} echo Display at ${DISPLAY} with ${SCREEN_W}x${SCREEN_H}x24 -exec Xvfb ${DISPLAY} -screen 0 ${SCREEN_W}x${SCREEN_H}x24 -shmem -pixdepths 1 4 8 15 16 24 32 -fakescreenfps 60 +xinerama -fbdir /tmp >/var/log/xvfb.log & +exec /opt/TurboVNC/bin/Xvnc ${DISPLAY} -geometry ${SCREEN_W}x${SCREEN_H} -depth 24 +xinerama -securitytypes none >/var/log/xvfb.log & exec icewm-session -o /var/log/icewm.log & exec socat TCP-LISTEN:60${DISPLAY_NUM},fork,bind=0.0.0.0 UNIX-CONNECT:/tmp/.X11-unix/X${DISPLAY_NUM} & -exec x11vnc -nowf -display ${DISPLAY} -forever -noxdamage -shared >/var/log/x11vnc.log 2>&1 - +bash --login diff --git a/bash.sh b/bash.sh deleted file mode 100755 index c3ac7f9..0000000 --- a/bash.sh +++ /dev/null @@ -1,3 +0,0 @@ -#/bin/bash - -docker run --rm --net bridge -p 5910:5900/tcp -e DISPLAY=:99 -it xserver-vnc bash --login \ No newline at end of file diff --git a/run.sh b/run.sh index 3d890bd..2a86add 100755 --- a/run.sh +++ b/run.sh @@ -1,3 +1,4 @@ #/bin/bash -docker run -d --rm --net bridge -p 5910:5900/tcp -e DISPLAY_NUM=99 -e SCREEN_W=1536 -e SCREEN_H=960 xserver-vnc +DISPLAY_NUM=99 +docker run --rm --net bridge -p 5910:59${DISPLAY_NUM}/tcp -e DISPLAY_NUM=${DISPLAY_NUM} -e SCREEN_W=1536 -e SCREEN_H=960 -it xserver-vnc