Things that you should know before running Linux on Windows 10 using the new Bash
Thanks to an official Microsoft project that translates Linux system calls, Core Linux tools, including the shell, are now available to run natively inside Windows 10. In this article, we will tell you what you need to know that the new Linux subsystem in Windows 10 can and cannot do.
Primeval as this project may be, it’s promising after checking its first release. Given below are four important points to keep in mind.
1. You need to be ready to dive in deeper into shell
You can think of yourself as a pro, if you are using the Linux command line at all. Subsequently, you can get into the Linux subsystem in Windows that is hidden behind a “for pros only” side entrance, only if you are running Windows 10 from the Fast Ring developer builds numbered 14316 or greater, through the Windows Insider program.
However, note that you may have to wait a few days to get build 14316 pushed to your system once you become an Insider and are on the Fast Ring. Also, note that there is no faster way to get an .ISO of the latest build.
Once build 14316 is running, go to Settings > Update & security > For developers, and select Developer mode. Then, type Windows features in the Search box and choose “Turn Windows features on or off.” Further, select “Windows Subsystem for Linux (Beta).”
Launch a command prompt and type bash, once it has been installed. You will receive an invitation to download and install Bash from the Windows Store. Then, typing bash from inside of Windows CLI will prompt you into the Linux subsystem and launch a command line from which you can launch any number of other applications, such as vim.
Go to the Windows Insider website to learn more about the same.
2. Use the Linux Binaries
Microsoft stressed that the Linux subsystem is not a VM when it first announced during the Build 2016. It’s a translation layer, where Linux binaries run as-is and have their system calls translated into something similar to Windows system calls.
However, the good news is that a huge number of Linux binaries can run as-is, as long as they are compiled for Ubuntu Linux. Packages can be downloaded via apt, as they are in Ubuntu. Some of them could actually even run gcc, a common Linux C compiler, even though there is no clarity as to whether they can be used to build working Linux applications within the subsystem.
There is a thread on Reddit that gives you a lot of Apps that can be run or not run on Linux within Windows 10.
3. Dont expect a full fledged Linux ecosystem on Bash
Microsoft with the first iteration of the subsystem wanted to offer the tools that Linux developers use very often, which is the bash shell, the ssh remote connection tool, and many others. This doesn’t imply that you should expect to be able to run Docker or VMs.
In the Reddit thread mentioned above, users have reported that while the Apache Web server does work, its buggy and only functions on a local loopback network. However, the fact that it works at all is remarkable. Similarly, the xorg client for X Windows runs, even though it needs manual configuration and an X display server on the Windows host.
4. Linux and Windows apps will run separately
Linux apps running in the subsystem have no knowledge that they are running in a subsystem. The Linux machine is their universe, while Linux applications would not have any idea about the presence of Windows apps. Depending on how Microsoft expands on the functionality of the Linux subsystem and what type of developer APIs Microsoft exposes, Windows apps may be able to know about Linux apps just in time.
Having said that, right now Linux apps can communicate to the Windows world through two main avenues. The first one is through the network, even though that needs a Windows app to listen on the other end. Whereas, the second is through the filesystem, as the Linux subsystem automatically creates mount points in /mnt that agree to drives in Windows. It does not seem likely to develop files from within Linux, as this may be by design or a permissions problem. However, you can read and make changes to the existing ones.
Remember, the Microsoft experiment with Linux on Windows 10 is still in its infancy and you may find many bugs within the subsystem. Be a sport and share the bugs with others so that they can be fixed in the next release.