A Docker image based on Ubuntu 24.04 with the Xfce desktop environment, xrdp, xrdp PulseAudio module and VirtualGL.
docker run \
--name xubuntu \
--detach \
--shm-size 2g \
--publish 3322:3322/tcp \
--publish 3389:3389/tcp \
--device /dev/dri:/dev/dri \
docker.io/hectorm/xubuntu:latest
services:
xubuntu:
image: 'docker.io/hectorm/xubuntu:latest'
shm_size: '2gb'
ports:
- '3322:3322/tcp'
- '3389:3389/tcp'
devices:
- '/dev/dri:/dev/dri'
You will be able to connect to the container via SSH through 3322/TCP port and RDP through 3389/TCP port.
Important: some software (like Firefox) need the shared memory to be increased, if you encounter any problem related to this you may use the
--shm-size
option.
UNPRIVILEGED_USER_UID
: unprivileged user UID (1000
by default).UNPRIVILEGED_USER_GID
: unprivileged user GID (1000
by default).UNPRIVILEGED_USER_NAME
: unprivileged user name (user
by default).UNPRIVILEGED_USER_PASSWORD
: unprivileged user password (password
by default).UNPRIVILEGED_USER_GROUPS
: comma-separated list of additional GIDs for the unprivileged user (none by default).UNPRIVILEGED_USER_SHELL
: unprivileged user shell (/bin/bash
by default).SERVICE_XRDP_BOOTSTRAP_ENABLED
: enable xrdp bootstrap service, initialises user session on startup (false
by default).SERVICE_XORG_HEADLESS_ENABLED
: enable headless X server service (false
by default).
See the license file.