Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Your entry point to WSL is bash and while you may be able to compile and install other shells, calling it "bash" isn't too far from the truth.

Really the awkwardness of the naming is more of a testament to the power of scripting on Unix-like OSs (eg how scripting is a first class citizen and how most of the ecosystem is modelled around CLI, and thus scripting, support) more than it is an insult.

As for cygwin, that was simply terrible. MinGW was better but WSL is already better than both and it's still a long way from feature parity.

Of course some MS haters will always find a way to fault this, and i can sympathise with that point too because I've been burnt my MS too and thus, as much as i found WSL to be a much needed addition to Windows, I'm still going to stick with Linux as my primary OS. However personal biases of Windows aside, even i have to admit that WSL is a pretty good feature.



Cygwin isn't terrible; it's much better than mingw for the simple reason that it provides an environment much closer to POSIX. Its biggest problem is forking speed. I don't think it has a second big problem; the next biggest is the crashes you get if you do partial updates and don't rebaseall.

Cygwin enabled me to stick with Windows since 2003 or so, and have the same environment on Windows, Linux and OS X. The command line is where I spend most of my time, and apart from Firefox every daily app I use on Windows is a cygwin app, from tmux through to Emacs.


Opinions are bound to differ so I do appreciate your point. I personally found Cygwin a nightmare to install, a nightmare to maintain, and a crash prone on every system I used it on since XP. While you're right that MinGW is only a subset, it did address the issues I raised with Cygwin which made it a better default environment for me most of the time; falling back to Cygwin on those occasions MinGW couldn't fulfil. But frankly I generally try to avoid Windows where-ever possible so it's possible you have more experience with Cygwin than I.


I've also been using Cygwin for 10 years now. It's a bit annoying to install and update it, but it's far from a nightmare :)

Just run the setup.exe, click through the 5-10 pages and that's about it.

To update package, just run the setup.exe, click through the 5-10 pages and that's about it :)

Or use this: https://github.com/transcode-open/apt-cyg (I haven't needed so far, but I've read good reviews about it)

Regarding "crash prone", it used to be a bit unstable in the early days of XP, but almost all of them were due to failed updates. And that's where you needed to know a bit of magic, the "rebaseall" thing mentioned by barrkel. I haven't had to do that in a long time.

It's a lot more solid that people think it is. I wouldn't run production servers with it (even though I know folks that do...), but for desktop use it's quite robust.


We can argue about whether "nightmare" is overstating the problem but let's be honest that it's easily more than just "a bit annoying". The installer took an hour on one system and the options in those 5-10 pages are far from user friendly. Sure it's stuff I can manage being a seasoned Linux sysadmin but frankly I've found installing ArchLinux (with it's deliberately anti-user approach) easier; never mind your more "mainstream" platforms like CentOS and Debian.

apt-cyg is pretty good though. However that didn't always work. But in fairness to apt-cyg this was about 18 months ago and I believe it was still marked as experimental at that time.

As for crashing, the issues I had last year were with the ssh-agent hanging. The only remedy was killing them from Windows then restarting Cygwin. Killing the process from within Cygwin (ie using `kill`) and then restarting the daemon weirdly left it hanging still. I've not used Cygwin since to see if that issue had been fixed.

Cygwin is one of those products that when it works, it works really well. But when it doesn't it can be hateful. Sadly I've run into a few edge cases that have left me with a sour taste after using it.


For problematic processes, I use kill -W -- that uses the TerminateProcess Win32 API, rather than Cygwin's POSIX implementation. I also use it to kill things like the Windows Update full-screen overlay on Windows 10.


That's handy to know. Thank you very much!


Whups. It's ps -W to find PIDs for Windows processes, and kill -f to use TerminateProcess. Got the two flags confused; you usually use one with the other.


The confusion is that the "Bash.exe" that you run to initiate the WSL subsystem is entirely unrelated to the bash, the shell that gets executed in that subsystem. In the cygwin scenario, when you ran bash.exe - you really are running the bash shell.


EDIT: Your choice of shell can be something different than bash... you opt to use zsh or fish or another shell. Therefore saying "Bash for Windows" can be objectively said to be unnecessarily confusing/inaccurate.

I think Cygwin was less convenient than an ABI such as WSL, but by no means "terrible". Cygwin was initially released around 1995, it served a valuable purpose before the first VM products came along.


Typing on a phone. autopredict errors happen and I usually miss at least one of them since my proof reading skills suck. Apologies for that


I am amazed that you started at all. Given your fascination with personal attacks


>EDIT: Your choice of shell can be something different than >bash...

Bash is the default shell. It's also the generic command you run to launch the WSL environment.

While the multiple names for the same subsystem are a little nebulous, Bash is far from being as confusing or misleading as you're attempting to portray.

Also, editing your original snide grammar dismissal due to the downvotes it received isn't appreciated. That's deceptive at best. Either own your bad behavior or apologize for it, but don't edit it and pretend like you were being rational.


Not being able to change the shell is an open issue.

https://github.com/Microsoft/BashOnWindows/issues/846

Then, we both edited our replies. He corrected his typo, I removed my remark about the typo. At no moment there was any insult given, and the replier did not take offense.

No need for insulting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: