Command Line and Windows Subsystem for Linux – The Windows 10 April Update
anandtech.com
anandtech.com
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.
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.
Debian doesn’t pull or push the proverbial update rug under your legs without asking, and things rarely if ever break on a Debian stable update.
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 ;-)
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.
No, that's a separate module that requires the Windows Subsystem for Pedants.
<title>Install the Linux Subsystem on Windows 10 | Microsoft Docs</title> [1]
Microsoft has a tendency to create confusion around names when they relate in some way to Free software.
Another example: Office Open XML.
[1] https://docs.microsoft.com/en-us/windows/wsl/install-win10
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...
I still don't sympathize and would prefer Microsoft putting other efforts, than this, into making Windows more POSIX aware/compatible.
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.
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.
Really though, they asume everyone has a 100Mbps and a SSD, every new update is like a new install of windows, glad I don't have to use it.
It’s like Canonical thinks we all are made of money have recent supercomputers with SSDs!
Windows will never extinguish Linux, while it remains closed and proprietary, so I wouldn't worry about that.
Linux, the kernel, is actively in the process of losing a majority of its non-server market share and thus related development resources. It will become a very real possibility for Linux to be relatively unusable directly on modern consumer hardware if nothing is done to prevent it.
WSL, if successful, will deter potential desktop Linux users from leaving Windows if they consider WSL as already providing everything Linux has to offer without the trouble of installing an OS.
Fuschia will eliminate all the Android devices once that pivot is fully realized. Presumably ChromeOS is going to follow suit.
One doesn't even need to speculate on how exactly MS will extend to see the very real threats. The Linux kernel's stable ABI contract it turns out is a serious vulnerability for its market share. There are some similarities to how Google embraced Java in Android without Sun/Oracle's participation.
edit:
If you value having the option of running a GPL kernel on modern computers, don't use WSL and discourage others from using it. We need people running Linux on bare metal. It's the only way we will continue to have the option. If nobody is using it, when you decide you want/need it, your hardware isn't going to be supported.
I'm a little surprised that Linus / The Linux Foundation haven't played the Linux trademark card to prevent MS from using the Linux name in the WSL moniker. There is no Linux in WSL, and the deliberately ambiguous marketing is actively harmful to Linux.
Funny you should say that, I am normally quite fond of Win10 but I just installed the April update on my HTPC which uses a 4k TV as monitor.
The graphics settings went to hell, making the screen push past the boundaries or "overscanning" them. Reinstalling Nvidia graphics drivers now to hopefully bring things back into order. Willing to bet colours will default to 16-235 instead of 0-255 as well.
Was easy enough to get back to where it was, but then again I've done this enough times for even myself to remember quickly - it'd be rather annoying for the family if update happened when I was away. (I had already postponed feature updates by about a month).
#) I got a 960 when it had just come out, and it can handle huge (e.g. 70gb/2hrs) 4k h265 videos just fine - if only Netflix saw it that way too, but no - cpu is all that matters, and the i5-2500 is far too old for them.
I fail to see how that has anything to do with embrace/extend/whatever. Maybe I'm missing something but they simply let you run largely unmodified linux. Which obviously is not windows. And which can already cross-compile for windows seemingly making your point extra moot. Why on earth (and how) should they add another way to create windows applications? I'm really not sure what you want here.
Anything that moves users from Linux distributions to Windows is very bad for free software, since it's already a small market.
You could use the same argument against Msys2 and Cygwin, yet they were key to me choosing the Unix command line as my common interface across all OSes when I was a teenager, with plenty of games that I wasn't going to give up any time soon to live in Linux.
I think it's ridiculously naive to think that businesses are going to build on top of a closed source licensed system like WSL when with minimal effort they could choose Linux. The business risks of the former are huge and they're handing a big lever to MS to screw them in the future - why would they do that? If anything, WSL makes it easier to transition to Linux, because you can develop and test without committing to a big change or using clunky virtualization.
All of that applies just as much to native Windows development, except you no longer have a canonical escape hatch (aside from WINE, I guess).
In any case:
away from the Linux distributions
When running Linux on WSL you're effectively still running it so you're not really away from Linux, are you?
Actually you can even try and turn the argument around. For a windows user it is now probably easier than ever to try linux: no need for dual-boot or bootable media or virtual machines but a simple way to install and run it. So this might actually lead to more linux users, not less. But we'd need to count to be sure, everything else is guesswork.
This is ridiculous. Damned if you have a CLI, damned if you don't. Further more, if Microsoft where to extend it, wouldn't it need to contribute back to the community? Isn't Microsoft one of the leading if not biggest contributors to opensource on Github?
You'll need further evidence to support this claim.
> 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
I don't understand - WSL is the linux Kernel compatibility. What this has to do with cross compiling Windows applications is beyond me. Additionally - IIRC .NET core can be compiled from Linux.
> 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'm not sure that an operating system that is backwards compatible with software over 25 years ago exists that isn't a bit "messy" or "bloated". Linux has it's own share of warts. It's worth noting that Linux is my primary operating system.
> I advice people that want to use Windows to use MSYS2 instead
I advise people to use the best tool for the job, whether that is WSL or MSYS2 depends on the application and the use cases.
Based on your post history - you seem to have an outstanding grudge with WSL. I don't think you're being impartial.
They haven't really created anything new, so not leading, they just go after the community and release what they can't keep closed. Or create their flavor of other existing OSS. Although their R&D is great.
WSL runs Linux applications natively by implementing Linux compatible syscalls in a kernel subsystem. What standard windows application and redistribution have to do with it?
WSL feels no more dangerous than Wine.
Wine is not really a fair comparison against WSL, especially when it comes to comparing 'potential to extinguish the embraced'.
Wine has nowhere near the amount and quality of resources (both human and IP) available to WSL.
This is likely a response to the fact that today's web OSS dev tools are first class UNIX Cli programs
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
The Linux CLI development environment? The point of WSL clearly can't be to try to extinguish the Linux Desktop, because WSL doesn't even embrace the Linux Desktop.
Did I miss something? As far as I know the Windows Server side is completely silent...
For my part, if I'm booted into Windows I only really need enough GNU stuff to keep the Windows build of Emacs happy, and I find Cygwin makes that very easy. It's currently not seamless to try and do this with WSL, and I'd rather just dual boot if I want anything more heavyweight.
Sorry, a bit off topic, but I would like to talk with someone who has compared dev on macOS, Windows with Linux support, and the new Google ChomeOS Linux sandbox. I am tempted by the latter, but I would like to hear from many more people who have tried it.
The marketing changed, but the "open source is inferior" culture is still there.
you can access docker for windows from WSL by setting up TLS on the Docker engine interface (https://raesene.github.io/blog/2018/03/29/WSL-And-Docker/)
There's also some suggestions that some versions of the docker daemon can run on WSL with ubuntu https://github.com/Microsoft/WSL/issues/2291#issuecomment-38...
You can follow the steps to set this up at https://nickjanetakis.com/blog/setting-up-docker-for-windows....
I use it every day and it's great.