Skip to content
Docker image to provide HTML5 VNC interface to access Ubuntu LXDE and LXQT desktop environment
Branch: master
Clone or download
Doro Wu
Doro Wu fix: armhf
Latest commit 35d0080 Mar 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
flavors feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
hooks test: hooks Mar 20, 2019
image feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
screenshots
web fix: armhf Mar 20, 2019
.dockerignore
.gitignore feat: support video mode Mar 27, 2018
.gitmodules
DEVELOPMENT.md feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
Dockerfile feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
Dockerfile.amd64
Dockerfile.armhf fix: armhf Mar 19, 2019
Dockerfile.j2 fix: armhf Mar 19, 2019
LICENSE
Makefile feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
README.md feat: merge mcree:master supporting Dockerfile by jinja Mar 18, 2019
a

README.md

docker-ubuntu-vnc-desktop

Docker Pulls Docker Stars

Docker image to provide HTML5 VNC interface to access Ubuntu 16.04 LXDE desktop environment.

Quick Start

Run the docker container and access with port 6080

docker run -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc

Browse http://127.0.0.1:6080/

Ubuntu Version

Choose your favorite Ubuntu version with tags

  • bionic: Ubuntu 18.04 (latest)
  • bionic-lxqt: Ubuntu 18.04 LXQt
  • xenial: Ubuntu 16.04
  • trusty: Ubuntu 14.04

VNC Viewer

Forward VNC service port 5900 to host by

docker run -p 6080:80 -p 5900:5900 dorowu/ubuntu-desktop-lxde-vnc

Now, open the vnc viewer and connect to port 5900. If you would like to protect vnc service by password, set environment variable VNC_PASSWORD, for example

docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword dorowu/ubuntu-desktop-lxde-vnc

A prompt will ask password either in the browser or vnc viewer.

HTTP Base Authentication

This image provides base access authentication of HTTP via HTTP_PASSWORD

docker run -p 6080:80 -e HTTP_PASSWORD=mypassword dorowu/ubuntu-desktop-lxde-vnc

SSL

To connect with SSL, generate self signed SSL certificate first if you don't have it

mkdir -p ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx.key -out ssl/nginx.crt

Specify SSL port by SSL_PORT, certificate path to /etc/nginx/ssl, and forward it to 6081

docker run -p 6081:443 -e SSL_PORT=443 -v ${PWD}/ssl:/etc/nginx/ssl dorowu/ubuntu-desktop-lxde-vnc

Screen Resolution

The Resolution of virtual desktop adapts browser window size when first connecting the server. You may choose a fixed resolution by passing RESOLUTION environment variable, for example

docker run -p 6080:80 -e RESOLUTION=1920x1080 dorowu/ubuntu-desktop-lxde-vnc

Default Desktop User

The default user is root. You may change the user and password respectively by USER and PASSWORD environment variable, for example,

docker run -p 6080:80 -e USER=doro -e PASSWORD=password dorowu/ubuntu-desktop-lxde-vnc

Sound (Preview version and Linux only)

It only works in Linux.

First of all, insert kernel module snd-aloop and specify 2 as the index of sound loop device

sudo modprobe snd-aloop index=2

Start the container

docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc

where --device /dev/snd -e ALSADEV=hw:2,0 means to grant sound device to container and set basic ASLA config to use card 2.

Launch a browser with URL http://127.0.0.1:6080/#/?video, where video means to start with video mode. Now you can start Chromium in start menu (Internet -> Chromium Web Browser Sound) and try to play some video.

Following is the screen capture of these operations. Turn on your sound at the end of video!

demo video

Generate Dockerfile from jinja template

Dockerfile and configuration can be generated by template.

  • arch: one of amd64 or armhf
  • flavor: refer to file in flavor/flavor.yml
  • image: base image
  • localbuild: build from local that will use mirror site if set
  • desktop: desktop environment which is set in flavor
  • addon_package: Debian package to be installed which is set in flavor

Dockerfile and configuration are re-generate if they do not exist. Or you may force to re-generate by removing them with the command make clean.

Troubleshooting and FAQ

  1. boot2docker connection issue, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/2
  2. Multi-language supports, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/80
  3. Autostart, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/85
  4. x11vnc arguments(multiptr), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/101

License

See the LICENSE file for details.

You can’t perform that action at this time.