Scott Hanselman

VIDEO: How to run Linux and Bash on "Windows 10 Anniversary Update"

July 1, '16 Comments [18] Posted in Win10
Sponsored By

Ya, I'm not a fan of the name Windows 10 "Anniversary Update" but it has been a year since Windows 10 came out. It's my daily driver and it gets better every month. This year it's gonna get better (like Windows 10.1 better if you ask me) with an update that's coming August 2nd!

In that update (or in the Windows 10 Insider Builds you can get if you're a techie or adventurous) you're going to get a lot of nice polish AND the ability to optionally run Linux (ELF) Binaries on Windows 10 at the command line. The feature is the Linux Subsystem for Windows or "Bash on Windows" or sometimes "Ubuntu on Windows." Call it what you like, they're real, and they're spectacular.

We first saw Bash on Windows 10 in march of this year at the BUILD conference.

Developers can run all their Linux user-mode developer tools like Redis or even TensorFlow (without GPU support).

I went and recorded a 20 min video screencast showing what you need to do to enable and some cool stuff that just scratches the surface of this new feature. Personally, I love that I can develop with Rails on Windows and it actually works and isn't a second class citizen. If you're a developer of any kind this opens up a whole world where you can develop for Windows and Linux without compromise and without the weight of a VM.

I hope you enjoy this video! Also check out (and share) my other Windows 10 videos or my Windows 10 playlist at http://hanselman.com/windows10.

Sponsor: Build servers are great at compiling code and running tests, but not so great at deployment. When you find yourself knee-deep in custom scripts trying to make your build server do something it wasn't meant to, give Octopus Deploy a try.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Friday, 01 July 2016 08:33:38 UTC
Hi Scott, When are we getting multiple tabs on command window?
Friday, 01 July 2016 08:41:59 UTC
Cool stuff.

Would things similar to "import os, sys" in Python work as expected using Ubuntu on Windows?
Irfan
Friday, 01 July 2016 08:55:40 UTC

Hi Scott,
Have you tried to install Docker?
yasin
Friday, 01 July 2016 09:26:42 UTC
You typed "desktop" in the command prompt, and it took you to your desktop folder. Is that a Windows 10 Anniversary update as well? Or is it some custom command you have installed?
Friday, 01 July 2016 15:47:26 UTC
when will we see this in windows server instead of Workstation
pm
Friday, 01 July 2016 16:07:00 UTC
not for running server workloads but because I use server as a dev box
pm
Friday, 01 July 2016 16:46:29 UTC
The words 'game changer' get thrown about a bit too much but this definitely opens up lots of possibilities as Scott says. The reason I switched to a Mac a couple of years ago was the frustration I experienced whenever I developed anything outside the .NET world. The problem wasn't Microsoft or the technologies themselves (Python for example has very good Windows support) but the army of third party developers and vendors who never thought about Windows. So I'd find myself writing something in Node or Django and then there'd be a cool plugin that I wanted to use that simply would not work. The Linux Subsystem on Windows should (hopefully) see a lot of these problems go away.
Friday, 01 July 2016 17:31:48 UTC
Sam - That's just a batch file I put in my utils folder, which is in my path.

Yasin - That won't work since there isn't a Linux Kernel. So I use Docker for Windows.

Irfan - It should.
Scott Hanselman
Friday, 01 July 2016 18:04:41 UTC
Hi Scott, thanks for this video. Interesting stuff!
Friday, 01 July 2016 18:40:17 UTC
Hi - PM for Console & Bash here:

Great video Scott - you beat me to it! :D Thanks for doing this!!

@Amit: Tabs are one of the most popular feature votes on our UserVoice and are on our backlog.

@Yasin: We don't support Docker Engine on Bash/WSL, but you CAN run the docker client and operate a Linux VM/machine.

@PM: We don't ship Bash/WSL on Server. Why do you still use Server as a desktop OS? What features aren't on desktop Windows 10 these days that you need?
Rich Turner
Friday, 01 July 2016 20:54:50 UTC
Thanks Rich,
Once you guys come up with the tabs, I can switch to Windows Console from ConEmu.. :)
Saturday, 02 July 2016 05:46:20 UTC
Hi, I modified my .dotfiles, so that they are "Windows 10 ¦ Bash" and "Cygwin" compatible ... :)

PS: You can also use Zsh on top of your "Windows 10 ¦ Bash" + ConEmu

https://github.com/voku/dotfiles
Monday, 04 July 2016 02:39:42 UTC
I think I am missing the point. Can someone tell me understand why are we doing this?
Yakaas
Monday, 04 July 2016 19:47:05 UTC
Hi Scott, thanks for the great video.

I have a couple of questions:

Can you quickly talk us through getting the Ubuntu font looking right? I downloaded the font from Ubuntu directly, but the font doesn't size itself quite right. I don't know if there are settings in ConHost that I need to tweak to get it to look right.

Secondly, I was wondering if support for Puppet is planned. Our Linux developer environments are maintained using Puppet scripts, and parts of Puppet don't seen to work quite right. I know that this could be because tasks run by Puppet are doing Kernel-level tasks, but I just wanted to know if and when Puppet support, at least from a preliminary level, would be supported so that I know I can work on the problems

Thanks again,
Shafiq.
Shafiq
Monday, 04 July 2016 20:13:47 UTC
"they're real, and they're spectacular"
ROFL Seinfeld quote? Nice
Morgan
Wednesday, 06 July 2016 09:54:28 UTC
Please, please don't promote the madness that is calling the technology stack "Bash on Windows."
JJJJ
Wednesday, 06 July 2016 11:38:45 UTC
This is for Rich Turner- Rich, ConEmu is much faster than cmd for a cherry picked case I tried- (both are much slower than Linux terminals unfortunately, this is with build number ending in 36). A very simple test- hit enter key continuously and watch both terminals stutter, its jarring when you're typing in a lot of commands really fast. I know Windows 10 is free and you guys are already doing a wonderful job but if I can ask for something else- I'd like a fast terminal.


Conemu responds much faster than CMD (20% to 100%).
Test:

choco install ConEmu

Open cmd and ConEmu side by side

Type bash.exe in cmd and then on bash, type: time seq 1 100000. Note the real time used

Type bash.exe in ConEmu and then on bash, type: time seq 1 100000. Note the real time used

On my machine (which is Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz), it takes ConEmu consistently 6-6.5 seconds, cmd about 7.5 (best) to 9 (mode) to 13 seconds.

FinallyYearOfLinuxOnDesktop
Sunday, 17 July 2016 15:09:12 UTC
Scott,

Very illustrative video. I've been eagerly awaiting this!

BTW, how do you make your screencasts, with your video on? Does Camtasia allow it, or you do something else? Your article (http://www.hanselman.com/blog/TheGuideToCreatingQualityTechnicalScreencasts.aspx) is excellent, but I wanted to know how you do things like "fast-forwarding installs" etc.

Thanks,
Karthik
Karthik Raman
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.