https://github.com/rattydave/docker-ubuntu-xrdp-mate-custom
Ubuntu with XRDP and MATE
https://github.com/rattydave/docker-ubuntu-xrdp-mate-custom
docker mate mate-desktop ubuntu xrdp
Last synced: 23 days ago
JSON representation
Ubuntu with XRDP and MATE
- Host: GitHub
- URL: https://github.com/rattydave/docker-ubuntu-xrdp-mate-custom
- Owner: RattyDAVE
- Created: 2017-05-21T21:48:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-08T13:15:06.000Z (8 months ago)
- Last Synced: 2025-03-31T04:04:16.135Z (30 days ago)
- Topics: docker, mate, mate-desktop, ubuntu, xrdp
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/rattydave/docker-ubuntu-xrdp-mate-custom/
- Size: 11.4 MB
- Stars: 110
- Watchers: 5
- Forks: 719
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
Use https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom/issues to send feedback, issues, comments and general chat.
### Quick Start
Run the following to get started.
```
echo "user:pass:N" > CREATEUSERS.TXT
docker run --name RattyDAVE20.04 \
--privileged=true \
-p 3389:3389 \
-e TZ="Europe/London" \
-v ${PWD}/CREATEUSERS.TXT:/root/createusers.txt \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom
```Then on a windows machine type
```
mstsc
```Then put in the IP address of the docker host.
Login using the username `user` and the password `pass`
# A virtual desktop docker container with persistant user information.
This image is automatically rebuilt when updates are realeased for Ubuntu.
# Ubuntu 20.04 with XRDP and MATE. (latest)
Contents:
- Ubuntu 20.04
- Mate Desktop (ubuntu repo)
- XRDP (built from source)
- XRPDXORG (built from source)
- tightvncserver (ubuntu repo)
- Epiphany web browser (ubuntu repo)
- Custom xrdp.ini script
- Default UK Keyboard layout (Can be changed)
- Default UK Timezone (Can be changed)
- You are now able to set the time zone with the TZ variable
- Ability to run a script on container startup. This is useful for installing packages that are needed.
- Local Drive mapping (require elevated rights with this parameter ```--privileged=true```)
- Clipboard Sharing (require elevated rights with this parameter ```--privileged=true```)```
docker run --name RattyDAVE20.04 \
--privileged=true \
-p 3389:3389 \
-e TZ="Europe/London" \
-v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \
-v %LOCAL_PATH_TO_STARTUP.SH_FILE%:/root/startup.sh \
-v %LOCAL_PATH_TO_HOME_DIRECTORY%:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:20.04
```- Replace %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE% with the local filename of the createusers file.
- Replace %LOCAL_PATH_TO_STARTUP.SH_FILE% with the local filename of the startup.sh script. This is run after the user creation and before the service start.
- Replace %LOCAL_PATH_TO_HOME_DIRECTORY% with the local directory of the /home directorys.This file contains 3 fields (username:password:is_sudo). Where username is the login id. Password is the password. is_sudo does the user have sudo access(only Y is recognised). It also needs a "newline" at the end of the line.
Example of a CREATEUSERS.TXT file
```
mickey:mouse:N
daisy:duke:Y
dog:flash:n
morty:rick:wubba
```
In this example 4 users will be created and only daisy will have sudo rights.
At every reboot it will check this file and ADD any new users.Example of a STARTUP.SH file to change locale.
```
apt-get update
apt-get -y install language-pack-de language-pack-gnome-de
locale-gen de_DE.UTF-8
update-locale LANG=de_DE.UTF-8
```## To Connect
Please note some clients need an extra parameter set glyph-cache. xfreerdp, remmina and others need this set.Linux example of how to connect:
```
xfreerdp /size:1920x1140 /kbd:0x00000809 /v:%IP_ADDRESS% /gdi:hw /drive:home,$HOME +clipboard /sound:sys:alsa +glyph-cache
```Windows example:
Open a command prompt and type
```
mstsc
````Then put in the ip address of the docker host.
## Auto Update
To automatically update I recomend using watchtower.
```
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
```## rattydave/docker-ubuntu-xrdp-mate-custom:20.04-tools
I doubt most people would want this version but I have made available. This release contains development tools.
- x3270
- filezilla
- netbeans
- dia
- geany
- putty
- mysql-workbench
- remmina
- openjdk-11-jre
- libreoffice
- pasmo
- BlueJ
- Rocket2014 (A RC2014 Z80 emulator - https://github.com/trcwm/rocket2014 - ROMs located in /opt/rocket2014/examples)Screen sharing:
On the master user connect using the Xvnc option and login as normal.
On the desktop there is a file called session_info.txt this will contain the display number and password.
On the other clients connect using the Reconnect option.
Using the information in the session_info file:
PORT = 5900 + display number. (So if display is 11 then the port would be 5911)
USERNAME = Username of the master account.
PASSWORD = the password in the Session_info.txt file. (e.g. 1a2b3c4d)
Example of a working command line.
```
docker run --name RattyDAVE20.04-tools \
--privileged=true \
-p 3389:3389 \
-e TZ="Europe/London" \
-v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \
-v %LOCAL_PATH_TO_STARTUP.SH_FILE%:/root/startup.sh \
-v %LOCAL_PATH_TO_HOME_DIRECTORY%:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:20.04-tools
```Please note some clients need an extra parameter set glyph-cache. xfreerdp, remmina and others need this set.
Linux example of how to connect ```xfreerdp /v:xxx.xxx.xxx.xxx /drive:home,/home/xxxx +clipboard +glyph-cache```