Based on the linuxserver/rdesktop:ubuntu-mate image by linuxserver.io
Dockerized Ubuntu Desktop environment with RDP and SSH access used by TalTech IVAR Lab. Primarily intended as a base image for our ROS Desktop images.
Learn why this project was created and how it is useful by reading our Motivation doc.
In addition to what is already in linuxserver/rdesktop:ubuntu-mate, our image applies the following modifications:
- OpenSSH server
- Command line packages:
- Terminator as the default terminal application
- Zsh with preconfigured plugins for the default abc user
- Utilities:
- GUI packages:
- Custom xrdp login screen styling:
- Darker colors to match the default desktop theme
- Updated xrdp logo
- Desktop look:
Once you have installed Docker, to launch the container directly:
docker run -d \
--name=ubuntu-desktop \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Tallinn \
-p 3390:3389 `# rdp` \
-p 2222:22 `# ssh` \
--shm-size="1gb" \
--security-opt seccomp=unconfined \
--restart unless-stopped \
taltechivarlab/ubuntu-desktop:22.04
Once the container has started, you must ssh
into it (default password is abc
):
ssh abc@localhost -p 2222
...and change abc user's default password following the displayed instructions.
After that, you can use login abc and the newly set password to log in to the container using any remote desktop client.
💡 When inside the container, you can switch your default shell to Zsh by running the following command in the terminal:
sudo usermod --shell $(command -v zsh) abc
☝ You can stop and restart the created container from Docker without losing your data. It is equivalent to system shutdown from the containerized Ubuntu's point of view. However, keep in mind that deleting your container will destroy all the data and software contained inside.
For more advanced use cases, such as opening additional ports and enabling hardware graphics acceleration, please refer to the Advanced Usage doc.
If you want to build this image locally instead of pulling it from Dockerhub, clone this repository and run the build:
docker build --file Dockerfile_Jammy -t taltechivarlab/ubuntu-desktop:22.04 .
In case you want to build a multi-architecture image (e.g. to run it on a Raspberry Pi), you can build for multiple platforms using the Docker Buildx backend (by specifying them in the --platform
flag):
docker buildx build --platform=linux/amd64,linux/arm64 --file Dockerfile_Jammy -t taltechivarlab/ubuntu-desktop:22.04 --output=oci .
The project is in early stages of development, so we are not yet accepting contributions from outside our university organization.