DEV Community

What is your opinion of WSL

Fulton Browne on September 23, 2019

I love it, it's much faster than a VM and it does all the basic things I need it to do, What do you think?

Collapse
 
heytimapple profile image
Tim Apple

I’ve been a Linux user since 1999. I just started messing with WSL a few weeks ago for an article. I’m still using it and Windows. I haven’t been back on my Linux install since. Windows has better apps, Linux has a better Dev environment. Now I have the best of both it seems.

Collapse
 
fourstepper profile image
Robin Opletal

What's your field of development as far as Linux goes?

Collapse
 
heytimapple profile image
Tim Apple

Sorry fell off the face of the planet.. But i'm actually in IT sales and new to development... so I post as I learn.

Collapse
 
alansolitar profile image
Alan Solitar

It works pretty well for me. I like it because it allowed me to stop using a virtualbox VM to develop on windows.

I have occasionally run into wsl specific bugs with things like pipenv and docker. Overall, I like it and am willing to work around these bugs in exchange for the convenience of wsl.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

I think it's a good marketing move from MS.

However, I'm not sold on it being a great thing other than letting you use sensible tools for text processing on Windows directly. Performance is actually worse than a VM for most of the stuff I've tried using it for (no, seriously, I get better performance for file access by using SMB over a private network interface to a VM than I do using 'direct' access to the files through WSL), and there's a lot of useful things (especially for IT professionals) that you just can't do with it (like recovering data from a dying hard drive out of an old Linux server).

Collapse
 
richturn_ms profile image
Rich Turner

With respect, you've clearly not taken a look at WSL2 then, which uses lightweight VM to run a real Linux kernel image atop which each distro is hosted its own container. Net result is that you get 100% Linux compat, Hyper-V levels of perf (i.e. v. near native for most scenarios), and all the convenience of distros' that startup from cold in < 2s.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Oh, no, I've looked at WSL2.

The filesystem performance benefits are mostly contingent on you having all your data inside the container, which is not an option for me (I need access to the actual datasets I'd be working on outside of WSL as well without having to sync them manually).

The pass-through filesystem performance may improve a bit because of the switch to 9P2000L over VirtIO for file sharing, but unless they've decided that Windows Defender doesn't need to be involved, it won't be enough to mater for many potential use cases, including mine.

Also, it's not 100% Linux compatible. It still doesn't let you poke at raw block and character devices, so anything that needs to work with hardware directly (like all of the IT related stuff that it would be useful for other than a simple network console) just plain won't work.

Collapse
 
offero profile image
Chris

Can't please 'em all, Rich!

... can't wait for wsl 2 to be available in the slow insiders releases.

Collapse
 
seefer007 profile image
Darren Evans

The only file performance issues I've seen are when I try to work across the Windows and Linux file systems. I'm running a WSL2 Linux dev environment for my web developer bootcamp and as long as I'm not storing my project files on a Windows volume and accessing from Linux but instead working directly within my WSL2 Ubuntu 20.04 distro file system, there is no file performance problem.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Back when I originally posted, WSL2 was still in it’s infancy and did still have some limited file performance issues even inside the VM environment itself. All the experience I had at that point though was with WSL1, which demonstrably has serious filesystem performance issues (though not as bad now as they use dto be).

WSL2 today does indeed have essentially no performance issues for stuff contained in the VM environment itself, and only limited performance issues for access outside of that context.

Collapse
 
byrro profile image
Renato Byrro

I think it's in the right direction, but still need work to become closer to actually running Linux "natively".

Somethings still don't work, like Docker.

And performance improvements.

But it's already very useful.

Collapse
 
richturn_ms profile image
Rich Turner

WSL2 literally runs Linux natively. In a lightweight VM upon which distros run hosted in their own containers.

Collapse
 
byrro profile image
Renato Byrro • Edited

That's why I used double-quotes. Although it's native on a VM, the experience from the developer perspective is not the same. Hence the mentions in the comments about things that still don't work on WSL as well (or at all) as in non-VM Linux.

Collapse
 
nprail profile image
Noah Prail

I live in WSL. It is a spectacular tool IMO. I've wanted to move to Linux for a while (due to it being a superior dev environment) but never have because of Windows programs I use. WSL gives me the best of both worlds. I'm looking forward to trying out WSL2 as well!

Collapse
 
tracker1 profile image
Michael J. Ryan

The handful of times I've tried it, it didn't work right. Tried running docker under wsl2, whole system crashed...

Just sticking with git bash (despite Windows-isms) and docker desktop for now. Actual Linux on my home desktop.

Collapse
 
tracker1 profile image
Michael J. Ryan

What a difference a few months makes... on the 2004 update via insiders channel... WSL2 and Docker Desktop WSL2 config are working great now. VS Code's WSL extension is really nice as well... much better experience than the last time I tried it.

Collapse
 
offero profile image
Chris

If it were not for WSL I would have switched back to a Macbook by now. I took a chance (mostly due to insane Apple pricing) on a Lenovo with WSL over a Macbook and so far WSL and VSCode have been my clutch goto tools for getting stuff done.

I can't wait for WSL 2 to really perfect the workflow. The slow filesystem operations can definitely be annoying at times especially when working in git repositories or with nodejs packages.

I also can't wait for Terminal to be my goto terminal (wsltty is best right now). There are too many rough edges right now but I am hopeful.

The team's communication with the community has been amazing. They are positive and have the open source spirit to them. It's strange to see that from Microsoft given the history, but I really hope that continues.

Collapse
 
esspetess profile image
Yih Sev

Hi! What's the issue with just using Windows? For frontend development where you still make use of node modules and stuff like that, how bad can working with Windows be? I'm learning WSL2 right now but I want to know the reason behind people not using Windows for development.

Collapse
 
moopet profile image
Ben Sinclair

I think it's problematic in terms of where it comes from.
Microsoft is working on its Sphere and will presumably be using this platform to for the "extinguish" phase of its traditional Embrace, Extend, Extinguish policy.

WSL is very like WINE except not so good and with dubious motives.

And it really isn't that good. You can't access devices properly. You can't even read an ext* file system because everything's proxied. The terminals - even the one Microsoft launched with that music video - are rough and unpleasant to use. There's no proper display support.

It's difficult for me to see what benefit WSL gives. I know a lot of developers who use Git Bash (full disclosure, I haven't) and that gives them everything they need.

WSL seems like a funny halfway-house that's just there so Microsoft employees can say, "see? why do you need to install that other OS when you can do it all from inside ours?"

Collapse
 
richturn_ms profile image
Rich Turner

Terminal is brand new and early in its development. That said, it's also improving very quickly and is now the daily driver command-line experience for many.

WSL, esp. WSL2 provides Windows users with many features that they have lacked for years, including a very/fully compatible Linux environment running alongside their Windows apps and tools. WSL enables users to seamlessly access files in their Windows filesystem, and for Windows to access files within each distro. It's also easy to invoke Linux commands from Windows and Windows binaries & tools from within Linux distros running on WSL.

It's far from a "funny halfway-house" - it's a very real and highly productive environment for anyone who needs to use Windows and Linux tools at the same time.

Collapse
 
fultonbrowne profile image
Fulton Browne

maybe its because iI have been using windows my entire life, but i quite like that new terminal :)

Collapse
 
andrioid profile image
Andri

I've been using it for a few weeks now

Pros:

  • JS/TS development is so much better on WSL than Windows
  • Docker
  • I can use a real shell

Cons:

  • It blurs the line between OS and emulation layer, and not in a good way.
  • It's still Windows, and Windows likes to interrupt me while I work.
  • Some confusion as to which filesystem you're on. Your /home/youruser isn't /users/youruser
  • Missing a X11 server by default (but you can install one)

On a daily basis, I run Windows (gaming), Mac (work) and Linux (side projects). My personal OS preference is Elementary OS and I want hardware support for Linux to get better.

Which brings me to why I have a problem with how WSL is marketed. They're thinning out the word "Linux". If you ask them if Surface Pro runs Linux, you'll get a bullshit sales pitch about why WSL is better.

It's an emulation layer. A good one, sure. But doesn't replace the real thing.

Collapse
 
shiftymccool profile image
Ryan Harris • Edited

Just came across this thread while setting up a new dev machine. Your first "Pro" caught my eye and I was wondering if you could expand on this point: "JS/TS development is so much better on WSL than Windows". I've done Angular (TypeScript) development both in straight Windows 10 and WSL as well as various flavors of Linux (mainly Ubuntu). What makes it better?

I want to like WSL but it just seems to add a layer of complexity rather than improving the experience. If there are good reasons to put up with the added layer that I am not aware of, I would be very interested in learning.

Thanks!

Collapse
 
andrioid profile image
Andri • Edited

Mostly the whole Python, compile build stuff is less buggy on Linux than Windows. Then there are Windows paths that can cause issues.

I do absolutely agree that WSL adds complexity. If that complexity is worth it, I can’t say.

If you don’t have any issues. Then I wouldn’t change to WSL.

Thread Thread
 
shiftymccool profile image
Ryan Harris

I totally get Python on WSL, I wouldn't do that on Windows without a gun to my head. I was mainly interested in what made JS/TS development better in WSL. If your opinion has changed, what changed it?

Thanks for replying to this old-ish thread!

Thread Thread
 
andrioid profile image
Andri

My opinion hasn't really settled. What pushed me into the anti WSL direction was when I tried to get React Native running in WSL with an Android simulator on Windows. That was just painful to the point where I fetched my Linux laptop and plugged that in instead.

For JS/TS development I'd pick:

  1. Linux on ElementaryOS
  2. Mac
  3. Windows WSL
  4. Windows
Collapse
 
abhijeetps profile image
Abhijeet Singh

Well, I would like to add my thoughts here.

I started trying out WSL immediately after it was released. I remember getting excited about hearing Bash on Ubuntu on Windows 10.
I used it for basic necessities and for basic software development with it only. I remember that slowly, I completely switched my development environment to Bash on Ubuntu. It was a great tool for software development. The only thing what irked me about WSL was how slow it was. I remember it took me a few minutes to git clone a project which just took seconds on an Ubuntu machine.

But overall, I loved the beautiful UI and UX of Windows 10 and the Shell of Ubuntu together. ♥️

And in the end, WSL came really handy while I was working as a student developer at GitHub (GSoC).

I am currently on OS X, so, sadly no WSL for me now. But I have been following WSL and WSL2 and the progress that it is making on Twitter.

Microsoft, @richturn_ms and his Team are working and improving this product really great, and I hope I will try WSL2 really soon.

Collapse
 
stuartjluscombe profile image
Stuart Luscombe

I've been using WSL pretty much since it came out. Working in a pretty much fully MS infrastructure it's allowed me to carry out dev tasks I would normally need a separate VM for.

That said, there were a lot of 'workarounds' needed to get things like Docker working satisfactorily.

I recently moved to the Insiders build of W10 so I could try out WSL2 and the Windows Terminal. Using Docker with WSL2 is so much better and makes everything so much more seamless.

In all I'd say it's a good thing, but I can understand peoples reservations with it.

Collapse
 
codebrotha profile image
Tineyi Takawira • Edited

WSL changed the way I work. No more dual-booting or running a full Ubuntu VM. WSL made it possible for me to completely switch over to Windows from macOS.

Still running WSL1 because I don't run beta OS builds on my main work machine.

It does everything I need and despite hearing all these complaints about it being sluggish before I tried it out, I don't find it to be that slow at all. Much faster than the VM I used to run.

Collapse
 
richturn_ms profile image
Rich Turner

WSL 1 has been available for everybody since Windows 10 1703. WSL2 is currently under development which is why it hasn't been released outside Insiders builds yet, because Insiders builds are weekly snapshots of the NEXT version of Windows as its being built. WSL2 will be in the Windows 10 release currently planned for spring 2020. Until then, if WSL 2 is important to you and your workflow, we encourage you to try out fast/slow ring Insiders builds and let us know if you find issues.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

What is it?

Collapse
 
fultonbrowne profile image
Fulton Browne

WSL is Windows Subsystem for Linux more info can be found here

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Oh the embedded Linux thing I use when it came out, why didn't you say so 😂 (acronym memory leak)

Collapse
 
tracycodes profile image
Tracy Adams

So far it's been a good experience, except for a few weird bugs like permission issues and so on.

Other than that, it's transformed web development on my Windows machine. I do, however, still use my OSX machine for most of my day job except for Windows-specific work.

Collapse
 
gvescu profile image
Gustavo Vera Scuderi

I used it for some workflows like Ruby (which even with the effort of the RubyInstaller guys, it's kinda cumbersome on Windows), but for working with Node, PHP and other I've found myself using only native Windows versions. It still feels like a virtual machine for me.

I just install Chocolatey and I'm good to go.

Collapse
 
sudiukil profile image
Quentin Sonrel

I love it, it's not perfect but it's absolutely awesome for the people like me who just cannot work without having UNIX/Linux tools at hand.

Collapse
 
konstructa profile image
Konstructa • Edited

Its amazing but I would love a terminal like Iterm2. Windows Terminal is getting better but still has a ways to go. The people saying WSL2 sucks are idiots.

edit: You guys should keep doing advanced tutorials on how to get Vscode to only use WSL2 interpreters and store files in the WSL2 home.

Collapse
 
steelsector profile image
Steelsector

I recently got a new work laptop, which has a problematic WiFi card, also Ubuntu hated the RTX card, had constant issues.
I'm looking forward to try out WSL 2, but is the OS stable enough for daily driver?
I need docker and some of our docker configs are not working on a windows host, but the laptop have issues with every linux distro I tried because of the not supported WiFi card...

Collapse
 
kn_sandeep profile image
Sandeep Kongathi

I am loving it, Got Cassandra, Spark, Node, Angular installed and VSCode as Remote IDE

Collapse
 
cvzalez profile image
cvzalez

I don't see a good reason to use it actually!
Here are my reasons: It's not as fast a some and Microsoft hype about it, it's really slow actually, but that's also a problem of the Windows NTFS file system problem frankly, and the fact the Windows Defender Anti Virus ignores the disabled status you configured, and on each Windows auto system updates it crawls all the system. Like Windows it lacks a good snapshot feature, so I can't have the security of a working system and a true backup system as easily as I have with Linux, with btrfs snapshots, and btrfs send receive backups, if your Window system has a problem and it certainly has plenty, all your working system is going down with it, it's a nightmare to TCP IP port forward, and it's slow, and if you enable the WSL2 hyper-V it messes the kernel and you can't use VirtualBox or if you use it, it will be lot lot slower, talking about VirtualBox, in my opinion is way better solution, you can have several snapshots with it, its portable for other systems as easy as saving the virtual image and run on other hardware system, let it be Mac, Linux, Windows, etc, you can configure the port forward and have shared folders with it, and it will be always available in any system with the same configuration, I can't even compare WSL2 with this flexibility, also, with a virtual machine, you are not limited to terminal commands, you can use GUI apps and you can actually update the kernel, not the same on Windows WSL2.

In my opinion WSL2 is Microsoft desperately trying to grab a user base to Windows eco system, Windows is heavily dependent on x86,and ARM CPUs are really winning the race, Microsoft is doing the same mistakes that Intel has done and still does, thinking they are too big to fail. Apple is ditching x86 for a reason, the future is mobile and watt/performance, and while Intel still have the lead on CPU brute force benchmarks, even the server industry is moving to ARM, because it's a hue saving in power costs,also, ARM just do multi tasking way better than X86 chips,super computers are also moving more and more to GPU OpenCL, Data Servers to ARM, and going back to the Operating System than runs it, Unix, Linux, BSD kernel are just way ahead to use it tham Microsoft Windows... but that means the end of X86 instructions set as we know it and that will deeply hurt x86 Big Titles Software that's the only reason Microsoft still exists...

Collapse
 
bitsplease profile image
Kartikeya Shukla

As a Data Engineer I don’t really prefer it—- installing spark/airflow on WSL is a pain & even if you do that, then configuring jupyter notebook env, ports, browser etc or for another IDE is a pain! Ubuntu anyday!

Collapse
 
eliosh profile image
Eligio Colutta

I agree.
I've switched to linux desktop 15 years ago, and now I'm trying this new experience with the new laptop.
It's only one week, but I found it very useful

Collapse
 
0x49d1 profile image
Dmitry Pursanov

Very useful for me: I'm using it for almost all my testing needs, far faster then virtual servers.

Collapse
 
dbsnider profile image
Derek Snider

I know I'm late to this discussion, but I've just returned to Windows after a long hiatus (basically since Windows Vista) where the allure of UN*X/BSD based MacOS (as well as the great battery life) enticed me over to the MacBook side.

For many years, macOS has provided better options for the integration of a mainstream desktop with a UN*X like OS. Your default shell was bash, you could brew install all manner of standard Linux apps (gui as well as shell based), docker worked great, the hassles were few, and everything was nice and clean, etc.

Over time, however, Apple has been making things more difficult, and I think the move away from x86 processors is a bit of a final straw, at least for me.

As a Linux developer for nearly 30 years, the fact that Microsoft has made available such a tightly coupled integration as WSL2 provides to Windows 10 (and 11) made me decide to return to Windows -- that along with the fact that working remotely made it so that having a desktop computer was more useful than carrying a laptop back and forth to the office.

It's a breeze to install WSL. It's also fantastic that Windows Terminal can run different shells in different tabs (cmd.exe, powershell, bash, etc), is fully configurable, and open source to boot.

Not to mention that with WSL, you can easily run Windows apps from Linux, and run Linux apps from Windows.

It's pretty awesome that you can seamlessly run Windows explorer.exe on a Linux path, or use notepad.exe to edit a text file under Linux, and easily cross access files from either OS.

The PowerShell-WSL-Interop project takes this a step further -- you should definitely check it out -- and PowerShell is also opensource and cross platform.

VSCode is also open source, cross platform, and also fully WSL aware -- oh, and docker is also WSL aware, and will use WSL if you have it installed.

So if you are a Linux developer, and want to also use a mainstream desktop OS (and yes, I've used Linux as a desktop OS), I would definitely say that Windows 10/11 is now the better choice over macOS.

Collapse
 
mariomarroquim profile image
Mário Marroquim

I found it to be just perfect! The only problem is performance, but it will be mostly resolved in a few days from now.

Collapse
 
p_gurung profile image
Pranam Gurung

Apart from the filesystem permissions issue that seems to crop up every other day, it's been working fine for me.

Collapse
 
xowap profile image
Rémy 🤖

What's the point again?