Command Prompt / Console / Bash on Ubuntu on Windows
Shrouded in the mists of time, the Windows console was created. For millenia, geeks and developers wrought their command-line tools. After a short time, a great lacking was noticed. And so, legions of ever intrepid command line mavens migrated to other shells and consoles, ’til but a stalwart few remained.
In Windows 10, with a small rumbling, the ancient, weary, Console heaves a great sigh and begins to tremble. New features appeared, but slow was the (aparrent) progress.
But then, in early 2016, from under a rock evolved a group of new console dev’s. And then a PM. The journey to legitimacy has begun … again! WE’RE BACK! AGAIN!
2016-04-04: We’ve just announced Bash on Ubuntu on Windows and, along with it, the first of a raft of improvements and new features coming to the Windows Console, benefitting PowerShell, Bash and many command-line tools. Bear with us while we clean-house a little and get everything ready while we make the Windows command-line cool again!
In the meantime, please post your asks, ideas, wants and needs below: We ARE listening, and we ARE grateful for your feedback!
@RichTurn_ms, Paul, Mike1 & Mike2.
-
would you like to support ifconfig, iw, iwconfig that sort of things? or support for iptable?
That would be great if you add entire iptable support to WSL, isnt it?
270 votes -
Support for filesystem watchers like inotify
Currently there is no support for filesystem watchers like inotify.
Because of this tools like bitbake don't work.922 votes@Samuel Gajdoš – thanks for your enthusiasm – as we’ve clearly stated time and again, WSL is not yet anywhere near complete EXPECT GAPS in this initial version. However, know that the team haven’t stopped since shipping Win10AU – in fact, in the first RS2 Insiders build that shipped last wee, several additional improvements to WSL were delivered: https://msdn.microsoft.com/en-us/commandline/wsl/release_notes
We are looking into this request, which is also being tracked by several issues in our GitHub: https://github.com/Microsoft/BashOnWindows/issues/216
-
Let us launch Windows processes from Bash
It'd be cool to launch VS Code from Bash instead of leaving & looking for the file in Windows Explorer to edit, as was shown in the Demo.
It'll allow automating build tasks involving both Linux and Windows tools with sh scripts1,129 votesWe hear ya – this is a common request and one we’ll be exploring for future releases.
Rich Turner [@richturn_ms]
-
enable network interface enumeraration
Many, many scripts rely on the ability to iterate through network interfaces. There is no way to do that presently and this will cause a great deal of scripts to fail. We do not need raw sockets, rather, just the ability to query what interfaces there are. This way, python scripts that rely on "netifaces.ifaddresses" will work as will some basic commnd line utilities.
787 votesThanks for your comments all – we share your pain. The WSL dev team have begin working on implementing this feature, in partnership with the core networking team.
It’s surprising in some ways how much *NIX compatibility we were able to build without requiring any major changes to the rest of Windows. However, there are a few interesting scenarios that did require close cooperation with other teams.
Networking is one of those scenarios! For example, because of the way in which Windows implements ping via ICMP (with a kernel-mode ICMP responder to avoid ICMP DoS attacks), required some security work to allow Linux processes to open raw sockets and handle ICMP from user-mode.
Another example is how network connection enumeration is handled in Windows and Linux. In this case, to make the feature work correctly, we’ve worked with the network team to make some adjustments to the WIndows networking stack.
…
-
Make support for X Server Official
Alot of us uses WSL and Win desktop merged to offer the best experience of both side, the result is great!
A bit of work on dbus and also the support of GUI & Desktop manager will be almost complete.
I think that the two side are not in competition, but in fact I think they are very complementary when used with the respective applications merged on a single desktop (Windows).63 votes -
Add NETLINK Socket support.
Please add netlink socket support to the Linux sub system on Windows. This will be required for a couple of development scenarios on Ubuntu.
Especially when http://yeoman.io and NodeJS should be used from the Linux Subsystem on Windows.
Microsoft is currently planning to release and upcoming new SharePoint Framework to customize and develop SharePoint.
This will make use of Yeoman generator.Issue was already supported on https://github.com/Microsoft/BashOnWindows/issues/468
210 votesWe are looking into Linux IPC support. Updates to follow.
-
Ubuntu shell access to system GPU. Ability to run CUDA for use in Machine Learning applications.
It would be great if the new BASH shell could utilize the system GPU for use with CUDA in various Machine Learning applications.
668 votes@Tao & all: While we appreciate your enthusiasm for CUDA support, we don’t see this feature “in VERY VERY HIGH demand for most users” – most users/dev’s are not running AI/ML apps.
Don’t misunderstand us though – we hear you and we DO want to get CUDA support at some point, but right now, we’ve a lot of work on our plate to light-up many features that almost everyone will need/want.
Bear with us.
-
Unable to access USB devices from bash
We need to be able to access connected USB devices from bash. An example would be that if I install fastboot and adb using apt-get, connect an Android device to USB, I'm not able to use fastboot or adb to connect to the Android device. Please allow us to connect to USB devices from Bash!
506 votesWe hear ya. Added to the backlog for future consideration.
-
bash copy paste
Keyboard-based copy/paste should work in the bash console (ctrl+c/v)
493 votesThanks for the feedback: It’s on the backlog for consideration in future releases.
-
Support for symlinks and long filenames in bash
Ubuntu subsystem on Windows blows my mind (being a Ruby dev using a Windows 10 machine). I tried many solutions and I've settled with a Vagrant Ubuntu combined with Unison to sync projects across the two machines. Would love to get rid of the vagrant instance but we need to ensure Ubuntu subsystem will support symlinks and extended filenames out of the box (esp since its using shared storage with Windows 10 core subsystem). NPM, for example, needs these two features before it'll work natively. Good work guys!
533 votesWe are keen to figure out safe, rational solutions to the problems that affect both these feature areas. Bear with us while we do some work to figure out the best plan of action ;)
Rich Turner [@richturn_ms]
-
Add support for timer_create
I was trying to run pandoc as shown below, but I'm hitting an error. I'm no expert, but a quick search shows that timer_create is a POSIX feature that is probably missing.
root@XXXXX:/mnt/c/Users/XXXX/docs# pandoc --latex-engine=/usr/bin/xelatex -o docs.pdf 01-intro.md
pandoc: timer_create: Invalid argument
make: *** [docs] Error 1This is probably related with https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13339443-the-glorious-glasgow-haskell-compilation-system-a
316 votes -
Let Bash continue running even when the terminal has been closed
Just because I close the terminal doesn’t mean that I want the service to quit. For example, if I were to background an application and close the terminal, I’d expect that it’d still be running in the background.
491 votesWe’ll be considering this ask in the future – we agree this scenario is important, but understand that there are a TON of rough-edges with allowing Bash scripts / Linux tools to continue to run in the background after Bash is closed.
Rich Turner [@richturn_ms]
-
256 color support
I am not familiar enough with Windows to know if the problem is in Bash for Windows or in Conhost, but 256 color support is not working properly. I have a standard shell script that I run on every system to verify 256-color support, and it works just fine on most systems, but it doesn't run properly under bash for windows. I only get about 16 colors.
You can see some similar example scripts on the ConEmu site.
http://conemu.github.io/en/AnsiEscapeCodes.htmlPersonally, the script I use is more like:
https://gist.github.com/hSATAC/1095100But the problem is the same... More ultimately need more "complete xterm"…
426 votesWe’re excited to announce that we delivered 24-bit RGP true-color support in Windows Console in Windows 10 Insiders build #14931:
https://blogs.msdn.microsoft.com/commandline/2016/09/22/24-bit-color-in-the-windows-console/
Enjoy! :)
-
Let us right click "open bash here" from explorer
Similar to how you can shift+right click and "open command window here" while viewing a folder through explorer. It would be nice to have "open bash here" as well.
362 votes -
Let us fully administer the Windows side of the machine with Bash
And at that, let it be cohesive with the way we all know bash to be.
For example, suppose I did (this wouldn't be syntactically correct, but you get the idea) :
$ echo -ne "\x01\dword" > /proc/registry/HKLM/Software/Microsoft/Windows/MyKey/MyValue
Or I could also read registry values, like so:
$ cat /proc/registry/HKLM/Software/Microsoft/Windows/MyKey/MyValue
Or search the registry, like so:
$ rgrep -i mydata /proc/registry/HKLM/Software/Microsoft
Also let us do the same thing with other Windows side things like WMI objects. Say I wanted to do this in powershell:
Get-WmiObject Win32_PerfRawData_Tcpip_ICMP
The bash equivalent might be:
cat /proc/wmi/Win32_PerfRawData_Tcpip_ICMP
439 votesThis is a very common request, related to https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13284702-let-us-launch-windows-processes-from-bash.
While we’re keen to make aspects of Windows easier to administer from within Bash, know that PowerShell will likely always provide a far richer and more comprehensive admin capability than Bash ever will. The main reason for this is that PowerShell has deep support integrated into all of Windows, AD, SQL, Exchange, Azure, Office365, etc., along with many 3rd party systems, etc. Replicating this depth of admin capability in Bash would likely be extremely difficult and take many, MANY years!
Rich Turner [@richturn_ms]
-
Support for X-server running in Windows on the same host to display X enabled applications using DISPLAY=localhost:0.0
Instead of limiting development tools to closed command line allow locally running X-server (such as X-ming or Cygwin/X or vcxsrv or X-Win32) to display X enabled applications (such as GNU/Emacs or gvim). This wouldn't be the same as running native applications so wouldn't cut into potential windows applications, but allow people to use Emacs to do development in a multi-window environment.
421 votes -
Add FUSE (Filesystem in Userspace) support in WSL
Please add FUSE (Filesystem in Userspace) interface /dev/fuse into WSL (Windows Subsystem for Linux).
With FUSE, we can access from WSL to file storages regularly used with Linux cluster environments such as GlusterFS, Moose FS, etc.231 votes -
Allow native Win32 applications to launch Linux tools/commands
Allow native Win32 code (such as Emacs) to launch Linux tools/commands (such as gcc/clang), with path translation so people can use the native Win32 GUI version of Emacs (or vim) to do development instead of the more restricted command line version. This is significantly better than running Emacs in Windows to edit files and then switching windows to execute commands in the bash console.
339 votesThe reverse scenario of https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13284702-let-us-launch-windows-processes-from-bash
On the backlog for future consideration.
Rich Turner [@richturn_ms]
-
System V IPC support needed
This is a WSL/lxss request to add support for System V IPC capabilities that are necessary for many linuxy things, apparently including fakeroot which I stumbled upon while attempting to build debian source packages. In the interim it looks like I'll have to use Linux to cross-build for WSL.
I noticed in githib that this is a know issue on the backlog, however is lacking sufficient "telemetry" to assist in prioritization :(https://github.com/Microsoft/BashOnWindows/issues/1016)
Failing to find the issue here I felt that I should post something so that others looking for this support might want to say so by…
8 votes -
Bash on Windows without enabling developer mode
I want to use Bash on Windows but I don't want to enable developer mode due to its "install any signed app" side-effect. I just need latest gcc/g++ and python to work.
24 votes
- Don't see your idea?