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 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
  • You can install your distros to secondary fixed drives (i.e. not C:!) [Update 2017-07-24: Alas, this didn't fit in the Fall Creators Update schedule; we're looking into this feature for a future release]

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 (108)

  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.

      1. Ken Wheeler says:

        RoliSoft's tool does make it possible to INSTALL multiple distributions and SWITCH the active one, as you point out though it does not enable simultaneously running multiple distros.

  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.

      1. ted says:

        I think it's a great feature, but emphasis should be on editing and command line tools, like having a common client platform for git, etc. in Windows 10. The WSL is not fast enough for apps, IMHO. UnixBench shows this performance at about very low kernel performance relative to a non subsystem distro.

        1. We are entirely focused on command-line scenarios: We're rebuilding the Windows console from the inside out, and we're continuing to work on improving file IO performance in future releases. Other than file IO perf, WSL's perf is very close to that of native Linux on the same tin: https://www.phoronix.com/scan.php?page=article&item=intel-7900x-wsl.

  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.

      1. Bob Muenchen says:

        Rich, can you say more about how Windows drivers will benefit Linux users? For example, if I have a USB camera that only has a Windows driver, could I write a Linux program to capture an image?

        1. In theory, yes. Though we'll have to write the mappings between Linux devices and Windows devices. Depending on the device specialization and complexity, this may take more (or less) effort than one might expect. If you do have specific asks, please file on our UserVoice.

  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.

      1. Hans Mรผller says:

        I thought that was the very question: Will WSL eventually enable Docker on Windows to "natively" run linux containers without virtualization i.e. Hyper-V

  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/

  42. bmlsayshi says:

    What is a very rough ETA for final release to the Windows Store? Is it 6 months out? 3 months out? Don't worry I won't hold you to a date, I know things change and this is just a guess.

    1. We're working with our distro partners (literally) as I type to test their distro packages. We want to get them into the store for Insiders to test in the next few weeks.

  43. Paul L Ring says:

    Anyway to download this to install in lab computers that don't have internet (director MS Store) access?

    1. When we deliver the ability to install distro's via Windows Store, you'll also gain the ability to side-load locally stored distro packages

      1. Paul L Ring says:

        Any guesstimates as to when that might be? late summer, mid fall, early winter?

        TIA

        1. Hopefully in the next few weeks. We want to get this out for everyone to try-out (and help find & fix any issues) ASAP.

          1. Paul L Ring says:

            Rich, looks like it is now in the store, so is there a way to download and then side load to lab PC's?

            Thanks!

            /r

  44. Zero Noriyuki says:

    Now if only we could run windows in Linux i'd be happy, or have DirectX ported to Linux natively since I only use Windows for gaming and Linux for everything else.

    But i'll definitely take a step in the right direction.

    1. Some people have some success running Windows apps on Linux using WINE, esp. older games & apps, though WINE's support of Windows API's isn't as comprehensive as WSL's is of Linux's SCI.

    2. Don Pedro says:

      Than DX* had to be a paid piece of software.
      Won't happen.
      At least not yet.
      Maybe if/when vulkan will 'replace' dx in gamedev pipeline and be 1st graphics library chosen by devs themselves.
      But then what's the point of porting dx to any other platform?

  45. @ Rich Turner & Co..

    I just wanted to congratulate you and your team on such a fantastic piece of work. It will surely make many developers happy and allow them come back to Windows. Its .: W.o.n.d.e.r.f.u.l :. !!! I get the best of both world's, the bash shell and the Windows desktop, yee haa!!!

    Many of us hardened developers have been forced over to Linux in order to build software for embedded devices of all kinds and to be frank I've still prefer Window desktop over any Linux distro's out of the box effort but the bash shell is just a wonderful developers tool and it really is why its the developers environment of choice.

    Previously I have alway had to run Dual Boot systems and have all the hassle of swapping between environments. Not any more!

    Virtualized Linux under something like VirtualBox is all well and good but for doing 'real work' on large scale builds of source-code (for example) it simply is too slow and not very shareable, not just between developers but also in terms of sharing resources like cpu cores and memory. The size of those exported virtual machines makes it not very practicle to share the approach for serious development team efforts.

    I see your introducing ability to run different distro's in different shell's - That's great to be able to do this concurrently. In my world I often use mock shell to install older distro's chroot jailed so I don't have to fix all the older source-code builds host tool dependencies which simply break on newer distro's. Sadly mock isn't yet working properly but I'm hopeful it will someday so I can re-use all my old scripts.

    If the concept could be extended to do incremental backups from a nice Window's gui, i.e. clones, and snapshotting you could then provide these backups to dev teams and allow them to get started developing with all the environment setup out of the box. I'm sure they would be dramatically smaller than a full virtualbox image!

    Awesome!!!!!
    *Disclaimer* My views are my own and don't necessarily express the views of my employer...

    1. Thanks for sharing your thoughts Trevor. If you've not already tried it, I'd recommend Hyper-V for large-scale/perf-intensive work which can get VERY close to native machine performance.

  46. mark says:

    Rich,

    Culd you make an update to this at a later time "when it is ready"?

    I'd like to know which distributions would work on the *nix subsystem on Windows.

    I guess we can all confirm that ubuntu works fine, including some xorg-apps via
    e. g. Xming or something - I'd like to then know, when it is ready, which other
    distributions would also work. I assume that you guys will focus on the bigger
    ones first since there may be more resources available, e. g. Fedora; debian
    based ones should also work considering that ubuntu is debian based, and you
    wrote that opensuse may also work. Anyway please don't forget a follow-up
    blog post, it would be very much appreciated, since finding information can
    sometimes be difficult (for me at the least but I assume for other people as well).

    1. Hey Mark. As we repeatedly state, we are only focusing on command-line scenarios: We do not support X/GUI apps/desktops. This said, we don't do anything to prevent them from running; we're just not spending any time trying to get GUI apps to run.

      Re. Distros: We're currently working with Canonical, SUSE, and Fedora to publish Ubuntu, openSUSE & SLES, and Fedora respectively. We've also begun discussions with other Linux distro vendors about helping them get into the store too. News on this to follow later.

      I'll be following up with posts announcing new distros as and when they arrive.

  47. Joe says:

    Rich, I've just done a clean install of 16237.1001 and the distros seem to be missing from the windows store. Running "bash" from cmd.exe just yields a "go to the windows store" message. Am I missing something? I'm in developer mode, install the components and enable them in PowerShell.

    1. Ash Wolford says:

      for those curious, you can still use `lxrun /install` to install it without using the store. bonus: it doesn't install to the locked-down WindowsApps folder, so you can still access the WSL filesystem via %localappdata%\lxss.

      1. `lxrun /install` is deprecated and will be removed in a future build.

        1. Ash Wolford says:

          I kinda figured, since bash.exe was disabled as well. I needed it in the previous insider build though, since the store distros were broken for me and wouldn't run, so lxrun saved my bacon there. For the moment at least, it still works, which is handy for anyone wanting to quickly and easily set up a duplicate environment. Speaking of which, it was mentioned somewhere that users will eventually be able to publish custom distros to the store; is there a planned or existing supported method for creating custom WSL environments separate from the store distros and (deprecated) lxrun target environment? This would also be nice for e.g. setting up multiple independent environments running the same distro for testing purposes and whatnot.

Skip to main content