In some older Windows 10 builds, you might have seen certain errors.
If you see "developer mode package failed to install"
(error code 0x80004005) when enabling developer mode, please see here,
for the Microsoft workaround.
- Since the April-2018 update of Windows 10 to version l1803,
there has been a long-standing bug. On startging bash,
the terminal window tells you that your WSL (e.g., Ubuntu) is not
available. In fact, it is available, and if you wait 5 minutes
and again invoke bash, then it will work properly.
- This bug is analyzed here.
It was diagnosed by users as a problem with the lxssManager using the
fast startup mode. There are some ways discussed there to re-configure
Windows to a non-default mode that might fix the bug.
- A user from that discussion, @behillis, (maybe working for Microsoft??)
wrote on July 31 that he expected that Microsoft would
push out the bug fix in about a month. As of the September
Windows update, this bug is not yet fixed.
- Based on all this, I am guessing that Microsoft knows how to fix the bug,
and is planning to include the bug fix in one of the future Windows
updates. Please do suffer through the 5-minute delays in the interim.
It will be worth the wait.
After trying this, if you're missing your favorite Linux program, try:
sudo apt-get install PROGRAM
sudo apt-get install gcc gdb make
the Microsoft reference page.
You can uninstall Windows Subsystem for Linux at any time through the
or through the original method of opening a "cmd" window, and typing:
If you should want to run a Linux graphics application, then first practice running
a graphics application at login.ccs.neu.edu on your local Windows laptop.
This will be slow since all graphics will go over the Internet.
Try out, for example,
this tutorial from UCI.
Then try this, using similar principles from your bash shell:
Essentially, the idea is to start a _Windows application_, Xming,
or else vcxsrv.
This will create an X-server as a Windows application. Now, since your
Linux graphical application wants to talk to a Windows application
on the same host, we can simply do (from inside the Linux bash shell):
- sudo apt-get install LINUX_PROGRAM
- DISPLAY=:0 LINUX_PROGRAM
If you would like to dig deeper, and also sharpen your understanding
of operating systems, here is an overview of what is happening in WSL:
A quick look into LxRun.exe: Windows 10’s new Linux downloader
WSL also allows you to substantially share a Linux filesystem with
a Windows filesystem. If you're curious about how two different
filesystems can coexist, try reading:
We have seen a recent growth in diversity in widely used operating systems:
- Mac OS/X -> Mac OS
- iOS (Apple phones)
- Android (Google/Samsung phones)
- Google Chromebook
- Google Chrome OS
In a countervailing trend, there are efforts to merge certain operating
systems into a single operating system that supports multiple platforms.
We see this especially between smartphone and laptop:
- Microsoft: Windows (supporting laptop and smartphone from
- Apple: Mac OS and iOS
- Google: Chromebook and Android and Chrome OS
- Future of Google ??:
One of the more interesting things to watch in the development
of mainstream operating systems is the extension of Windows 10
(especially the recent Windows 10 Anniversary Edition) to include
support for Windows smartphone apps, iOS, the now suspended
Project Astoria for supporting Android, and now WSL (Windows Subsystem
for Linux). In fact, WSL grew out of Project Astoria, since the Android
target of Project Astoria is already based on Linux. (The vision of
Project Astoria, presumably, was to allow Android apps to run on
Microsoft calls this effort Universal Windows Platform (UWP):
If you want to dig deeper into the origins of this effort, read
this overview, and a widely cited Microsoft research paper:
And here's where the internal development of WSL is taking place
within Microsoft. Microsoft is providing a relatively open window for the
rest of the world to look in on this project.
Report on issues in using Bash (WSL) for Windows
(... and have fun reading the current issues there. The Microsoft
team for WSL is amazingly open and responsive. It's an opportunity
to gain greater insights into the design of operating systems.)
Universal Windows Platform Bridges
(supports writing one codeset and deploying on most Microsoft
platforms, but also importing existing applications from iOS, Web,