Skip to content

A Docker image with the Xfce desktop environment, VirtualGL, XRDP and XRDP PulseAudio module.

License

Notifications You must be signed in to change notification settings

hectorm/docker-xubuntu

Repository files navigation

Xubuntu on Docker

A Docker image based on Ubuntu 24.04 with the Xfce desktop environment, xrdp, xrdp PulseAudio module and VirtualGL.

Preview

Start an instance

Docker CLI

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

Docker Compose

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.

Environment variables

  • 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).

License

See the license file.