96 comments

[ 4.2 ms ] story [ 118 ms ] thread
Is-it docker compatible?
Dockerd relies on kernel features like cgroups and namespaces so I doubt the docker daemon can run inside WSL. There is a docker daemon for windows that I believes uses hyperv as container runtime. You could probably run docker cli inside wsl if you could expose the socket on the host to it (guessing)
Docker on windows seems to be a little bit complex.

There's Docker for windows which allows for linux docker containers to be run on windows, using Hyper-V.

Then there's Windows Container Services which allows for Windows Docker containers. Those can either be run on the host kernel or they can be isolated in a Hyper-V layer.

Somewhat, Docker for Windows (in Linux mode) creates a MobyLinux VM in Hyper-V. MobyLinux then does all the container magic.
WSL (Windows Subsystem for Linux) isn't virtualized, as the article states.

https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subs...

It's aim is to run Linux binaries natively. The degree of it's usefulness, issues and filesystem interoperability was discussed before so won't get into that.

So it's sorta like a reverse WINE?
Sort of? Exactly! Windows Is Not an Emulator!
Emulator Not Is Windows, to be precise.
Hmm?! An Emulator, Windows Is Not!
Awesome! Can't wait to install linux on WINE
Wine does work in WSL, so you can install WSL on your Windows box, then use WINE to run a Windows app on the Linux instance on your Windows box.
Are people doing this to play Win9x-era games? I find Wine does a better job being compatible with old Win32 applications than Windows does.
Don't most win9x games also run on DOS? because in that case dosbox is a great solution. I might be misremembering DOS/9x compatibility though.
Only sort of. WINE has a much larger scope, because it has to reimplement the complete Win32 API, because it is proprietary and cannot be redistributed. Windows Subsystem for Linux, on the other hand, 'only' needs to support the ELF loader and Linux system calls and can then use glibc, and other core libraries.

Another difference is that WINE runs completely in user land, while the WSL Linux syscall handling runs in kernel land (lxcore, lxss).

Probably another good comparison is Linux compat in the BSDs, which implement Linux system calls, signal handling, etc. but can use glibc and other core libraries from a Linux distribution.

While I can see this is an excellent strategy for the Windows platform, and will probably make developers on Windows more productive, I for one will never give up natively installed linux distributions for development.

It may be childish, but I resent Windows for every anti-privacy, anti-competitive move they make, despite how much it is within their rights and fitting with their corporate goals. Trying to put linux in windows and pretend that they've been on the side of developers who push F/OSS this whole time is a hard pill to swallow.

I recoil at the possibility that some developer 5 years from now might ask me "Why bother installing your own linux distribution? You can just get Windows Go 15 and run Arch/Ubuntu/SUSE from inside there. Don't forget to disable the ads and tracking that come standard".

On the other hand, we could be entering a phase where an open source developer might say "Why bother porting to Windows? Just target Arch/Ubuntu/SUSE."
Not sure how viable that strategy is, considering that WSL is more a developer tool than something normal end users would install. But many open-source developers already don't care about porting to Windows, so not much changes, I guess.
I suspect you will be able to write an installer that enables WSL and installs your application as a Linux app on Windows
tl/dr: Simply put, the cross platform distribution problem is solved (in way more ways than one), but I think the combination electron/nw.js + cross-platform-from-the-get-go languages will win, instead of other options like QT. I think it might be a waste of time to target a distribution and hope it gets ported reasonably to Windows, clouding your codebase in the process.

While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.I think this is actually kind of already solved (just not with the tools that everyone may want). We shouldn't be even aiming for any particular distribution to begin with, at the expense of a larger executable and less-than-native UI performance, you get write once ship just-about-everywhere when you use tools like electron/node webkit.

Developers often hate web programming, but it's just about the only easy to pick up, and relatively consistent tool for the job of platforms that "just work" (pretty much) everywhere right now. It even seems like the best way to do it going forward, given that:

- Browser companies will work hard towards making browsers faster and efficient, because it's in their best interest (which is the best kind of guarantee).

- Cross-platform minded languages like Go or Rust will become more popular for those who want to get away from using JS at all, and JS could basically become an RPC layer for the "real" application

- Once WASM really takes to the mainstream, languages will just compile it to it. WASM already has LLVM support, so there's a bunch of languages for free already.

So soon, JS won't even be the sticking point in why people dislike distributing cross-platform apps with Electron/NodeJS, then we'll focus on things like executable size and memory usage, and solutions will pop up for those things too.

<tl/dr goes here>

If I wanted bloated UIs that look the same on every platform but integrate poorly with every platform I'd use Java Swing.
Oh yes, I totally forgot, that option has been around forever as well (I only mentioned QT) -- I've only written one non-trivial app in it and it wasn't the worst experience actually (but then again, it was a greenfield project, albeit close to a decade ago now)
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again
JavaFX has been released almost a decade ago, and it's much nicer to work with. There is really no reason to be using Swing anymore.
Interesting, I wrote in AWT a lifetime ago, and swing was billed as the hot new thing then.
> While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.

Well ...: https://twitter.com/jacobrossi/status/851992646151278592

"I have taken these numbers from a paper I can not publish". (Scroll in comments). That is a good source.
(comment deleted)
Nothing is secure. That post is basically spreading FUD as far as I'm concerned. There isn't even a point of comparison to any other distribution platform/native toolkit.

I also trust browser vendors to focus on keeping stripped-down versions of their core products secure more than I just joe/jane schmoe the app developer that just learned how to use QT/Swing/whatever.

Ah yes Javascript becoming the RPC layer

I sure love my data types of `int` to be IEEE 754 floating point numbers!

I think there is a distinction to make between developers of applications deployed on servers and deployed on desktops. I know the latter category is a dying breed, but still.

With WSL, developers targeting servers do have less of an incentive to port to Windows; but I'd argue that was the trend already, which is why MS is finally coming around.

On the other hand, developers targeting desktops now have more of an incentive to target Windows. A lot of early adopters and peers for these people are power users and other developers, who run Linux or Mac on their desktops as much as (if not more than) Windows. If more of these people move back to Windows because of WSL, desktop developers will have to consider Windows a priority again.

While a lot of the focus of "New MS" is on selling and promoting their cloud services, they are also interested in stemming the bleed on desktop. WSL helps a lot in that regard, IMHO; and as a side effect, it keeps developers on Windows: familiarity is always useful when it comes to peddle other Windows-based solutions. Win-win (for MS).

I think WSL is a result from the work Microsoft did to run Android apps on Windows. If I'm not mistaken, they decided to scrap that because of this issue, if developers can target Android and run on Windows mobile, why would they target Windows?

I don't think that will be an issue with GUI programs on computers, but it might for CLI programs.

The apps still needed to be recompiled, because Google Play services weren't ported. The iOS bridge is still supported.
This seems to already be happening with Docker. I can think of a couple of Open Source projects where there official Windows installer just installs Docker, a Docker container and a .bat file that starts up and connects to the docker container.
I don't resent Windows, in fact I am doing updates now in the Windows OS.

But just for performance and workload capacity, I can't give up Ubuntu, when installed in the very same hardware.

There's something in Windows that just removes control from the user, and I say this in a very technical way.

Absolutely agreed -- I saw a different HN thread about running Windows 10 on ARM and:

- thought to myself "why on earth would anyone want that"

- looked at the comments, noted people who were working with legacy software that turned out to be dependent on windows, decided to keep my disparaging commentary to myself

- felt sympathy with smidgen of condescension (I'm of the opinion that someone should just rewrite those old tools, but being a relatively young developer, I'm naive like that)

(comment deleted)
When you're a large company, with literally 100s of 500K+ LOC apps around, you don't get to just rewrite them. That's the reality of a lot of enterprise shops and completely changes the perspective when looking at a codebase with various vintage technologies.
Sure you get to re-write them, and you are a fool not to. However the rewrite needs to be spread out over 30 years. Note that after 10 years your replacement needs to be rewritten as well.

The trick is figuring out what this the priority. There is some 40 year old software that mostly work: it runs fast enough; it doesn't have many bugs; it doesn't follow best practices that the software world has discovered since; and it rarely needs new features. This code needs to be rewritten but the value just isn't there. There is other code that at only 5 years old needs to be rewritten: it is full of bugs, new features have been tacked onto an architecture that wasn't designed to support it - this software needs to have a large budget given to fixing it in the long run this will save a lot of money. Most projects are somewhere in between, you should give the team a little extra time/budget so that they can keep the maintenance up to do and it will never get much worse.

I want windows 10 on ARM because I want a full windows OS on a phone that I can attach a monitor, keyboard and mouse to and run Visual Studio for development. I would also take a Linux phone that did this and run VS Code
> I recoil at the possibility that some developer 5 years from now might ask me "Why bother installing your own linux distribution? You can just get Windows Go 15 and run Arch/Ubuntu/SUSE from inside there. Don't forget to disable the ads and tracking that come standard".

"I mean, the privacy is shit, but you can sort of deal with it. But at least you don't have to dance the Ritual Dance of PulseAudio if you need to do MIDI (or get as much as a hiss out of your speakers), suspending your computer doesn't garble your desktop background or desktop icon labels, you can update Windows Go 16 and it'll work after you reboot..."

I don't like Microsoft any more than I like any company of its size, but they're making a compelling case, while the Linux "community" is busy supporting cloud, IVI, and IoT vaporware.

Edit: ten years ago I was certain they were going to pry Debian and OpenBSD from my cold, dead hands. But Windows, for all its privacy compromises, is working better and better, whereas Linux desktops are getting worse (and less portable), with a never-fulfilling promise that it's going to get a lot better when they finally get stable, this massive rewrite that we started like six years ago is just about done...

Edit edit: I know my comment looks overly negative and I seem grumpy but really, I'm not, I like Linux, I make a living out of writing Linux software and I've used it one way or another for almost twenty years. That being said:

1. Please stop recommending me that I use something more user friendly, like Mint or Ubuntu. "You can update to Windows Go 16 and it'll work after you reboot" was a joke about Ubuntu.

2. This "I got this new machine and it works flawlessly out of the box, Linux is great if you get good hardware" is the wrong mentality if you're not Apple. Every operating system, including TempleOS, runs flawlessly out of the box on some hardware. It's getting it to run flawlessly on hardware other than the developers' machines that's complicated. Go ahead, grab ten high-end laptops at random and see how well plugging and unplugging your monitor works, even on systems that are officially supported. How do you think I ended up knowing xrandr's command line options better than I know tar's?

Not being able to care for my Linux box is not my problem, my problem is that I don't want to care for my Linux box. I babysit Linux at least eight hours a day at work. I don't want to have to do it at home, too.

Could you expand on some ways that linux desktops are getting worse/less portable?

I run Arch and I definitely run into a few things from time to time where I need to go on a google hunt to figure out what's wrong (if it's not already obvious), but the distro is pretty user friendly (despite the 'hard core' reputation it has which honestly drew me to it). Ubuntu just about works right out of the box 99% of the time these days.

Also what is IVI? this: https://www.ni.com/ivi/what.htm ?

A fellow Arch user here. Although I would not classify it as a portability problem, I have mixed feelings about Desktop on Linux. I use KDE Plasma myself and there is not shortage of messages and bug reports on the headaches GTK poses due to theming. Ever so often, you run into a GTK app that simply turns out to be unusable because the UI elements aren't visible. Same thing with GUI apps written in Java , which look ugly and exhibit strange quirks.

Now KDE does provide compatible themes for GTK, but the fragmentation in GTK (2 vs 3) does not help. The solutions are at best a stopgap measure till the next major version breaks what you managed to get right. It's a never ending game of whack-a-mole. It does not help some of the most popular apps are written in GTK. As I speak due to reasons I haven't investigated yet, I am unable to paste text contents in GTK apps. Windows has other points I take issue with, but at least the UI just works as expected and doesn't seem to hang by a thread.

Hey there! -- I absolutely hear you on KDE Plasma... If you feel like putting a few hours (worst case a day or weekend into it) you could take a look at:

- XFCE

- BSPWM (very minimal, lots of set up, and not great documentation, but I manage windows for the most part without leaving my homerow now, so I love it. once you're past). If you're not one for keyboard shortcuts and muscle memory, it may not be interesting, but I run bspwm and love it.

Point taken on the GTK pain, it was so painful that I stopped using it (I used to run linux mint, and cinnamon/mate, Gnome, were also thorns in my side), and wince every time something I want to install has dependencies on GTK (just because it pulls in 10098123 other packages every time).

All the issues you named are KDE issues. I don't want to start a war here but Gnome 3 has really matured since its botched initial release and plays nice with KDE applications (but maybe that's due to Qt being great). I'm not trying to convince you to switch (KDE does have points in its favour, too!), but Gnome 3 is a sound recommendation for new users and causes very few issues.
Gnome does indeed look better out of the box, but I am not in favour of installing extensions for customization. This is something that KDE shines at, with loads of options to tweak appearance and behaviour. XFCE and other tiling managers, I've tried briefly but I always find myself reverting back to Plasma desktop. Without a unifying force behind Linux desktop (Freedesktop helped to some degree), I have come to accept that things will always be shaky in desktopland - the price of freedom of choice.
Yup, the extensions are annoying, but luckily many are packaged, at least in Debian. I have one to get sane Alt-Tab behaviour, a media player indicator, a weather extension (in the middle of the top bar, next to the clock), one to get a suspend button, and another one to arrange my workspaces in a grid. Of those, only the last one isn't part of the gnome-shell-extension* packages. It's annoying to have to use a "tweak tool" to manage this stuff.
> Could you expand on some ways that linux desktops are getting worse/less portable?

Less portable: both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.

Worse: frankly, what I dislike most is the frequent rewrites of major components, which keeps everything in a perpetual almost-stable state. I can get my Plasma box to act up just by trying several window decorations one after another in System Settings.

But there are a lot of things that recent Linux converts don't realize about their major pain points. For instance, until a few years ago, getting uniform looks between GTK, KDE and Qt applications was largely a solved problem, thanks to e.g. projects like QtCurve (there were several other solutions, QtCurve was just the one I liked most). Good luck with that today (see e.g. https://github.com/QtCurve/qtcurve-gtk3)

Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works" today which didn't "almost work" ten years ago, either, except it probably got rewritten at least once.

> Also what is IVI? this: https://www.ni.com/ivi/what.htm ?

Nope, it's short for In-Vehicle Infotainment systems. It's one of the very lucrative markets for Linux solutions, because the competing solutions are either tied to a specific big player's interest (Android) or super expensive (QNX). Video entertainment in general (IVI, smart TVs etc.) is the main force that drives graphics and UI-related development in Linux.

It's not a bad thing (quite the opposite, I certainly don't miss using VESA drivers...). But it does mean that, for the people doing work on major components of the graphics infrastructure, desktops aren't a priority. It needs real community effort in order to be turned into a viable desktop option, and that's pretty hard considering the rate at which developers are being driven away.

> both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies

Yeah, turns out POSIX is no longer enough. I am all for operating systems using the best technology stack they've got. Nor Windows, macOS or BSDs get hate for doing the same, so why should Linux not be able to fully embrace its own solutions to make itself more competitive?

People always complain about this and that not being on par with Windows or macOS - well, in order to get there, you'll have to take full advantage of whatever APIs you can, even forgoing POSIX in some instances.

You can get the best experience using the most up-to-date APIs available on your platform or the most compatible, lowest common denominator experience, but you can't get both.

> Basically, except for Bluetooth and proprietary graphics driver, there's nothing that "almost works"

True that, it tends to "just work", on reasonably standard hardware, like the latest Dell XPS 15, practically everything 'just works', even on a 2015 retina MacBook Pro, my experience has been near flawless.

> You can get the best experience using the most up-to-date APIs available on your platform or the most compatible, lowest common denominator experience, but you can't get both.

Thank God the guys who write the kernel never thought about this :-)

Besides, this isn't what I was criticizing. What I wrote (it often helps to read the whole argument before offering a counterpoint) is:

> Both major projects (Gnome and KDE) are increasingly depending on Linux-specific technologies (mainly through systemd dependencies, e.g. timedated, localed, hostnamed and logind, which are explicitly Linux-specific). They can be replaced by shims, fortunately, but these are difficult to write, because the components that they replace move quickly, often not very transparently, and without much documentation.

Windows, MacOS and (at least Open)BSD don't get all this hate because they tend to introduce components when they're reasonably stable and almost always with full, proper documentation. They rarely dump beta-quality code for the community to test and document, like Red Hat did with pretty much every desktop technology they developed after 2005 or so.

> Thank God the guys who write the kernel never thought about this :-)

Sorry, I tried, but can't see what you're arguing here, since the discussion was about user space, not the kernel.

> They rarely dump beta-quality code for the community to test and document

Huh, Microsoft has a loong history of updates breaking things, (even permanently) and they recently fired practically all their testers to let the users test their updates.

Mac OS 10.7 was a broken mess and the latest Sierra broke cURL.

Besides, that is the trade off of developing in the open, you get to see not only the good stuff, but all the quirks on the way there too, you must personally decide if it's a trade-of worth making.

Yeah, this idea that the Linux desktop experience isn't working out just doesn't make sense to me. I have Arch on almost all of my machines, including the one at work where I do most of my development, as well as several laptops. Across all of these computers, I've had one driver issue (integrated Broadcom NIC) and one case where an update broke an application, in the four years I've been using Arch. It's amazingly easy to use and completely gets out of my way. Furthermore, at work I'm developing a cross-platform GUI application using Qt, which is great to work with. We have developers using Windows, Linux, and OS X.

Now, for all that I like Qt, I've never gotten into KDE because I can't run it without it crashing all the time. And Gnome is a great UI for my pre-literate children, but it's not for me. But the fact that mainstream desktop environments are a bad fit for me doesn't mean I'm having a bad time running Linux on my desktop! My window manager does exactly the things I want it to, and not one thing more. Linux crashes for me less often than Windows, and unlike Windows I can almost always ssh in and put things in order before I reboot. (In the course of developing a GUI application, there are lots of ways to create system instability!) I can't imagine, as a developer, preferring a watered-down Linux running on the Windows kernel to the real thing. It's like saying that Wine is Windows. (Not that Wine is a bad project, just that it's not a great way to have the Windows desktop experience.)

(comment deleted)
Having used Linux desktop for roughly a decade, it's definitely gotten better. Almost every computer I install Linux on now has working drivers for everything, the vast majority working out of the box. Anecdata, of course, but that's been my experience.

Ease of use also depends on the distro you choose. Ubuntu or Mint will probably be the easiest; if you install Arch, you should know what you're in for. (Before you jump on me, I posted this from a system running Arch.)

I've used Linux since back when there was no "Enterprise" in Red Hat Linux :-).

The driver situation has massively improved, absolutely. The second time I installed Linux (on a brand new computer) was scariest -- S-ATA was super cool and new and my S-ATA controller wasn't supported, so I had to build a patched kernel on my old machine and boot with it...

But higher-up, I don't think we've progressed significantly past where we were in 2010. Sound still breaks (and ironically enough, it had just started breaking, with Alsa finally getting proper soft mixing and hotplug support via udev), KDE and GTK applications can no longer get uniform themes, display managers still get laughable bugs...

The kernel end of things have gotten better, yes.

the DE end had crapified (it may by shiny crap, but still crap), and the crap is seeping towards the kernel year by year.

The day Torvalds is no longer present to hold the kernel devs to the rule of not breaking userspace is the day Linux goes down the drain.

>It may be childish

I don't think its childish, but I do think it's more emotional than logical. They aren't trying to pretend that they have been on the side of FOSS developers the whole time. Most MS'ers that I've talked to are very clear about what MS did wrong in the beginning of the Open Source era. Lot's of them went to work there just to work on open source.

I'm not trying to get down on you or anything, I just think that maybe you are letting your feelings about the past color your reaction. Also, no one is saying that you should give up anything. This is for people that want to use it to help with their development tasks.

You know, I watched a SQL presentation from their Build conference today about SQL Server and containers...the entire thing was on Linux. Completely. They didn't use Windows Server even once.

I get what you're saying. I don't like part of the direction Microsoft is taking either. Yet, I don't agree with your perspective.

What's happening here is that Microsoft, after a number of years of troubles keeping up, are following the market. WSL is presumably not meant to compete with Linux or FOSS as a desktop OS, but with Mac OS and Linux as developer platforms.

Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies.

Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair.

> What's happening here is that Microsoft, after a number of years of troubles keeping up, are following the market. WSL is presumably not meant to compete with Linux or FOSS as a desktop OS, but with Mac OS and Linux as developer platforms.

I understand and agree with that point, I don't believe I remarked on pushing WSL as a Linux or FOSS desktop OS, my point was more that it was way to lure developers to Windows, after Windows has spent time and money making moves that do not benefit developers and hurt competition.

Also I already hear the "oh just run it in a VM" argument all the time right now (not saying it has no merit), as reasons for why people don't run linux distributions, and thought this was similar.

> Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies.

It certainly depends on the product, but "developed together with the community" feels to be to always only be true up to a point (and usually not the point that people end up wanting). Benevolent dictators make sense as the governance model for open source products, but I just don't believe in Microsoft as my benevolent dictator anymore than I would in Google.

Also, I'm totally fine with code dump and silent mailing list, it's not the company's job to give you the fruits of their internal labor for free. I don't expect that from any big tech company. I can't see that Microsoft is doing "better", they're just trying to get in the same game that the other companies are already in. Maybe I just haven't interfaced with enough companies running F/OSS projects to know the difference, if it's that stark.

> Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair.

I assume your rationale behind developers moving to Windows being "fair" is that it will encourage competition (and cause the linux community to get off their laurels)? Based on that assumption, while I agree that more competition is good, it's that very competition that microsoft (and most other companies) has seeked to crush at times. The linux community is fundamentally different. Redhat is not (I think) fundamentally different than Microsoft, but the linux community certainly is, because the structure, principles, and philosophy are just not the same.

The linux community is not just a competing OS, it's a way of thinking. Shoe-horning a different way of thinking into your own without actually changing your own (and in fact sometimes making philosophical movements in the opposite direction) looks like nothing more than a ploy to entrap people into thinking "microsoft gets me" when they (in my opinion) would be better off committing to an actual group of like-minded people.

Also, I'm not 100% sure what exactly you disagreed with in my comment... To sum up:

- Microsoft is different partnering closely with the community

- Linux needs more competition (?)

I agree with you, but there is a flip side. More people might start asking themselves what the point of Windows is, since everything they need is available on Linux.

"Why bother paying the Windows tax? Everything I need runs on Linux natively."

I've had more problems with linux subsystem than just booting up a vm. FUSE filesystem isn't even mountable on linux subsystem, along with thousands of others various problems you'll probably come across building automation scripts.
Guess the only reason to have VMWare on my windows machine is going away soon.

Hope there are some reduction in computational overhead.

This is something that bothers me on my current setup (Xubuntu on Virtualbox): LATENCY while using X. On the tty everything feels snappy but as soon as I use a graphic terminal, it feels choppy and typing feels sluggish. I'm not even using Unity because then it'd be just unusable..
Did you install the guest additions?
Yeah I did. Console-based (tty) video feels snappy and devoid of lag, but X.org feels a bit sluggish, still.

I've tried Windows XP etc on VBOX with the guest addition and it feels soo much snappier ;(

I'm guessing they talked with VMWare before doing this? I wonder what implications/benefits this has for VMWare, since their (limited) Player has been free for a while now.

Then again, according to Wikipedia, maybe they were already planning for this?

> VMware Workstation versions 12.0.0, 12.0.1, and 12.1.0 were released at intervals of about two months in 2015.[61] In January 2016 the entire development team behind VMware Workstation and Fusion was disbanded and all US developers were immediately fired.[8][9][10][12] The future of these products remained vague; the company said that development would continue. On April 24, 2016, maintenance release 12.1.1 was released. VMware announced the release on 8 September 2016 of Workstation 12.5 and Fusion 8.5 as a free upgrade supporting Windows 10 Anniversary edition and Windows Server 2016.[13]

There are other reasons to want to use a VM, like guest isolation and multiple environments. I like to run unknown software in a VM first.
VMWare is great for setting up a test networking environment too. Workstation's virtual interface setup is nice and allowed me to test a host of operating systems, a custom router to test firewall rules, 802.1x security and a RADIUS server. All in a simple virtual environment.
Genuine question: Why not just virtualbox/vmware it up with an ISO ? That's how I've been doing for years and it works just fine.
Virtualbox reserves system resources for itself.

This runs fully alongside the Host OS, from what I can see.

It's a different approach. WSL is more like CoLinux back in the day, in that Windows and Linux kernels run alongside each other. Even a bit better integrated because processes across both worlds can run each other, and see and talk to each other.

No one is taking away your VM, don't worry.

Ah, nice, thanks for the explanation! I do remember CoLinux.

This should provide way better latency than my VM tho, right?

Theoretically, yes, but WSL is still beta and performance (especially filesystem I/O) is mediocre at best. They'll get there eventually!
Nice, because right now altough I use a linux VM for dev work, I am still bummed by the latency and stuff. For tty based work it is there but any X.org workload is still laggy as fuck, which kinda bothers me a little while coding (I'm using Xubuntu with all the VirtualBox additions on).
WSL doesn't run a Linux kernel – a Windows Subsystem just provides a different API to the underlying Windows kernel, in this case the API Linux applications expect. So arguably, it's even further from a VM than CoLinux.
Do you know if they already have proper X support? Or is it just a matter of compiling X.org and running it yourself?
I haven't followed this, but last I've seen a while ago was that you could run an X-server for Windows and then have Linux applications talk to that (and the normal environment didn't have dbus and things like that)
Indeed. For years now, I've been running MobaXTerm - which is a toolset, including a proprietary X server for Windows. Quite convenient.

(Full disclosure: no relation to product, user only)

Well, CoLinux ran Linux as a kernel-mode driver under Windows. WSL is a Windows kernel subsystem providing the Linux kernel API. That's why I made that comparison. I do know that they're very different things technically.
> CoLinux

Oh, that brings up some fond memories. During my training, I would use CoLinux to run Debian on my Windows XP desktop. Good times... ;-)

This is one (windows) kernel instance running apps built for linux. VMWare just starts a new OS instance on the same PC - but it has a separate memory/FS/scheduler/drivers/etc. a lot of overhead, duplication and sync work.

Say there's a tool that doesn't have a Windows version, like Facebook Flow didn't have - you can just install the necessary packages and run the linux app on your project folder - plenty of dev tools are built on top of *nix and Windows is a second class citizen in OSS - this solves that problem nicely. Or you can use linux GCC/clang to build the linux binaries on Windows and not muck around with cross compiling.

The installation process for the WSL still blows - and I say that as somebody who really likes this feature.

I tried doing it today on my laptop:

1.) Open up the Programs and Features control panel.

2.) Go to Turn Windows Features on or off

3.) Select the Windows Subsystem for Linux option and hit OK. Installs, prompts for reboot.

4.) Try to launch C:\Windows\System32\bash.exe. Console window flashes momentarily and disappears.

5.) Open CMD window and run bash.exe. See a message that says "In order to use this feature you must have Developer Mode enabled."

6.) Faff around trying to find where the developer mode switch is hidden, in the newer Settings app. Enable that. Wait five-ten minutes as it does... things. Reboot again.

7.) Try to run bash again, and again console window flashes in and out of existence in a millisecond. Run it again from a CMD window. Type "y" to accept license terms. More things download from the Windows Store(?). Create a linux account.

8.) Finally have bash working on Windows, albeit in the terrible, terrible default console shell. Go look up how to setup ConEmu...

This really should be streamlined a little bit, right?

Hate to be that guy, but you missed Step 0: Read The Fine Installation Instructions.

Also, the default console shell has gotten a ton of improvements.

Weird that the console windows just disappeared like that for you. I just went through this process yesterday (I had re-installed Windows on a spare laptop), and for each of those the window appeared and waited for my input.
Following the actual installation instructions, I found the process to be extremely simple.

1) Enable developer mode

2) Install using Windows Features

3) Reboot

I like Windows, I like Linux, I like this news.
We don't take kindly to folks like you 'round here. Please pick a side immediately.
A large french fries with mayo please
For me, the big news is being able to install the distros on your non-system drive, as well as being able to run multiple distros at the same time. Pretty cool.
(comment deleted)