« Previous 1 2 3
Hands-on test of Windows Subsystem for Linux
Undercover
Domain Sockets
Implementing Domain sockets only seems to working partially according to a blog post [5]. The attempt to create such a socket with
sudo nc -U /var/tmp/sockted
fails with nc: unix connect failed: No such file or directory .
Similar to the path problem, the solution here is to run interprocess communication via TCP/IP, as in the case of the D-Bus system. If you are not afraid of a bit of extra work, you will find another blog post on this topic online [6]. To sum up, you need to install an X server such as vcxrc
or Xming, add the export DISPLAY=:0.0
entry to .bashrc
, and use the command
sudo sed -i 's$.*$tcp:host=localhost,port=0$' /etc/dbus-1/session.conf
to tell D-Bus to communicate via TCP/IP. Then, Firefox launches and – so people claim – the Ubuntu desktop too.
Conclusions
The Windows Subsystem for Linux shows a lightweight, container-based virtualization approach that relies on its own process class. In practice, there is a still scope for improvement, if you want to work with Linux in the usual way or require at least the level of maturity that Cygwin already has. However, a few simple steps help to create a system fit to work and harmonize with the Windows superstructure. It remains to be seen whether Microsoft is willing to complete its subsystem.
Infos
- Windows Subsystem for Linux documentation: https://msdn.microsoft.com/de-de/commandline/wsl/about
- Cygwin: https://www.cygwin.com
- Pico: https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/
- winpty: https://github.com/moby/moby/issues/12469
- Domain sockets: https://github.com/Microsoft/BashOnWindows/issues/134
- Bash on Windows with X server and D-Bus: https://www.reddit.com/r/Windows10/comments/4rsmzp/bash_on_windows_getting_dbus_and_x_server_working/
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)