Windows 10 Creators Update: What’s new in Bash/WSL & Windows Console

When Windows 10 Anniversary Update (AU) was shipped, the Windows Subsystem for Linux (WSL) was still far from complete, and was known to have many incompatibilities, especially with popular developer tools like node.js, Java, etc.

However, it was important to get this exciting new feature into the hands of real users so that we could learn from them – YOU! – what WSL needed to run, what worked, and what didn’t, etc.

And ***wow!*** did you, our community respond! πŸ™‚

This release was built by and for YOU!

On behalf of the WSL & Console engineering teams, a very sincere and grateful THANK YOU to all of you who’ve tried and used Bash/WSL over the last 12+ months, and especially to all of you who filed issues on our GitHub issues repo, contacted me on Twitter, submitted/voted for asks on our UserVoice, asked questions on StackOverflow, AskUbuntu, Reddit, our Command-Line Blog, the WSL Team Blog and elsewhere.

The massively improved Bash/WSL & Windows Console that we’re shipping in Windows 10 Creators Update is due largely to all of you!

What’s New in WSL?

During the Windows 10 Creators Update (CU) development cycle, the WSL engineering team implemented hundreds of fixes and improvements, most of which were catalogued in the WSL release notes. While we highlighted some of the more visible features of Console & WSL in our Command-Line Blog, we thought a consolidated list of the most important features and improvements would be useful.

So, read on to find out, what’s new in Bash/WSL & Console in Windows 10 Creators Update:

More compatibility

A key goal for Win10 CU was to dramatically improve WSL’s depth and breadth of compatibility with the Linux System Call Interface (SCI). By expanding and improving our syscall implementations, we increase the tools, platforms, runtimes, etc. that our users need to run.

The result? In Win10 CU, most mainstream developer tools now work as expected, including:

  • Core tools: apt, sed, grep, awk, top, tmux, ssh, scp, etc.
  • Shells: Bash, zsh, fish, etc.
  • Dev tools: vim, emacs, nano, git, gdb, etc.
  • Languages & platforms: Node.js & npm, Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# & .NET Core & Nuget, Go, Rust, Haskell, Elixir/Erlang, etc.
  • Systems & Services: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL
  • And many, MANY others!

Note: Some of you may also have been following along with some intrepid explorations into running X/GUI apps and desktops on WSL. While we don’t explicitly support X/GUI apps/desktops on WSL, we don’t do anything to block/prevent them from running. So if you manage to get your favorite editor, desktop, browser, etc. running, GREAT πŸ™‚ but know that we are still focusing all our efforts on delivering a really solid command-line experience, running all the command-line developer tools you need.

Ubuntu 16.04 support

While Win10 Anniversary Update delivered Ubuntu 14.04 support, in Win 10 Creators Update, WSL now supports Ubuntu 16.04. Any new Bash instances installed on Win10 CU will now install Ubuntu 16.04.

If you’d like to find out what version of Ubuntu you’re running, enter the following at your Bash on Ubuntu on Windows Console:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial

Important Note: Existing Ubuntu 14.04 instances are NOT automatically upgraded to 16.04: You must manually upgrade your instance to Ubuntu 16.04 in one of two ways:

  1. Remove & Replace (recommended)
  2. Upgrade In-Place

Remove & replace

If you’re currently running an Ubuntu 14.04 instance, we recommend removing and replacing your existing instance with a fresh new Ubuntu 16.04 instance.

WARNING: The instructions below will delete your existing distro and any of the files you’ve stored in the Linux filesystem. Therefore, be sure to copy/move any Linux files you want to keep, for example, to a Windows folder (e.g. /mnt/c/temp/wslbackup/…) BEFORE removing and replacing your instance!

To remove and re-install your Ubuntu instance, run the following commands from a Cmd/PowerShell Console.

C:\> lxrun /uninstall /full /y
C:\> lxrun /install

The lxrun /install command above will then download and install a fresh new copy of Ubuntu 16.04 onto your machine.

Upgrade In-Place

If your Ubuntu instance is particularly complex to configure, you can opt to upgrade it in-place, though this may not result in an optimal instance.

If you opt to upgrade your instance in-place, use Ubuntu’s instructions for upgrading an existing instance:

$ sudo do-release-upgrade

Ifconfig & network connection enumeration support

One of Win10 AU’s biggest annoyances was that it lacked the ability to enumerate network connections which prevented tools like ifconfig, gulp, npm and others from running correctly.

This has been fixed in Win10 CU and you can use ifconfig to enumerate and examine the configuration of your available network adapters:


Ping & ICMP network support

Another issue that users quickly bumped into in Win10 AU was the fact that non-administrators could not ping a network endpoint. This has now been fixed in Win10 CU:


File change notification support (INOTIFY)

Another much-requested improvement is the ability for a tool to register for notifications when a file is changed. This is an essential capability used frequently by web, Node.js, Ruby and Python developers, and many others.

For example, if you were working on a node.js website project, editing your source in vim, Emacs, Sublime Text, VS Code, etc., whenever you save your code, you might want your website server to reload your newly changed page source so that you can refresh your browser and see your changes reflected immediately.

Well, now you can! WSL supports inotify which allows apps to register for filesystem change notifications, which can then trigger actions, like rebuilding a project, or restarting a local web server. This works for both DrvFS and internal LXFs locations.

Importantly, this file change notification support also supports file change notifications for files in the Windows filesystem. This means that you can edit your project source stored on your Windows filesystem using a Windows GUI editor such as VSCode, Visual Studio, SublimeText, Notepad++, etc. and have node.js running in Bash/WSL serving your website locally, and picking up your changes as you save your files!


Windows <-> Linux Interop

A key goal of building WSL was to reduce the “gaps” experienced when running Windows tools alongside Linux command-line tools and environments. When we shipped WSL in Windows 10 AU, we brought Linux and Windows alongside one another, but there was still a large “gap” – while both systems could share some of the same files, each environment was pretty isolated from one another.

Users often told us that they wanted to be able to invoke Windows applications from within Bash, and to invoke Linux applications from within Windows. So, we added this feature!

In Windows 10 Creators Update, you can now launch Windows apps & tools from within Bash …


… and you can launch Linux binaries/commands/scripts from within Windows:


Read our blog post on this feature for more details:

UNIX and Netlink Socket improvements

Some aspects of UNIX sockets and Netlink sockets were not supported in Anniversary Update.

In Creators Update, UNIX datagram sockets and Netlink sockets, options & properties were added to WSL, enabling various forms of IPC that allow many modern tools  to run on WSL.

For more details, review the WSL Release Notes.

TCP socket & IPv6 improvements

In Creators Update, the WSL team and Windows Core Networking teams worked together to enable WSL to support several additional IPv6 & TCP socket options & properties. This enables a broad range of tools and technologies that rely upon various network socket features, improved IPv6 support, etc.

For more details, review the WSL Release Notes.

Miscellaneous WSL Improvements

The WSL improvements listed above are just a selection of the most visible and noteworthy changes, but there are many hundreds of other WSL improvements included in Creators Update. Below are a few more, and don’t forget to dig through the release notes for more detail.

Windows Console & Command-Line Improvements:

The Windows Console is one of the most fundamental pieces of the entire Operating System and has been part of Windows for several decades. Around 2 years ago, a new Windows Console team was formed to own give the Console its biggest overhaul in more than 30 years!

One of the key drivers for the Console overhaul was the need to enable the Console to render the output of Linux command-line tools & applications running on WSL. The team are also performing some much needed surgery & modernization to the Console’s underpinnings and internals, which will allow for far more rapid and exciting feature development in the future.

So, what’s new in the Console in Win10 CU?

Many VT Sequence Improvements

Because the Windows Console was not originally built to support *NIX, it was unable handle the different behaviors and output formatting codes (ANSI Escape Codes & VT sequences) generated by *NIX command-line tools & applications.

But, no longer:

In Windows 10 Anniversary Update, the Console was improved with the ability to handle most common VT Sequences, enabling it to correctly render the majority of simple text formatting. However, it lacked support for several advanced scenarios.

In Windows 10 Creators Update, Windows Console’s VT Sequence support was further improved to correctly handle several more advanced VT Sequences, enabling the Console to light-up many rich text-UI features in vim, emacs, Midnight Commander, tmux, htop, etc:


24-bit color support

Another frequent ask from the community was for the Console to support > 16 colors. Support for 256+ colors is increasingly important when working with today’s increasingly rich and sophisticated command-line tools, shells, etc.

In Win10 Creators Update, the Console has been updated to support full, glorious 24-bit color!


For more details, read the accompanying blog post announcing 24-bit color support in the Console.

Mouse support

With the number of rich, text-based UI’s ever increasing, users wanted mouse support for tools like Midnight Commander, Htop, etc., so we added mouse support in Win10 CU.

* Author's artistic rendition for illustrative purposes ;)

* Author’s artistic rendition for illustrative purposes πŸ˜‰

Symlinks in Windows without Admin Rights

Symlinks are an important tool used comprehensively in Linux, but less so in Windows since admin rights were required to create symlinks, and the Console in which the symlinks were created had to be run elevated as admin – something users rarely do.

In Windows 10 Creators Update, the admin-rights restriction has been lifted for users who have enabled developer mode, allowing symlinks to be created from an un-elevated Console.

Read the release announcement for more symlink details & examples.

What’s Next?

So, are we done yet? Noooo! Far from it!

Both WSL and Windows Console have backlogs stuffed full of improvements, features and new capabilities that we’re eager to get working on.

In addition, while Console and WSL have been significantly improved in Creators Update, it is important to note that WSL remains a beta feature in Win10 Creators Update while we shave-off some rough edges and improve some core features and capabilities.

We continue to forge ahead with many planned improvements and exciting new features. Stay tuned for lots more exciting features coming in future releases of Windows 10: If you want to be among the first to access and experience improvements planned for the next Windows 10 release, be sure to sign up to the Windows Insider program and set your Windows Insider Update Ring to “Fast”!

And, as always, PLEASE KEEP YOUR FEEDBACK COMING: Let us know if you find issues when using WSL on the WSL GitHub issues repo, feel free to ask questions on Twitter, suggest new features on UserVoice, carry on all the great discussions on Reddit, StackOverflow, SuperUser, etc, and keep the comments coming on this Command-Line Blog, and the WSL Team Blog.

Onwards! πŸ˜€

Comments (105)

  1. Matt Lacey says:

    Keep it up! Pretty sure everything I’ve wanted has been covered in this post… Love it.

  2. Thank you for the Awesome blogpost πŸ˜‰

    1. Thanks James. Glad you like it! More on the way πŸ˜‰

  3. David says:

    This is amazing and the way you’re responding to feedback and implementing it is also amazing. I love WSL so much, I hope you guys are having as much fun building it as I’m sure we all are using it!

    1. Building this thing is a lot of hard work, but it’s a HOOT! πŸ™‚

  4. Warchylde says:

    Thanks for all the work you guys are doing Rich, may not seem like it in the bug tracker on Git but there are numerous people that appreciate it. I will be checking NMAP and the like for functionality once I have updated.

    1. LOL πŸ™‚ Thanks Warchylde. Do keep the feedback coming – we love it all – good and bad: We couldn’t build this thing without all the feedback!

  5. Awesome to see this. Thanks for all the improvements, it really sways my decision when I’m choosing windows/osx as a dev environment.

    1. Sorry – no container support: You’ll want Docker for Windows!

  6. JUSTIN P KING says:

    currious about linux containers now …. only one way to find out ….

    1. Sorry – no containers – you’ll want Docker for Windows.

  7. Bogdan Kravtsov says:

    You guys are awesome. Before I had to switch to another machine or fire up a virtual machine, we meant I had to share resources… but now, I’m working between Linux and Windows seamlessly. Thank you!

    1. Woohoo! πŸ˜€ Great to hear – thanks for giving us a try … and for sharing your experience! KEEP IT COMING!

  8. paul says:

    Stop saying you’re “running node.js in bash”. You don’t run anything in bash except bash scripts. Bash is not runtime environment.

    1. But it’s so much more terse than “asking Bash to send a request to the kernel to spin up a new process into which node and its dependencies are loaded & bound, and then started by executing node’s main()”.

      At some point, one has to replace absolute accuracy with metaphors that work.

  9. Nemesis Fixx says:

    Holy Cow!!
    This is immense!

    Wow, so no more Cygwin/GitBash hacks for me… and definitely, no need to run a *nix in a VM just to feel at home! The Nu Windows is No Windows!

    1. LOL πŸ™‚ Thank you! Glad you’re as buzzed as we are! πŸ˜‰

  10. Mike says:

    WSL is great – nice work guys, I’ve been using it for a few months now and find it invaluable for all sorts of stuff. As a developer all the best/good tools are on linux and I need connectivity via SSH to servers, scripting etc. WSL fits the bill nicely because I don’t necessarily want to install a full Linux on laptops etc or run a VM. Purists may disagree but I reckon its a great step forward. It’ll be nice to see a few of the rough edges with the filesystem etc sorted out – I’m installing the updates as I write;-)

    1. Many thanks Mike! πŸ˜€ Glad we’re making your life easier and more fun πŸ˜€

  11. Bob says:

    Thanks for this, lets hope win console soon will be as good as macos, linux consoles.

    1. That’s the goal … eventually πŸ˜‰

  12. L. says:

    At this point, the main issue I have with WSL is (missing) support for network filesystems and removable drives. Second would be wsl/win32 interoperability regarding symlinks and permissions.

    1. Funny you should ask πŸ˜‰

      Yes we’ll be improving symlink interop in the future too.

      We fully honor Linux DAC permissions in the Linux filesystem, but there’s no clean mapping between Linux DAC and Windows’ ACL’s so in the Windows Filesystem, everything is owned by root.

      1. L. says:

        Regarding the other post: I saw this, it’s great!

        “We fully honor Linux DAC permissions in the Linux filesystem, but there’s no clean mapping between Linux DAC and Windows’ ACL’s so in the Windows Filesystem, everything is owned by root.”
        Well, yes and no. Have a look at NFSv4 ACLs (and how it interacts with unix-style permissions) and the RichACLs patch on Linux. This would be the way to go, IMHO.
        Currently, having everything as 0777 on drvfs is annoying. Some software (ssh, gpg) checks the permissions and can be naggy about it.

  13. James Urry says:

    Do you see the windows console continuing to develop alongside PowerShell? For a long while i’ve assumed it was just a matter of time before PowerShell replaced it. But it seems that the console is being actively developed. What is the relationship between the two?

    1. Windows Console is a console/terminal app that communicates with command-line applications and shells like Cmd and PowerShell on Windows, and Bash, zsh, fish, etc. on Linux.

      Windows Console is under active, heavy development as I type as we’re giving the Console its biggest overhaul in > 30 years!

      PowerShell development also continues (by a different, partner team) in the open – see their GitHub here:

  14. Anton says:

    Thank you.

  15. Archer Stephane says:

    Thank you Microsoft!!! <3
    I'm tired to reboot to linux/windows every time <3
    Next time I want a tilling manager (like i3wm) for windows and that will be the best platform ever πŸ˜‰
    And why not NTFS support driver or whatever for linux to help the two system share folder easily? (on external hard drive for exemple)
    I know I'm asking a lot ^^
    Thank you again Microsoft!!! <3

    1. LOL πŸ™‚ Many thanks Archer. We don’t have any plans to support X/GUI apps at this time.

      We do have some plans to improve filesystem interop, but it’s actually a lot more complex than it may appear! Bear with us! πŸ™‚

  16. Kori Francis says:

    Tried both in-place and replace methods, still seeing 14.04 Trusty. Any suggestions?

    1. Yes – upgrade to Creators Update. If you’re getting 14.04, you’re running Anniversary Update.

  17. gzmask says:

    Gotta say good job M$

  18. “ifconfig” makes it sounds as if you’re using the legacy ioctl() based network controls as opposed to RTNETLINK? Is that the case, or does iproute and friends work?

    I’m intrigued by this. I’m wondering if I could grab an iso somewhere and give it a try?

    1. Okay, posted too early. According to the release notes you actually *do* support netlink based network controls.

  19. Still no nuget with Mono?

    1. Sorry – not our area: Might want to go ask Mono or NuGet teams.

  20. Name says:

    Love you guys!

    1. LOL πŸ™‚ We love you (all) too πŸ™‚

  21. Rich Selmon says:

    Any updates on an offline installer for WSL?

    1. Nothing to report at this time.

  22. Ryan V says:

    This looks like a great update! Lots of things on my personal wishlist are on here.

    One of the issues I had with the original release is that the filesystem you existed in was somewhat “virtual” in that if you went to your bash home directory and cloned a git repo, you couldn’t really access those files from windows for use w/in an IDE, etc. If you did manage to access and alter them from the windows side, it pretty much broke the whole experience because bash seemed to forget those files existed, or something along those lines (iirc).

    Is that something that’s been addressed in this release?

    1. Because of some major differences between the Windows and Linux filesystems, some “Gaps” remain, including the fact that Windows can’t see into the Linux filesystem.

      We ARE, however, very keen to reduce this gap and have some work planned to improve this issue in the future.

  23. bob says:

    >One of the key drivers for the Console overhaul was the need to enable the Console to render the output of Linux command-line
    >tools & applications running on WSL.

    The reason I’m done with the platform.

    You waited on all of this until you had to do it- and you had to do it for Linux, of all things.

    1. Prior to WSL, there were relatively few requests for VT support in the Windows Console, and there were many 3rd party alternatives to satisfy those that DID need Linux capable console.

  24. Eduardo Luna says:

    is there any way to run an x server on this?

    1. Many do, yes. Though note that we don’t spend any time adding/massaging features to support X/GUI apps/desktops, etc. That said, we don’t do anything to block them either – so if they work for you, GREAT! πŸ˜€

  25. ftt says:

    Wow! That’s awesome πŸ™‚

    1. LOL πŸ™‚ Thank you! πŸ˜€

  26. yeah says:

    Wow, this is all so great!

    1. Glad you like it – many thanks πŸ™‚

  27. Everybody says:

    Sounds GREAT !

    . . . But FATALLY flawed unless you can affirmatively answer the following conundrum: when will Microsoft sell me a _single_ (i.e., retail) copy of a version of Windows 10 that does NOT include built-in SPYWARE, or non-security updates (i.e., Win10 Enterpise LTSB–a product you already make)?

    1. I understand your concerns, but turning down the hyperbole a little, the telemetry we gather is NOT spyware – it does not record your personal information nor the contents of your files, etc. It’s all about figuring out what features users are using, where errors occur, and all to the goal of delivering an ever improving platform and OS.

      As to whether you’ll be able to buy an LTSB type SKU – that’d be GREAT feedback to share via the Feedback Hub. OF course, no guarantees, but if you don’t ask, you don’t get!

  28. RTURD says:

    That’s all good and stuff, but is anyone working on the Windows 10 bugs that plague both desktop and ESPECIALLY mobile?

    1. Of course. Be sure to submit feedback via the Feedback Hub on Desktop and/or Mobile: Your feedback gets routed directly to the feature owners who’re able to diagnose, prioritize and schedule improvements.

  29. Byron Miller says:

    This is an awesome update! makes WSL much more useable!

    1. Glad you like it πŸ™‚ Keep the feedback coming!

  30. Richard says:

    That’s great! Excitedly I uninstalled, [rebooted just in case] re-ran bash – it downloaded from windows store, extracted, installed and and its 14.04 trusty again. Any ideas?

    1. 99% sure it’s because you’re still running Anniversary Update. If you’re on Creators Update, you’ll get 16.04

  31. Jack says:

    Amazing work. A++

    Only thing left that really sucks about Windows now is the very unloved client development frameworks. If only MSFT would get this passionate about evolving the UI stack…

    1. There are some GREAT improvements in UWP app platform, and in the Direct Composition features giving apps greater control over more sophisticated UI layout & rendering options. And DirectX12 is pretty cool!!

      And, yes, work continues on all fronts – lots more cool stuff on the way w.r.t client app development πŸ˜‰

  32. Todd says:

    Is Windows 10 about to become a better Linux than Linux?

    I sincerely hope you guys keep up with the improvements and make a truly compatible Linux within Windows 10.

    1. Better Linux than Linux? I don’t know if we’ll ever reach that lofty goal – there are likely to be things that we’ll simply never be able to do that full Linux can. However, we’re enthusiastically trying to support all the scenarios, tools, syscalls, and features required for our core goal: To run all the dev tools you need to do your best work, and have the most fun … on Windows πŸ™‚

  33. Gary says:

    Cool! Can I now run an sshd daemon using private key authentication?

  34. Tim Scarfe says:

    Amazing work team!

    1. Many thanks Tim πŸ™‚

  35. THX for this nice tutorial

  36. yce says:


    I’m getting an error while I’m trying to start apache2, which is the following:

    ➜ ~ sudo service apache2 start
    * Starting Apache httpd web server apache2
    * The apache2 configtest failed.
    Output of config test was:
    apache2: ../sysdeps/posix/getaddrinfo.c:2603: getaddrinfo: Assertion `IN6_IS_ADDR_V4MAPPED (sin6->sin6_addr.s6_addr32)’ failed.
    Aborted (core dumped)
    Action ‘configtest’ failed.
    The Apache error log may have more information.

    The apache error log doesn’t seem have anything relevant.
    Is there any way to fix it? I’ve reinstalled fully the whole linux subsystem.

    1. Which OS build are you running, and which version of Ubuntu?

  37. Joe Healy says:

    great post. soco on me!

    1. ROFL πŸ™‚ Thanks Joe – will hold you to that! πŸ˜€

  38. Kenneth E Benson says:

    Still useless to me until usb devices will work in Bash.

    1. Funny you should say that – last week’s Windows 10 Insider build included brand new support in WSL for USB storage devices and USB serial comms! Jump on the fast ring to give it a try!

  39. stevebor1 says:

    Pretty amazing stuff! Great work MS.

  40. Artem Russakovskii says:

    This is all very exciting, but one thing I was really disappointed to find out about is symlinks are still not cross-compatible between Linux and Windows one bit.

    Windows still can’t read Linux-created symlinks – it sees the symlink (and even shows the file size of the file it points to on Linux), but it can’t read it.

    Conversely, Windows-created symlinks don’t even show up in Bash. Completely invisible.

    Can we hope for this to be resolved?

    1. Yes, we do plan on making the Windows and Linux symlinks line up better in future releases. This mismatch is a scheduling issue combined with some surprising complexities we need to spend some time resolving.

  41. Elias Zare says:

    Great Job.
    Good Luck

  42. CSRedRat says:

    Nice! Please add unicode support. Fore test add to ~/.bashrc
    PS1=”\[\033[01;37m\]\$? \$(if [[ \$? == 0 ]]; then echo \”\[\033[01;32m\]\342\234\223\”; else echo \”\[\033[01;31m\]\342\234\227\”; fi) $(if [[ ${EUID} == 0 ]]; then echo ‘\[\033[01;31m\]\h’; else echo ‘\[\033[01;32m\]\u@\h’; fi)\[\033[01;34m\] \w \$\[\033[00m\] ”
    Source ~/.bashrc and see unix invite string.

    Use apt without -get, example:
    sudo apt install apache2
    upstart in 14.04 cannot autostart apache2 and create folder for PID

    Use command “ip a” instead “ifconfig”

    Use True Color theme in Midnight Commander (mc):

    1. More Unicode & UTF-8 support on the way
      You can already run apt without the -get if you wish – this is a distro thing, not a WSL thing
      Apache2 now works on WSL – start via “$ sudo service apache2 start”
      If you prefer ip, use it! πŸ™‚
      If you want to use MC’s themes, go for it!

      1. CSRedRat says:

        Thanks for you reply, you do great work! πŸ˜‰ Good luck

  43. Raymond says:

    It’s great that these impovements are coming to the Windows command line, but I feel like there are still way, waaaay too many features missing from it. What makes the Mac and Linux terminals so great is that they’re really the complete package. They have tab support, auto-hiding scroll bars and many other little things that make them so comfortable for working in for long periods of time. I mean, it’s sort of crazy that the Windows cmd app doesn’t even let you dynamically resize text by pressing +/-!

    1. All of the features you list are on our backlog, but as I mentioned in the post, we’re giving the console its biggest overhaul in > 30 years. One does not just bolt on a stack of features to something as core and critical as the Console, and hope for the best. We are nearing completion of some of the most important parts of the Console overhaul, so will be able to return to working on more visible improvements in future releases.

      Bear with us while we create a FAR more capable console for the future.

      In the meantime, while I think it safe to say that the Windows Console has improved leaps and bounds from where it was (i.e. unable to handle any VT sequences at all), there are several third party Consoles you might want to explore including ConEmu, Cmder, Console2, ConsoleZ, Hyper, etc.)

      1. Raymond says:

        Great news! πŸ˜€ I usually turn to Git-Bash, since I prefer Bash anyway, but since Git-Bash runs in a cmd-window… πŸ˜‰

        Anyways, thanks for your reply. So glad to hear that you’re all thinking about these things as well. πŸ™‚ I feel like Ubuntu on Windows could become really great with these new features.

      2. L. says:

        Providing an api (sort of win32 ptys) to implement third-party alternatives to the win32 console would be a way to fullfill such requests. Otherwise, you will be stuck with providing a one-size-fit-all answer to an endless stream of (sometimes conflicting) requests.
        Console2, ConEmu & al are all using kind of hacky workarounds, with a hidden console, which is not nice.

  44. Vijay says:

    Nice, some really great improvements.
    One question, in the Windows Linux Interop section of the post you have a screenshot of creating and writing a file from WSL then opening it with Notepad.exe, is this now supported/recommended? As this blog post suggests it’s not:

    1. It is entirely supported to access files stored in the Windows filesystem (e.g. c:\… or /mnt/c/…) via Windows or Linux tools.

      It is recommended NOT to access files stored under the root of your Linux filesystem using Windows tools.

  45. ulrichb says:

    Really great news!

    Can windows console programs also use VT100 sequences? If yes, do they need to opt-in in any way?

    1. Absolutely – as per the fine manual πŸ˜‰ (

      Output Sequences
      The following terminal sequences are intercepted by the console host when written into the output stream, if the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag is set on the screen buffer handle using the SetConsoleMode flag. Note that the DISABLE_NEWLINE_AUTO_RETURN flag may also be useful in emulating the cursor positioning and scrolling behavior of other terminal emulators in relation to characters written to the final column in any row.

  46. I would like to be able to install Bash for Ubuntu on Windows once for all users, instead of separately for each user. I normally use an account with admin rights for administration and an ordinary user account for most other work (just as I do in Ubuntu and MacOS).

    I am looking forward to using the expanded features of BoUoW in the Creator’s updatge.

    1. We only support installing a Linux instance for each user – if you want a single/shared multi-user Linux instance, you might want to consider running Linux in Hyper-V.

      The practice you describe above was recommended for XP users, but the introduction of UAC in Vista+ eliminated the need to have a separate admin account since normal, non-elevated processes do not have admin rights by default and require user action/authentication to elevate.

  47. Daniel Neely says:

    Are there any special/additional hazards related to an in place upgrade from Ubuntu 14.04 to 16.04 related to the WSL system; or is it just the same set that would be faced in upgrading a stand alone Ubuntu install?

    1. There are always hazards with in-place upgrades of any OS, but none specific only to a distro running on WSL.

      This said, it’s possible that something you’ve got installed doesn’t get upgraded correctly, and so you may end up chasing ghosts if you do find issues. Thus, it may be faster and safer over-all if you do a clean install.

  48. Ilango says:

    Really a lot of improvements!!

    sshd, nginx, Apache are supported now. Does that mean they are installed as system services and started up automatically? Or do we still need some workaround for automatic startup of sshd?

    1. You have to install them and start them manually (e.g. $ sudo service ssh start) : We don’t yet support running background Linux daemons/services without an open Bash console.

  49. Remo Harsono says:

    I’m using ConEmu now because I could not make windows console appear full screen, does this feature available now ?

    1. ALT + ENTER is your friend πŸ˜‰

  50. Chris says:

    A lot of great work went into these tools and I’m convinced they will prove to be a real boon for productivity on the Windows platform. As a developer I’m grateful this project even exists and we’re all fortunate its turning out to be successful. But I think it’s important to remember why a quality Linux subsystem on Windows is possible but the reverse is fraught with difficulty.

  51. Raymond Ji says:

    Awesome stuff! It’s been really exciting following the progress, can’t wait to see whats next πŸ™‚

    1. Ooh, we’ve got some fun stuff on the boil πŸ˜‰

  52. KΓ₯re Willoch says:

    Im seriously considering switching back to Windows again due to this project alone.

  53. Lac says:


  54. Mubeen says:

    Great improvements, though I’m still struggling to get lsusb working; resulting in “unable to initialize libusb: -99”
    Would be good for my own sake to install adb android tools under this bash. Thank you

    1. Could you file a bug on this in Much more likely to be able to help you there than in these comments πŸ™‚ Thanks!

Skip to main content