Skip to content

Commit

Permalink
update #92
Browse files Browse the repository at this point in the history
  • Loading branch information
mviereck committed Mar 3, 2019
1 parent 92f1283 commit 68e500b
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,14 @@ Software and required libraries can be installed in a Docker image to run softwa
The most popular Linux container frontend, Docker, does not provide a [display server](https://en.wikipedia.org/wiki/Display_server) that would allow to run applications with a [graphical user interface](https://en.wikipedia.org/wiki/Graphical_user_interface) (GUI), because Docker is originally built for server software.
`x11docker` fills this gap.
It allows to execute [Desktop](https://en.wikipedia.org/wiki/Desktop_environment) GUI applications in an isolated environment by running an [X display server](https://en.wikipedia.org/wiki/X_Window_System) on the host system and providing it to applications in Docker containers.
Additionally, x11docker has a specific [security setup](https://github.com/mviereck/x11docker#security) to enhance container isolation from host system. This is also true for non-GUI applications that can benefit from e.g. container user setup, shared files and GPU/printer/webcam/audio access. `x11docker` thereby facilitates quick creation, distribution, and evaluation of research prototypes without compromising on a researcher's preferences (e.g. for a specific operating system), skills (not imposing browser-based GUI nor requiring command-line proficiency), domain (having e.g. established and widely-acknowledged GUI-based tools), security, computational reproducibility, or a scholarly review process.
Additionally, x11docker has a specific [security setup](https://github.com/mviereck/x11docker#security) to enhance container isolation from host system. This is also true for non-GUI applications that can benefit from e.g. container user setup, shared files and GPU/printer/webcam/audio access.
`x11docker` thereby facilitates quick creation, distribution, and evaluation of research prototypes without compromising on a researcher's preferences (e.g. for a specific operating system), skills (not imposing browser-based GUI nor requiring command-line proficiency), domain (having e.g. established and widely-acknowledged GUI-based tools), security, computational reproducibility, or a scholarly review process.

`x11docker` has its own (optional) graphical frontend, `x11docker-gui`, and runs on GNU/Linux and with few limitations on MS Windows. Support for macOS is scheduled.
`x11docker` has its own (optional) graphical frontend, `x11docker-gui`, and runs on GNU/Linux. Running in a VM on MS Windows and macOS is supported. With a few limitations it can run natively on MS Windows, too.

## Alternatives to x11docker

A common way to allow GUI applications in containers is by providing a web server within the container and rendering an HTML-based GUI in a common web browser, e.g. as jupyter notebooks [@jupyter2018binder]. Further possibilities are a xrdp server, VNC server, SSH server or xpra server within the container.
These solutions require some specific setup and provide a rather slow interaction due to a lot of network data transfer.
x11docker provides a unified setup and a fast interaction due to direct access of GUI applications to the X display server.

Other similar projects are [subuser](http://subuser.org/) and [firejail](https://github.com/netblue30/firejail). However, these rather target integration of regular desktop applications, i.e. their design is closer to some sort of package manager.

# References

0 comments on commit 68e500b

Please sign in to comment.