There's Bugs In The Windows 10 Implementation of Bash (altervista.org)
First-time submitter Big O Notation shares "an honest review about the new Ubuntu Bash" that shipped with the Windows 10 Anniversary Update. While it's still officially beta, most of the commands work as expected, and it includes popular programs like the Pico text editor. Here's some of the review's highlights:
Pros: You can also manage and manipulate other files inside your entire Hard Disk, even those outside of your Linux home directory.
Cons: Even if you chmod something properly, when you use ls -l the Bash would not show the correct permissions. [And] if you try to create a Folder in your Linux Home Directory by using the Windows GUI, it would be impossible to read and manage it. Don't try this at home.
Microsoft says they've included the Windows Subsystem for Linux primarily as "a tool for developers -- especially web developers and those who work on or with open source projects." One Scandinavian developer has even tried running X on Bash on Ubuntu on Windows, reporting success running simpler programs like xcalc and xclock, as well as Gnome Control Center and xeditor and SciTE. "Things start to fall apart if you try to get more ambitious, though."
Cons: Even if you chmod something properly, when you use ls -l the Bash would not show the correct permissions. [And] if you try to create a Folder in your Linux Home Directory by using the Windows GUI, it would be impossible to read and manage it. Don't try this at home.
Microsoft says they've included the Windows Subsystem for Linux primarily as "a tool for developers -- especially web developers and those who work on or with open source projects." One Scandinavian developer has even tried running X on Bash on Ubuntu on Windows, reporting success running simpler programs like xcalc and xclock, as well as Gnome Control Center and xeditor and SciTE. "Things start to fall apart if you try to get more ambitious, though."
That "review" is tiny and doesn't really tell you much. It doesn't even say what happens if you do mess with the Linux subsystem directories from Windows apart from "it would be impossible to read and manage it". Grats for random guy getting a ton of ad hits on a crappy 5 minute blog post. Woo.
So basically MS's Linux subsystem can't even do the job Cygwin does quite nicely? I think MS ought to go and read the code, learn some lessons and carry it back. It's not like you can't translate Unix permissions to Windows' permissions system and vice-versa, the code's even right there to read.
There is at least one post online floating around how to update to ubuntu 16. I dont know how much info there is about fixes in function, or consequences thereof.
Permissions will only work correctly within the linux filesystem. When you're accessing folders on the Windows side through bash, it does a necessarily-lossy mapping.
For now, it's still better to use Cygwin.
"First they came for the slanderers and i said nothing."
The advantage of this new thing is that it runs Linux binaries directly. If you need to do that, and can't get the source for some reason, then it's great.
It's also great for programs that have trouble compiling under Cygwin, like dpkg. Other than that, better you use Cygwin. Or better yet, burn Windows and use Linux directly.
"First they came for the slanderers and i said nothing."
That are plural. And a bug which is singular. A bug in bash is singular, indeed.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
MS has stated that this is very new and very buggy but that they are working on it. It is not yet for public consumption. MS has been embracing Open source minus the extinguish part for some time now. Linux (okay so not the kernel but still) on Windows outside of a virtual machine is everything a lot of people have wanted but never thought would happen. Go watch some of the MS demo videos. As a Linux user since 1996, I can attest that there is absolutely nothing that will make the broader Linux crowd happy. Hence, most of the Linux crowd are not actual techies.
Brought to you by Carl's Junior.
I have no doubt that the integration between Windows and the Ubuntu environment is bad, particularly with regards to the permissions. The POSIX vs. Windows permissions models are most likely to interact badly. There isn't a lossless mapping between the two, so something is bound to be lost. That being said, this article is absolutely horrendous.
Example:
2. “sudo su” VS Windows
This useful commands doesn’t work in the Shell and if you try it you will, at first receive a command line error, and second you have to restart your terminal because the command “cd” starts to work in a random way causing path problem.
Well, no kidding. First off, anyone who uses ‘sudo su’ instead of ‘sudo -i’ or ‘sudo bash’ should cease writing technical articles. Then there is no justification for the expectation that both sudo and su will somehow work as expected. That's the very thing I'm not expecting to operate the way I'm used to, since it is not running on a Unix-like system.
But the absolutely best part is that the text of the whole article is completely devoid of any useful information. The quote above has the details and the grammar of the guy who calls your technical support guy and tells “my server don't work,” and refuses to give you any more details until you accidentally discover they don't have an account at your company, they don't have a server but a Facebook page, and their internet connection is presently not working.
As I would never used Ubuntu Bash for Windows, I would have been curious to see what permissions would ‘ls -l’ see after a chmod. That detail is somehow missing from the “article”, which is a series of complaints and vain praises like “grep works correctly”. Yay.
It doesn't seem like much of a surprise that starting a fight between POSIX and NT ACLs is going to end badly; but this 'review' fails pretty dramatically at answering the question of how much of a problem this is.
If you can't, in practice, let the Linux side touch the Windows side, or vice versa, lest ugly and inscrutable things happen, then you might as well just run a VM. If you can actually do a variety of interesting things across systems, so long as you avoid a few edge cases, that is potentially more useful.
Select and click the selected text to copy.
Right click to paste.
Change is certain; progress is not obligatory.
There are bugs in a beta? What a shock!
You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
The summary even states that Microsoft still officially consider it beta software. This is not even a v1.0 release.
What we are seeing here however is that even a large ship such as Microsoft can turn very slowly. This would have been unthinkable even 5 years ago - just think what it will be like in another 5 years...
Specialist Mac support for creative pros, Melbourne
The console window for the start menu item "Bash on Ubuntu on Windows" (terrible naming by the way) is already in quick edit mode, you don't need to right click the titlebar.
Change is certain; progress is not obligatory.
I can't even get Emacs to suspend and then return to the foreground in WSL Bash/whatever. The terminal program inevitably seems to get confused, and things get borked.
The convenience of apt-get is outweighed by general unpredictability that is even worse than Cygwin.
Honestly, Windows 10 + WSL very nearly got me to buy a Windows laptop as my primary computer, but it just isn't there yet.
The console window for the start menu item "Bash on Ubuntu on Windows" (terrible naming by the way) is already in quick edit mode, you don't need to right click the titlebar.
I prefer "Bash on Windows" a not so terrible naming by the way. :-)
There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
I've just shit myself with surprise.
"Oh my God. This is terrible. This is the end of my Presidency. I'm fucked."; ~ Donald J. Trump
I must say that I'm completely underwhelmed by the reviewer's knowledge of his subject because ignoring bash itself, only two of the commands listed (cd and the two redirection commands, > and >> ) are built into bash. The rest of them are separate programs that are called by bash. And, calling a package of Linux utilities by the name of the included shell program doesn't exactly increase his credibility.
Good, inexpensive web hosting
I can't figure out any way to select, copy and paste text in a bash window. Quite a limitation for a shell.
...by which you mean "quite a limitation for a terminal emulator window"; that's not the shell doing that, any more than it's doing select, copy, and paste in xterm or gnome-terminal or rxvt or Konsole or Terminal or....
And, yes, if it's using the same terminal emulator code that a cmd.exe window does, select/copy/paste is a pain, especially to those used to either the "middle button pastes the current selection" model or the Shift+(Control-C,Control-X,Control-V) model, as are used in many UN*X terminal emulators (or the Mac Command+(C,X,V) model in Terminal).
While so many seem to see another chance to put the boot into Microsoft, others of us, who work in interoperability every day, are really quite excited by this tool. I was pleasantly surprised when Garming Sam, my colleague at Catalyst and fellow member of the Samba Team, wrote this article on how to run Samba under bash on Windows:
https://www.samba.org/~garming...
The fact that Microsoft is implementing the POSIX API, and even more, the Linux ABI, seriously is really cool, and shows that something seems to have changed in Redmond. I could never have imagined this when I started in Samba 15 years ago!
Apparently Microsoft released it to the public.
Time will tell.
This tends to confirm the view that the GNU/Linux misnaming as "Linux" is really about denying credit where credit is due (particularly noteworthy amongst people who are sticklers for technical accuracy and in need of a clearer distinction for what one has). This project includes some parts of a system but without the Linux kernel and yet you're still giving that project credit. What Microsoft has released might be a GNU/kWindows (akin in naming to Debian GNU/kFreeBSD, meaning GNU running atop the kernel of some other system—Microsoft Windows or FreeBSD, respectively) but whatever it is, it is certainly not "Linux" and it contains no Linux kernel code. Also, Cygwin has delivered some variant of comparable functionality for years.
Digital Citizen
The Cygwin layer has a long track record of success in providing a POSIX layer with some notable exceptions. There no native software management layer (forcing reliance upon the downloaded installer for software management). Further, while it is possible to build and install software locally from source, the process to do so is at best far from bulletproof - I personally was never able to get ClusterSSH running correctly under Cywin under multiple versions of Windows. However, it does provide a fairly robust software selection "out of the box" and does receive regular patches and updates. Being implemented as a set of API calls and libraries it tends to live within and get along more-or-less well with the underlying MS-Windows system.
They Bash on Ubuntu on Windows stack provides a binary-ready environment pre-loaded with a somewhat modified version of Ubuntu (GNU, but not technically Linux IMHO). Software management is performed using APT, and with very few exceptions software runs identically to the Linux counterpart. The entire environment appears to be created as an abstraction layer in memory on demand, although once running the subsystem does not spawn separate processes as more shells are created. Note that the environment is destroyed when the last user shell is logged out. This is permissible because there is no (significant) boot time associated with the environment - it is created and destroyed instantly without user intervention of any kind. This arrangement neatly precludes the likelihood that system services will be run in an environment which the MS-Windows system cannot control, but does lead to some coexistence issues in regards to filesystem metadata - specifically security-related metadata. The two systems (MS-Windows and Linux) are fundamentally incompatible by design at that level and so implementation/execution of GNU Linux binaries will turn up some quirks caused by this basic incompatibility. Incidentally, I've only been using the Ubuntu subsystem for a month now, and while I've installed and tested Xming and I've been able to install ClusterSSH with one command, I can't get the thing to work correctly in this environment yet either.
I can't bring myself to read the article because in the summary this guy is confusing 'ls' with 'bash'. Can we get someone who actually knows what they're talking about to write about it?
When you can simply install actual proper Linux in a free VM like VMware Player or Virtualbox, there's really no reason to mess around with this stuff unless you're actually using it specifically for what Microsoft suggests you should use it for. Cygwin is better for just providing a Unixlike environment on Windows if that's what you want, and a VM is still better for compatibility if that's what you need.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
It is even more stupid when you realize that there is no such thing as a windows bash implementation, since the bash binary is the ubuntu one.
Seriously. The author seems to have no idea what the Windows Subsystem for Linux is nor how it works. There are separate file systems for a reason. The things the author tries are exactly the things Microsoft make it very clear will be very problematic at best.
The POSIX model and the Windows model of permissions are completely different. Instead of trying to map between the two (something Cygwin does variably well, sometimes really badly), they provide a file system with the semantics needed. Finally, there is no Microsoft version of Bash. It's Bash, compiled for the Linux kernel (like most packages) that is being run as is by the subsystem. The subsystem has bugs, this is known, this is beta software and it is software that even Microsoft is smart enough to know that they need as many people trying it to find bugs as needed.
And it does fill a very specific need and more importantly, it's further building out the newer subsystem parts of NT, which might come in handy for other things down the road.
Right, but Microsoft wants you to bash on Ubuntu if you're a Windows user.
APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
Quite frankly, everyone I know wants to move AWAY from Windows 10 and TOWARDS Linux, with their only problem being that certain Windows programs don't run nicely on Linux, and that certain hardware only has Windows support.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
One Scandinavian developer has even tried running X on Bash on Ubuntu on Windows,
There is no such thing as a Scandinavian developer. He is either Swedish, Norwegian or Danish (in this case Norwegian). You can refer to Scandinavian developers in plural, such as in "Scandinavian developers are lazier than Mediterranean developers", but no single developer is Scandinavian.
-- Make America hate again!
"Pros: You can also manage and manipulate other files inside your entire Hard Disk, even those outside of your Linux home directory."
I see a whole new round of Windows/Linux cross-exploits coming...
I blogged about this feature some half a year ago. Since then, Microsoft (or Canonical, or both) made some improvements. One fundamental issue is still there though - and causing all sorts of trouble, from broken 'screen' to not working 'ping'. The issue is too familiar to those who ever tried to support NFS and CIFS simultaneously in the same file system. Long story short, Microsoft has never figured out the meaning of mode bits in POSIX inode, POSIX systems have not done a good enough job of figuring out Windows permissions model. There were attempts to marry the two - from Samba to Likewise (RIP) to some proprietary implementations by Sun Microsystems, EMC, Nexenta and others. It would be nice if Microsoft and Canonical finally set this straight, but the chances are slim.
Pro:
-run off the shelf Ubuntu cloud image, not a custom made OS, with real Linux binaries and can be updated with apt-get
-several advantages over a VM:
-no need for a separate partition/file
-no need to allocate RAM (and require less RAM in general)
-no messing with network configuration (although this limits some functionality)
-no boot time
Cons: /dev (no hard drive, no serial port)
-file access seems slow
-fakeroot doesn't work (fakeroot-tcp does and can be used as an alternative)
-you need to launch it with administrative privileges in order to ping anything
-very limited
-no loopback filesystem mount possible, no Linux filesystems support
-during a large compilation, I got some failures with "write errors" which do not happen under my VM. My SVN local db was also corrupted.
-you can edit a file from Windows but the Linux simulator won't get notified the file changed. You can still read the good content but the modification date is wrong.
-no GUI application, no servers (as there is no init scripts)
So I write command line software. If a user messes up the command line, I display a Usage message. This uses argv[0], which is basically 'the executable name'.
When I run Windows bash, the pwd command shows '/c/test'. When I run test.exe I'd expect argv[0] to be '/c/test/test.exe'. It isn't, it is the Windows native 'C:\TEST\TEST.EXE'.
To Terminate, or not to Terminate, that's the question - SCSIROB
Well... if you would have made a break for the bathroom instead of making a post on the Internet... I am thinking that things might have worked out better for you.
My eyes reflect the stars and a smile lights up my face.
Who would have expected Microsoft to be one to finally achieve Linux on the Desktop?
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
...so in short its not trustable.
This whole "putting Linux under Windows and making sure it sucks" thing seems like Microsoft's actual purpose was to come up with a clever way to make inexperienced people think Linux must be significantly worse than Windows,
Does it really come with Pico, or is it plain old GNU Nano ?