-
Notifications
You must be signed in to change notification settings - Fork 379
x11docker on MS Windows
x11docker can run natively on MS Windows electively in one of:
-
WSL (Windows subsystem for Linux)
- x11docker is supposed to run in WSL2, too. This is barely tested yet. Feedback is appreciated whether it works or fails.
- In WSL2 x11docker defaults to use a native Docker installation within WSL2. To use the Docker-for-win MobyVM instead, add option
--mobyvm
.
- Cygwin
- MSYS2
x11docker on MS Windows provides basic functionality, but misses some features available on Linux. For example, options --webcam
, --pulseaudio
and --printer
do not work. However, running in a Linux VM instead of running directly on MS Windows is fully supported.
- To install x11docker in one of MSYS2, Cygwin or WSL follow the general installation instructions.
- For the shortest way you might need to install
curl
first.
- For the shortest way you might need to install
- Provide an X server to allow graphical Linux applications.
x11docker needs an X server on MS Windows. The X server can bei either XWin from Cygwin/X or VcXsrv.
- In Cygwin it is enough to install packages
xinit
,xauth
andxhost
using the Cygwin installer. That provides X server XWin. - In WSL and WSL2 you need to install
runx
andxhost
to provide X server VcXsrv or XWin. - In MSYS2 you need to install
runx
to provide X server VcXsrv.- In MSYS2 only X server VcXsrv is supported by
runx
. XWin is not supported in MSYS2. - Usage in MSYS2 is discouraged because X server access can not be restricted with an authentication cookie.
- In MSYS2 only X server VcXsrv is supported by
-
Docker might be configured not to allow sharing files from drive
C:
or other Windows partitions.- Change docker settings to allow access to drive
C:
(or another partition specified with--cachebasedir
or--homebasedir
).- x11docker creates cache files on drive
C:
that it shares with the container. You can specify another cache path with e.g.--cachebasedir=D:/x11docker/cache
. - Same issue might occur with option
--home
. You can specify another home base folder with e.g.--homebasedir=D:/x11docker/home
.
- x11docker creates cache files on drive
- Change docker settings to allow access to drive
-
Firewall settings in Windows can cause issues for container applications accessing the X server. If everything starts up without an obvious error, but no application window appears, have a look at ticket #108.
-
Sometimes docker fails to start with an error message that it tries to create a shared folder that already exists on host:
Error response from daemon: error while creating mount source path: mkdir /host_mnt/c: file exists.
It is a bug of Docker or MS Windows. x11docker cannot do anything about it. Bug reports and workarounds here: https://github.com/docker/for-win/issues/1560 . One promising workaround seems to go into Docker settings and do "Reset credentials" under "Shared Drives", than restart Docker.
-
Error messages like
./x11docker: line 2: $'\r': command not found
indicate a wrong line ending conversion from git. Rundos2unix x11docker
once to fix it.