Please visit https://github.com/ayudadigital/docker-ubuntu-xrdp-mate-custom
Use https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom/issues to send feedback, issues, comments and general chat.
Run the following to get started.
echo "user:pass:N" > CREATEUSERS.TXT
docker run --name RattyDAVE19.10 \
--privileged=true \
-p 3389:3389 \
-e TZ="Europe/London"
-v CREATEUSERS.TXT:/root/createusers.txt \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:19.10
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.
- rattydave/docker-ubuntu-xrdp-mate-custom:19.10
- rattydave/docker-ubuntu-xrdp-mate-custom:19.10-tools
All features as 19.04 with the following new features.
- Ability to run a script on container startup. This is useful for installing packages that are needed.
- You are now able to set the time zone with the TZ variable
This version supports local drive mapping and clipboard sharing. Also manual mounting of file systems. To use these features you will need to add the elevated rights with this parameter --privileged=true
also this could be a securty risk.
Contents:
- Ubuntu 19.10
- Mate Desktop (ubuntu repo)
- XRDP (built from source)
- XRPDXORG (built from source)
- tightvncserver (ubuntu repo)
- Epiphany web browser (ubuntu repo)
- openssh-server (always useful)
- Custom xrdp.ini script
- Default UK Keyboard layout (Can be changed)
- Default UK Timezone (Can be changed)
docker run --name RattyDAVE19.10 \
--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:19.10
- 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.
- You do not need to publish port 22 only use if needed.
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
Please note some clients need an extra parameter set glyph-cache. xfreerdp and remmina and other 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.
- rattydave/docker-ubuntu-xrdp-mate-custom:19.04
- rattydave/docker-ubuntu-xrdp-mate-custom:19.04-tools
This version supports local drive mapping and clipboard sharing. Also manual mounting of file systems. To use these features you will need to add the elevated rights with this parameter --privileged=true
also this could be a securty risk.
Contents:
- Ubuntu 19.04
- Mate Desktop (ubuntu repo)
- XRDP (built from source)
- XRPDXORG (built from source)
- tightvncserver (ubuntu repo)
- Epiphany web browser (ubuntu repo)
- openssh-server (always useful)
- Custom xrdp.ini script
- UK Keyboard layout
- UK Timezone
docker run --name RattyDAVE19.04 \
--privileged=true \
-p 3389:3389 \
-v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \
-v %LOCAL_PATH_TO_HOME_DIRECTORY%:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:19.04
- Replace %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE% with the local filename of the createusers file.
- Replace %LOCAL_PATH_TO_HOME_DIRECTORY% with the local directory of the /home directorys.
- You do not need to publish port 22 only use if needed.
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
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 working command line.
docker run -d --name RattyDAVE19.04 \
-p 3389:3389 \
-v /root/createusers.txt:/root/createusers.txt \
-v /root/home:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:19.04
Please note some clients need an extra parameter set glyph-cache. xfreerdp and remmina and other need this set.
Linux example of how to connect xfreerdp /v:xxx.xxx.xxx.xxx /drive:home,/home/xxxx +clipboard +glyph-cache
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 -d --name RattyDAVE19.04-tools \
-p 3389:3389 \
-v /root/createusers.txt:/root/createusers.txt \
-v /root/home:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:19.04-tools
Please note some clients need an extra parameter set glyph-cache. xfreerdp and remmina and other need this set.
Linux example of how to connect xfreerdp /v:xxx.xxx.xxx.xxx /drive:home,/home/xxxx +clipboard +glyph-cache
Contents:
- Ubuntu 18.04
- Mate Desktop (ubuntu repo)
- XRDP built from source (ubuntu repo)
- XRPDXORG built from source (ubuntu repo)
- tightvncserver (ubuntu repo)
- Epiphany web browser (ubuntu repo)
- openssh-server (always useful)
- Custom xrdp.ini script
- UK Keyboard layout
- UK Timezone
docker run --name RattyDAVE18.04 \
-p 3389:3389 \
-p 2222:22 \
-v %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE%:/root/createusers.txt \
-v %LOCAL_PATH_TO_HOME_DIRECTORY%:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:18.04
- Replace %LOCAL_PATH_TO_CREATEUSERS.TXT_FILE% with the local filename of the createusers file.
- Replace %LOCAL_PATH_TO_HOME_DIRECTORY% with the local directory of the /home directorys.
- You do not need to publish port 22 only use if needed.
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).
Example
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 working command line.
docker run -d --name RattyDAVE18.04 \
-p 3389:3389 \
-v /root/createusers.txt:/root/createusers.txt \
-v /root/home:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:18.04
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 -d --name RattyDAVE18.04-tools \
-p 3389:3389 -p 2222:22 \
-v /root/createusers.txt:/root/createusers.txt \
-v /root/home:/home \
-dit --restart unless-stopped \
rattydave/docker-ubuntu-xrdp-mate-custom:18.04-tools
Contents:
- Ubuntu 16.04
- Mate Desktop (ubuntu repo)
- XRDP built from source (devel branch)
- XRPDXORG built from source (devel branch)
- tightvncserver (ubuntu repo)
- Epiphany web browser (ubuntu repo)
- openssh-server (always useful)
- Custom xrdp.ini script
- UK Keyboard layout
- UK Timezone
Reasons for choosing the souce of XRDP and XRDPXORG over the repo versions is that the display can resized. Also xorg is far more effecient at memory and processing. (At present. I have experimented with ubuntu 17.xx and this is not the case anymore)
# Kairops duing
Look at the [duing readme](duing/README.md)