
Command Line and Windows Subsystem for Linux – The Windows 10 April Update - axiomdata316
https://www.anandtech.com/show/12810/the-windows-10-april-update-the-littlest-big-update/4
======
drinchev
Was so sad, because vagrant stopped working on my colleague's computer after
this update.

I had to force Vagrant to use the "system" ssh binary (
VAGRANT_PREFER_SYSTEM_BIN=1 ), since the internal vagrant OpenSSH stopped
working.

And this is without WSL being in use.

It's already so complicated to run even git / vagrant on a windows machine,
that I'm wondering how are people developing with it.

~~~
pbowyer
> It's already so complicated to run even git / vagrant on a windows machine,
> that I'm wondering how are people developing with it.

I find Git fine, but the Vagrant/Virtualbox ecosystem...

I dread every Windows update because something will break the setup, and that
will be a day lost to figuring out which version of every component I need in
order for my Virtual Machines to boot/build.

I would pay money for something that "Just works". Wondering if VMWare rather
than Virtualbox is that, but no way to test without spending money.

~~~
megaman22
Run VMs in Hyper-V. That just works

~~~
btschaegg
I could find many ways to describe HyperV, but "just works" would definitely
not be a phrase I'd use.

~~~
tatersolid
In comparison with VirtualBox, Hyper-V “just works”

------
ChuckMcM
I really like WSL for systems where I have to use Windows either for corporate
reasons or driver support. Now that you can do UNIX sockets between the
'sides' its pretty easy to add shims for special purpose USB devices as well.

------
ktpsns
> [...] to start an argument, case sensitivity is one of the most annoying
> features of Linux.

This is of course so much opinion-based, but my feeling is that in absolute
numbers, machines which distinguish between upper and lowercase in file names
surpass machines which don't. At least since the global market is dominated by
Unix-inspired operating systems (iOS, Android) in the end ;-)

~~~
willtim
Not to mention, that case-insensitivity requires knowledge of locale/encodings
and all the associated complexity. Not every language even has the concept of
case.

------
Jare
Another nice update to the WSL which I believe arrived with this version,
SIGIO and nonblockig reads. This is very nice for console textmode UI apps.

------
SuperNinKenDo
Looks like worthwhile additions. WSL is pretty nice, although I've started
moving away from Windows, and generally do all my WinNix stuff on MSYS2 and
Cygwin now anyway, for a variety of reasons. That and Eshell in NTEmacs is so
nice.

------
nickjj
One cool thing about the update is WSL's filesystem now supports metadata
which can store Linux file permissions.

So instead of having 777 permissions everywhere you can have your WSL mounted
files and folders have correct permissions.

Problem is popular code editors like VSCode will strip this metadata every
time you save a file.

If you want to see this fixed, please post about the issue in
[https://github.com/Microsoft/vscode/issues/49021](https://github.com/Microsoft/vscode/issues/49021).

------
grewil2
Shouldn't it be called Windows Subsystem for GNU? There's a boatload of GNU-
tools in there, but does it include a Linux kernel too?

~~~
xmrsilentx
Too put it more simply ladies and gents', it's the doppelgänger of WINE.

~~~
EvilTerran
WSL's _kinda_ the mirror-universe Wine, but not quite - AIUI, it doesn't
translate Linux syscalls into Windows ones, it's an alternative Windows kernel
ABI that bypasses the normal one entirely.

That makes a big difference when it comes to the implementation of syscalls
that have no remotely close analogue in regular Windows. fork() and exec()
spring to mind - the hoops Cygwin had to jump through to fake those[0] are
pretty eye-watering, but for WSL Microsoft added new kernel functionality to
support them directly.

[0] [https://cygwin.com/cygwin-ug-net/highlights.html#ov-hi-
proce...](https://cygwin.com/cygwin-ug-net/highlights.html#ov-hi-process)

------
zmix
Wouldn't it have been better for Microsoft to support
[https://midipix.org](https://midipix.org), which would have resulted in more
finegrained POSIX support for Windows, rather than installing an isolated
machine, that runs seperate?

~~~
hirsin
What isolated machine? Open up WSL, run "CMD.exe notepad", then top. You'll
see the instance of notepad running, and then you can go kill it with
taskmanager. People still seem to think it's a VM when it's not - the pid in
the Linux system is the same pid in Windows, it just hits a different part of
the kernel.

~~~
zmix
You are right, I was assuming, it'd be running in a VM. At least, that was
what was being said, when this project got introduced to me a while ago.

I still don't sympathize and would prefer Microsoft putting other efforts,
than this, into making Windows more POSIX aware/compatible.

~~~
hirsin
Yeah, when it was first released no one wanted to believe it was kernel level
compat.

Curious - what would you prefer to see Windows do to make it more POSIX
compatible beyond the current work of making it actually POSIX compatible? I
mean, you can use any package manager you like to install any Linux
application - it's literally POSIX compatible.

------
frankohn
I advice people to not use WSL. It seems to me that this is the first step of
their well-known embrace, extend, extinguish microsoft's strategy.

They are now _embracing_ the gnu/linux way of working like the packaging
tools, the command line with the shells, the easy of having a compiler and
developer tools, etc etc.

At the same time they don't let you create from WSL standard Windows
application that you can redistribute, I guess this is part of their strategy.

In addition Windows 10 is such a messy, bloated system and the updates are
very heavy and have often problems and they reset without asking many of the
configurations you carefully made on your system.

I advice people that want to use Windows to use MSYS2 instead. It is very well
done, works flawlessly and you can build full featured windows application
that you can redistribute. You have also the pleasure to use a shell inside a
decent terminal and install very easily packages using pacman.

In addition they support MinGW packages that does not need a special
compatibility library, the msys2 dll, so that your application is 100% Windows
native and can be a single executable if you want.

~~~
oblio
I’ve been using Linux for more than 10 years. Don’t be ridiculous. Linux
desktop usage has always been pitiful, 2% of the market at best. What is there
to extinguish? There is a reason “the year of Linux on the desktop” is a meme.

You’re completely misreading their strategy. They’re targeting development for
Azure. These days a ton of development tools are *nix native and Windows is a
second class citizen, because Linux on the server is massive. And Microsoft
can’t budge it, it tried, it gave up: Linux runs on Azure. But Microsoft needs
to take dev mindshare from Mac, especially. Mac is the real target here,
another proprietary OS. Mac is closer to Linux so many devs work on it and
later deploy to Linux.

Microsoft wants to attract Mac devs to Windows so that they can up-sell things
that make it easy to work with Azure.

And you forgot one thing from the days of EEE: Microsoft was uncontested #1.
Those days are GONE. They can’t extinguish anything these days, even if they
try. They did successfully extinguish Windows Phone, now that I think about
it... :p

~~~
Vogtinator
The end goal is to use WSL on servers, to extinguish linux servers.

~~~
oblio
Pfffft. WSL is almost a side project for Windows. If it were meant to be more
than a dev environment we’d see a major push for it on Windows Server. Major
push: fast development, integration with other Windows Server tools, tons of
marketing, etc.

Did I miss something? As far as I know the Windows Server side is completely
silent...

------
JonasJSchreiber
I really wish that Docker could natively run in WSL. It's a really
aspirational project for Microsoft, but it's not doing anything that Cygwin
doesn't at this time.

~~~
hrydgard
Cygwin doesn't run Linux binaries. WSL does.

