Bash on Ubuntu on Windows. The creators update and what we can do with this neat feature.

Installation Guide

Uninstall it and start anew

How to run Linux GUI apps with Bash on Windows

Update: New distro’s coming to Bash/WSL via Windows Store

April 11th passed and now we have another big update of Windows 10 called the Creators update. It adds a lot of new features but the most interesting one from a developer point of view is the Bash console.

Before the Creators update we had bash but it was at an early stage. People that wanted to play with it early had to register for Insiders update of their OS. Now all of us have the latest features with an official stable update.

The new linux subsystem now comes with Ubuntu 16.04 LTS which gives us a lot of new things and also the updated allows a lot more linux software to run.

My favorite update is the one that allows the file watchers to work. What that means is that nodejs apps like grunt, gulp and friends now just work. Of course there are other updates and fixes that allow a full development environment to be set using only the bash console. You don’t need to install the Windows alternatives of the apps you need. Just use bash and run apt-get install xxxx. Software like git, nodejs/npm, php, ruby can be ran under bash now.

One thing that needs improvement for me now is when I use browser sync, it cannot open the browser and I want it to open the default browser I set under Windows. However you can still open you browser and go to http://localhost:3000 and it works.

We’ll see in the near future how many console apps we can use. I personally want bash to be my default shell in every shell program and IDE I have and to run without problems with paths or environment: just like if using bash.exe for windows. I also need to check how mysql, mongodb, docker and similar software behaves. Still having everything that I use for web development under the bash console is way better than using ported to Windows software or a slow virtual machine.

My advice for you is to start using bash on Windows today, set up your own environment and report any error you have on their Github issues pages.

No Internet access from your Docker container? Check this out!

After a recent update I started having issues with my containers that hosted apps which were accessing the outside world periodically. At first I couldn’t understand where the problem is. I’ve been checking a lot Github issues without success and finally I remembered that I’ve made an update to my host which updated the kernel.

What I needed now is to find a way to boot with an older kernel selected by default. I started looking in Stackoverflow pages and blogs and found a way to set any kernel that I already have installed as the default one.

Here are the steps I took to fix my problem(my host is running Ubuntu linux):

  • check the /boot/grub/grub.cfg file for all available options you have. The name of every kernel installed is there. Pick one that is older than the latest installed. You have to look for entries like: “menuentry ‘Ubuntu, with Linux 3.13.0-113-generic'”. You will use the “Ubuntu, with Linux 3.13.0-113-generic” part
  • next open the /etc/default/grub file and look for the GRUB_DEFAULT entry
  • combine your kernel config name from point one from above with “Advanced options for Ubuntu” or “Previous Linux versions” for older Ubuntu versions (<14.04). You’ll have to have a similar string like this one now: “Previous Linux versions>Ubuntu, with Linux 3.13.0-92-generic”. Set GRUB_DEFAULT to this string like: GRUB_DEFAULT=Previous Linux versions>Ubuntu, with Linux 3.13.0-92-generic
  • you can use numeric values for GRUB_DEFAULT but it’s not recommended as the number will point to a random kernel config after the next update
  • save, run sudo update-grub and restart

Now you should have an Internet access from inside the Docker containers. This is just a temporary solution so don’t leave it like this, especially running with an older kernel. Better check you configuration and even reinstall everything on your host, use a newer linux distro, etc.


Touch scroll ConEmu under Windows + some other stuff

So.. I have my Win8 tablet and I have all kinds of dev environments installed on it. It can handle a lot, believe me.

I was using for a long time a combination of git bash console + increased console size in the default Windows’ console settings: rows and cols. I really appreciate the git bash here option.

These days I stumbled upon ConEmu, received many good reviews about it and decided to try it.

I am still discovering its features but so far I removed/unregistered the git bash context menus and use the same environment inside ConEmu – it really gives you everything you need: I have the git bash console inside, again a console window without horizontal limit of the characters, easy select, copy and paste, etc.

However if you like me want to use it for scrolling on the tablet you have to use two fingers. You will be in selection mode with one finger. If you prefer you can disable the selection mode for sh.exe in the settings – to not accidentally copy a part of the text in the console while you are trying to scroll.

First things to do when you just installed Ubuntu

Open the windows in center:

Open Terminal menu from Nautilus:

Improve Bash’s prompt for Git:

Current Git branch name in command prompt |

Current Git branch name in command prompt |

You may want to add a new line at the end with:


The new line is just before the $ symbol at the end. I’ve got used to the git-bash Windows prompt and prefer it that way. It also saves some space for your long commands.