New distros coming to Bash/WSL via Windows Store


multi-distro

We’re REALLY excited about this announcement and think many of you will be too πŸ˜‰

On May 11th 2017, during Microsoft’s Build conference keynote, Terry Myerson (EVP for Windows & Devices Group) made several announcements about the Windows Subsystem for Linux:

  1. We continue our partnership with our friends at Canonical to bring Ubuntu to the Windows Store app
  2. We are also working with the great teams at SUSE and Fedora to bring their Linux distros to the Windows Store & Windows Subsystem for Linux (WSL)
  3. You will be able to download these distros from the store and install them side-by-side on your PC(s)
  4. You’ll be able to run one or more distros simultaneously if you wish

And at OSCON 2017 I delivered a talk on the architecture and history of Bash/WSL, and outlined these new features. Thanks to the great OSCON audience & attendees for all your great support & engagement πŸ™‚

These new features deliver several key benefits including:

  • You’ll enjoy faster and more reliable downloads
  • You can install your distros to secondary fixed drives (i.e. not C:!)
  • You can run different distros aligned more closely with your production environments and/or personal preferences
  • You can run more than one distro at a time – great for when you need to work on systems that span different environments

WSL was always designed to be distro-agnostic and this is the first time we’re exercising this aspect of the system. As always, we greatly appreciate any testing you can help us with, and if you find problems, please file bugs in our GitHub issues repo. We can’t wait to hear how you get on installing via the store and running different and multiple distros!

These new features will arrive in an up-coming Windows Insider build. If you’d like to be among the first to try-out these new distros, be sure to sign-up for the Windows Insider program, and configure your Win10 machine to install fast-ring builds.

Rich Turner


Comments (81)

  1. Steve Ballmer says:

    Guys, feel free to use the excellent tool http://github.com/RoliSoft/WSL-Distribution-Switcher that can install any distro including Arch right now

    1. No – that allows you to SWITCH your distro’s, not install multiple and run them simultaneously.

  2. Lucas Santos says:

    That’s is really AWESOME!!

    1. Lucas Santos says:

      * That’s really AWESOME!!

  3. e says:

    Is CentOS on the list to eventually work with as well?

    1. I am sure they’d love to hear from you! πŸ˜‰

      1. Eric Pellegrini says:

        So you are saying that any distro can put their user space into the Windows store? The openness of how this has played out is really incredible.

        1. Essentially, yes. It also requires a launcher app and a few bits & pieces, but that’s what we’re working through with Canonical, Fedora and SUSE. At some point we’d like to work with other distro owners to include their distro’s in the store too.

  4. Fabio Akita says:

    Please, do ArchLinux! That would be the best!

    1. Speak to Arch’s owners πŸ˜‰

  5. E says:

    This is really impressive. Thanks so much for your hard work — it’s enabled me to use Windows as my daily driver for the first time in almost 10 years.

  6. ArchLinux or Gentoo will be add or not ?

    1. One day, if the distro’ owners want to.

  7. Shmueli Englard says:

    Why not have this posted to the WSL blog too?

  8. Erkin Alp GΓΌney says:

    WSL identifies itself as Linux. It is not done that way. It should identify itself as Windows.

    1. That would break MANY tools that look specifically for Linux. `uname -a` returns (something like):

      Linux 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

  9. zimbatm says:

    Awesome! How hard would it be to bootstrap another distro, does it require cooperation with Microsoft or I can do it on my own?

    1. The goal is to allow you to package your own distro’s & deliver via the store, but we need to work through the process with a few more distro’s first.

  10. seanwasere says:

    cool, i made a video tutorial for wsl at https://www.youtube.com/watch?v=rvswotX0C-A
    i wanted to make some more, i tried docker, but couldnt get it to work, didn’t understand why it wouldn’t work in wsl. what ever the cause,i think this will be a major factor that will stop people from using wsl.

    1. Docker client works well (Creators Update+) and you can use it to drive Docker for Windows and/or remote Docker hosts.

  11. So is possible to run GUI apps along side native windows ones?

    Is it in the plan to distribute apps running on WSL as Windows Store ones?

    1. No – as per the docs (https://msdn.microsoft.com/commandline/wsl/about): “Bash on Windows provides developers with a familiar Bash shell and Linux environment in which you can run most Linux command-line tools, directly on Windows, UNMODIFIED, without needing an entire Linux virtual machine!”

  12. Himanshu shah says:

    Is there going to be support for docker on Linux subsystem?

    1. Docker client already runs well. You can use it to drive Docker for Windows and/or remote Docker hosts. We do not currently run Docker images.

  13. Eli Grey says:

    If any of these distros include a web browser such as w3m or lynx, isn’t this a violation of Windows Store Policy 10.2.1?

    See https://msdn.microsoft.com/en-us/library/windows/apps/dn764944.aspx?f=255&MSPPError=-2147217396#pol_10_2

    1. Eli Grey says:

      Oh, and I would also like to add that surely one of these distros ships with node.js, which is also banned from the Windows Store per the 10.2.1 policy.

      1. It’s up to distro’ owners as to whether they ship with node installed, or just let the user install node via the distro’s package manager.

        10.2.1 states that “Apps that browse the web must use the appropriate HTML and JavaScript engines provided by the Windows Platform.”

        Most Node apps do not “browse the web”.

        Slack, for example, is an Electron app (https://slack.engineering/building-hybrid-applications-with-electron-dc67686de5fb) which is JavaScript, HTML & CSS running atop node atop the V8 engine. And its in the Windows Store.

    2. These distro’s are the same/similar-to Docker images – sans kernel, minimal install footprint and support command-line scenarios.

  14. ABD says:

    Do the new distros support Linux desktop environments as well?

    1. Support? No. Run? Maybe! WSL is a command-line developer tool which *MAY* run some/all of the Linux desktops/apps you need – at least to some degree. We don’t do anything to prevent X apps from running, but don’t focus our efforts on making them shine. If they work for you, great. If not, please file a bug, but understand that we won’t prioritize fixing an X/GUI related issue over a command-line tool issue.

  15. Jason Shellabarger says:

    This is glorious, I cannot wait to dig in and work with this!

  16. Anon Nymooze says:

    Gee, abusing free software while keeping win32/uwp closed, you really are the worst a company can be.

    1. Alternatively, providing much needed access to open/free software to users who otherwise would struggle to live entirely in the open/free ecosystem is a good thing.

      No matter how much one might want it to be otherwise, and awesome though Linux is, one can spend a lifetime tweaking desktop Linux to run reliably, efficiently, and effectively on different types of PC’s and laptops. Some people don’t get to make that choice (esp. when at work) and many others just want to get their stuff done. Windows provides the well supported core platform upon which one can run commercial, closed, free, and open software simultaneously.

  17. neuro says:

    Could you please use apostrophes appropriately? The plural of “distro” isn’t “distro’s”, it’s “distros”!

    1. And the singular contraction of “distribution” should be “distr’on” πŸ˜‰ Fixed.

  18. trogper says:

    Plural nouns are written without an apostrophe, the title should be “New distros coming to Bash/WSL via Windows Store”

  19. brent says:

    Can you run multiple copies of the same distro?

    1. Not at present, but you can run multiple Consoles attached to the same distro “session” – just right-click the running distro tile and open a new console πŸ™‚

  20. alex wieder says:

    What’s there to be excited about? Really. I could as easily install whatever distribution I want into a virtual machine and have ALL of linux, instead of just a terminal screen. Actually, if anything, I’d have Linux be the host and run windows virtually, if at all. This makes as much sense as using a bicycle to tow a car.

    Seriously, virtual linux on a windows host? I’ve far more important things to do than beta-test stupidity.

    1. Now try editing your source code using a Windows tool, and building / running / testing it in Linux. VM’s impose a tall-wall between Windows and Linux. WSL runs Linux apps alongside Windows apps & tools, and provides access to the host Windows filesystem to your distro’s so you can share access to files.

      Sorry you think it’s stupid. If you don’t like it, don’t use it, but for the hundreds of thousands who’re using it daily, it’s clearly providing a lot of value.

  21. Ryan Done says:

    Fantastic news!
    It was Microsoft’s backing on the WSL project that convinced me to switch to a Windows box this year (after 6 years away)! There are still some kinks to work out, but I’m excited to see continued work and support on this!

    1. Glad you’re digging our work πŸ˜‰ LOTS more coolness on the way πŸ™‚

  22. g says:

    Apostrophe’s, the confusors.

  23. Jesper Eneberg says:

    I really LOVE what you’re doing with the Linux subsystem. Keep up the good work!

  24. John Knight says:

    This is truly amazing! I don’t much care for the work on Windows desktop ever since 8, but WSL is a huge step in the right direction for those of us that like Windows but manage and work with Linux servers for a living.

    Are there any plans for a terminal that supports tabs? Right now I actually run an Xorg server manually and then run gnome-terminal through it, but it’s a pita sometimes. I’d much rather use a terminal that supports tabs that’s native to Windows.

    1. Great to hear John! πŸ™‚ Yes, a tabbed console is on our backlog. You might have a better experience running ConEmu / Cmder / Console2 / Hyper / etc. than spawning a Linux terminal via X server.

  25. ZHAO Yijun says:

    Great work!

  26. Gavin Groom says:

    Now for Slackware and Arch! πŸ˜€

    1. LOL πŸ™‚ We’re keen to open up more broadly to community distro’s once we’ve polished the process with our current partners πŸ™‚

      1. Gavin Groom says:

        That’s fair enough. I’m having more than enough fun with one distro right now – two or more may incapacitate me.

  27. Glados says:

    Can’t wait!

  28. Genovaskill says:

    The year of Linux Desktop guise.

  29. Lanti says:

    Can we see an officially supported Debian distro in the future? Most devs prefer Debian for hosting, for example in Docker.

    1. We’re keen to open up more broadly to community distro’s once we’ve polished the process with our current partners πŸ™‚

  30. Matthew Persico says:

    Interesting. But here’s a question – will the environments be interoperable? In particular, can I have a home directory that can be simultaneously mounted and used by all three environments?

    1. You don’t want that! Because each env. differs somewhat from one another, and because you’ll likely end up with different scripts for different environments, sharing a single home folder can often end up with all manner of inconsistencies etc. Of course, you’re free to share common files that you can store under `/mnt/c/…` etc., and reference these common scripts from each environment, but I’d urge you to avoid sharing a single home.

  31. Alaor says:

    Please, consider adding some margin to Windows Console. The text right next to the border is very ugly. Windows 10 is a very pleasant looking OS but the console looks very unprofessional. Just look how better terminal um Linux and MacOS looks. I dont think it would be a very costing change, would it?

    1. We have a lot of improvements planned for the Console in the future. Interestingly, we originally reduced margins & borders based on user feedback πŸ˜‰

  32. Gabriel Jones says:

    I had to look it up myself, but it would appear that because “distros” is not a contraction, but a plural form of a shortened work, it doesn’t get an apostrophe unless you’re mentioning something it possesses, like “the distro’s package manager” or similar. Awesome news no matter what though!

    1. “Distro” is a colloquially offset contraction of “distribution”. In theory, it should have been “distr’on” so it’s already wrong πŸ˜‰ How does one pluralize a incorrect contraction? ‘Nuff said though – updating to reduce the cognitive annoyance.

      1. Marc Archuleta says:

        Single word contractions that shorten a word with an apostrophe in the middle are rare if not antiquated. Informal single word contractions with an apostrophe at the end are easier to find in current grammar. Almost all contractions in modern usage combine two words into a single word through the use of an apostrophe. I’d love to be corrected on this with a solid reference to the contrary. I believe it would be more accurate to say that distro is a clipping of distribution.

        Keep up the good work with WSL!

        1. Who’re you calling antiquated? πŸ˜‰ Mumble grumble bah humbug πŸ˜‰

  33. As a Linux user for almost 20 years I’m trying to see the advantages of this, especially when all a developer needs is a secure shell application which opens the door to endless amounts of processing power and scalability in a cloud. Given the recent security threats and Microsoft patching XP would it not be a better move to focus on legacy virtualization for industries that cannot realistically move to windows 10? There is still a significant amount of infrastructure running DOS applications or using XP.

    1. WSL is all about developer productivity. WSL gives developers a local environment in which they can run and test their code in a near-production environment, without needing multiple, gigantic VM’s.

      This is a boon since not everyone in the world has access to reliable broadband access to the internet in order to connect to a remove VM. Not everyone can/will pay for a hosted VM / machine to which they connect remotely.
      Not everyone can get Linux to run natively on their hardware – many hardware vendors do not offer drivers for Linux, and few communities can reverse-engineer solid, reliable, high-performance, high-efficiency Linux drivers for most chipsets.

      And while Microsoft & others offer decent virtualization for many recent OS’, and third parties offer support for even older OS’. But at some point, every product becomes unsupported and one has to move on, especially in rapidly moving industries like computing.

  34. solarnumen says:

    What a pleasure !

  35. Marty Fouts says:

    nit: there’s no apostrophe in ‘distros’

  36. Alexander Summers says:

    Whoa, this sounds cool! I can’t wait for the distros to be released.

  37. John says:

    -You’ll enjoy faster and more reliable downloads

    Thanks for this. Apt get times out occasionally on requests while a VM is super smooth

    1. Note – installing distro’s via the store won’t speed-up apt – that runs post-install.

  38. Jon Arason says:

    Is there any cooperation with Docker for Windows? They still don’t support inotify (crucial for file watchers)

    Thanks.

    1. Docker Linux containers run within a Hyper-V virtual machine so can’t inotify the host, just like a remote VM can’t notify your host.

  39. Hi Rich,
    Great stuff. I’d love to get other distributions working without just installing over Xenial (which is sort of quirky anyway). It seems to me it’ll soon just be a matter of packaging everything using the various distributors’ tools. Need a build engineer? πŸ™‚

    Currently, Docker on windows relies on a HyperV VM running “MobyLinux,” a slightly modified version of Alpine embedded in an EFI executable. At DockerCon a few weeks ago, there was an allusion from the Microsoft team that native Linux containers would soon be supported. I have a theory: WSL will soon be able to serve as a Docker execution environment, providing the system calls, ELF loader, dynamic linker, etc., while the HyperV container functionality will fill the role of Linux namespaces and cgroups. Is that on your team’s radar?

    In fact, it’s already kind of working. I wrote a blog post a few weeks ago on how to get Linux-based Docker containers to run natively (if crudely) within WSL. The missing pieces are resource isolation (since WSL doesn’t implement namespaces or vnet creation yet, AFAIK), and the overlay filesystem (which is probably harder). But it still seems within the realm of possibility.

    1. You did read the article, right? πŸ˜‰ We’re moving distro’s to being independent APPX’s installable and runnable side-by-side. No overwriting will take place.

      We (several groups across Microsoft) are figuring out our future container strategy. Nothing to announce at this time.

      That said, you can run Docker client in Linux on WSL and drive a local or remote Docker host – even Docker for Windows running locally.

      1. Yes, I know. You misunderstood. I have been waiting for this feature announcement for a while now, and am happy it came.

  40. Daniel BC says:

    This is amazing! Could you tell me if It will be possible to use windows applications with the Linux tools, like gcc, java, python, etc? for example, it will be possible for an IDE installed on windows to use the gcc compiler or the python interpreter of the wsl? Thank you in advance!

    1. Yes, you can do this. From Windows apps, you can spawn a Linux command via `bash -c “”` with which you can trigger a build, to start a debugger, etc. Alternatively, if you start sshd in Bash, you can use it to open a shell session within your dev tool & issue Linux commands etc., including drive gcc! Visual Studio and VSCode do the latter πŸ˜‰

  41. CodeDJ says:

    Will this work on Windows 10 S?

    1. Rather than reply for the 100’th time this week, I wrote a new blog post instead πŸ˜‰ https://blogs.msdn.microsoft.com/commandline/2017/05/18/will-linux-distros-run-on-windows-10-s/

Skip to main content