Docker image for running Debian and XFCE by using the X2Go protocol.
This docker image enables you to start one or more instances of a Virtual Desktop Infrastructure (VDI).
By utilizing Docker containers, there will be NO boot of whole operating system (like VMs do), instead docker will use the OS kernel resources and shares them with the docker container. Resulting in much faster start-up times than VMs can every do.
By using the X2Go protocol it's easy to connect/share sessions between the client and the server. Which allows remote working or any other task you might want do remotely in a windowing system.
The image contains a docker GNU/Linux Debian (buster) operating system, together with XFCE4 desktop environment. The required X2Goserver/X2Gosession are already pre-installed.
In fact, the image has alot of packages installed you properly want, including but not limited to: Firefox
, LibreOffice
, gnome-calculator
, archiver
, file manager
, text editor
, image viewer
, htop
, clipboard manager
and much more.
Last but not least, the image is preconfigured with a nice dark-theme (Breeze-Dark), window theme (Mint-Y-Dark) as well as a nice looking icon set (Mint-Y-Dark-Aqua) and uses Ubuntu fonts by default. See below an preview:
Or an example with Papirus icons:
Note: You can always remove/install additional packages. By using docker container and apt-get command line (depending on your setup, this won't be permanent) or ideally by changing the Dockerfile. And optionally adapt XFCE settings script to your needs. Eg. like install & use Papirus icons instead.
Build the image locally, via:
docker build --tag vdi .
Or when you have apt-cacher proxy installed, use APT_PROXY
parameter to set the proxy URL: docker build --build-arg APT_PROXY=http://melroy-pc:3142 --tag vdi .
Start the docker container using (username: user
and password will be auto-generated):
docker run --shm-size 2g -it -p 2222:22 vdi:latest
Or with the username melroy
with password abc
:
docker run --shm-size 2g -it -p 2222:22 -e USERNAME=melroy -e PASS=abc vdi:latest
You can also use a docker-compose file! See the docker compose file within this git repository.
Available environment variables (use -e
flag during docker run
) are:
Env. variable | Type | Description | Default value |
---|---|---|---|
USERNAME |
string | Provide another username | user |
USER_ID |
integer | Provide another GUID/user ID | 1000 |
PASS |
string | Change password for user | auto-generated pass |
ROOT_PASS |
string | Change password for root-user | auto-generated pass |
ALLOW_ROOT_SSH |
boolean | Allow root access via SSH | false |
ENTER_PASS |
boolean | Require to enter password for sudo commands | false |
- Stop docker container (
docker stop <container_id>
) - Get latest version:
docker pull danger89/xfcevdi_x2go
- Start docker container again (either via
docker run
or usingdocker-compose
)
X2Go has two clients available to choose from:
- X2Go Client (recommended)
- PyHoca-GUI
Which can both be downloaded from their site. Clients are available for Windows/Mac and/or GNU/Linux operating systems.
Once you open the client, create a new session by providing the following settings (default settings):
- Host: host IP addresss (or domain name or
localhost
) - Login:
user
(default username) - SSH port:
2222
(default port) - Session type:
XFCE
(select from drop-down menu)
Once you try to connect, accept the new SSH host key and you'll require to enter a password (by default the passwords are generated!).
- Add PulseAudio plugin to panel