I am a software developer and am forced to have Windows on my work computer. WSL allows me to have a Linux terminal that I can use directly on my files without needed a VM.
Same. Well, not forced, but using Linux would just make everything more difficult. I like being able to drop to a shell and use a Linux environment with its useful utilities to manipulate stuff on my Windows PC.
Yeah, I could use mingw, but that is a pain, and I can't just apt install stuff.
Not the same as apt, but there's Chocolately, which is actually a legitimate package manager for Windows.
choco install firefox
There's also a package called gsudo which allows you to preface a PowerShell command with sudo to run it as an administrator. It will cause a UAC prompt.
But being forced to use a terminal to do anything is kinda hard to deal with if you're not a developer. I'm probably guessing this didn't bother you that much.
What are you trying to do on WSL? I think the whole point of WSL originally was to have a linux terminal on Windows, before they added graphics in WSL 2.
For me: totally. I need to use windows for work. With WSL, I can use all the tools I need via the Debian box underneath. All I use windows for are the communication apps my colleagues use.
I had been using WSL2 for about one year. The experience was terrible compared to a Linux host. (Sadly I can't change the system on my work laptop). However, it was much better than Cygwin, msys2 and powershell - based on my experience.
If your host OS is windows and you're interested in Linux, I think WSL2 is a good way to have a try
WSL is great for me. Not as fast as being in native Linux but if you're stuck in windows it's a impressively seamless tool to just have available. I use it for convenience so I don't have to have a second machine next to me all day
In my experience, if you need to do Linux kind of things on a Windows computer, it's far less glitchy, buggy and laden with weird caveats and edge cases than the alternatives (like Cygwin and Git Bash).
To be fair, I've never used it. But I've been the guy people come to when shit doesn't work. Switching from Cygwin or Git Bash to WSL frequently fixes issues.
Been daily driving WSL Debian for about a year on my work laptop, without systemd and display server. At first, I was really only using it for application servers that just won't run or too tedious to run on windows. But windows is just terrible for dev work that's not part of windows eco system. So I found myself slowly moving most of my dev stuff to WSL. There are still some problems though.
Off the top of my head, first is neovim and the system clipboard. I can use clip.exe but there's a problem with unicode characters. It's expecting some UTF-16 encoding or something but my bash is in UTF-8. And somehow that messes up copying some unicode characters. I have to either use iconv to convert the encoding before copying or may be change my bash encoding.
Another recent problem I had is binding WSL ports to the window host's network. WSL automatically binds the service ports to host window's localhost with the same port number, which is pretty useful. But it only binds to localhost address. If you want it to bind to other addresses, you can't configure it. You can to run some kind of a patch program someone wrote, that rebinds WSL ports the wildcard address. And it doesn't work very well if the patch program's version and your WSL's versions are not compatible.
Another minor problem is that there's some kind of a freeze that lasts for about a minute when I'm doing fzf in bash. It happens sporadically. I'm not entirely sure if the problem's with Windows Terminal or WSL. It's likely WSL. It seems to happen with other terminal emulators as well.
All in all, WSL makes having to be on windows a whole lot bearable. I'll probably end up using only rudimentary UI apps on windows and move the rest to WSL.
I find it OK if you must use windows but it was fairly annoying to deal with and those annoyances are what got me to actually go for the whole Linux deal and I'm happy I switched.
It's fine if all you need/want is a Linuxy shell to work with, but if you actually want a proper Linux computer, with a DE that doesn't suck, mapable keyboard shortcuts, no spyware, working workspaces, tools that do what you want rather than what Microsoft wants for you, etc., you're going to be miserable.
Since wsl2 supports cuda, my gaming computer can run open source deep learning models so easily it's stupid. I'm mainly using it to rip music from youtube and split it into stems for music production using Facebook demucs. I tinkered a bit with stable diffusion models a while back too. It's pretty sweet, especially since windows sees the linux drive as just another directory, so my DAW can just bookmark it. It's so seamless.
Win 11 is still garbage for privacy and ownership reasons though. MS can fuck a duck, but they make some pretty baller software.
I'll emphasize the point that this goes for any kind of machine learning model that can benefit from CUDA, which means a large amount of gaming computers already meet the prerequisites for this. Installation is trivial (but requires some knowledge), and I hope to see more ML applications for hobbyists in the near future. Image generation and locally hosted GPT models come to mind.
Sometimes in enterprise environments you're not allowed to have a proper Linux and you're forced even as dev to use that thing from ms.
Since hardly any code in the web runs on NT, the wsl is the only way getting your things done. It does what it does OK(ish) but except of that single usecase I would never use it.
I find your mileage is somewhat dependent on the rest of the system config and how you access it. I kinda hate how WSL2 is based on hyper-V because the network stack for that is a pain in my ass, but tools like NMAP just don't work on WSL1.
I have found that using something like MobaXterm is pretty awesome. The built-in X-Server lets me run a few useful graphical tools within WSL (GIMP, Wireshark, etc) without needing to install their windows counterparts.
WSL has replaced my use of the command prompt in Windows for anything (and I used it more than most, I think).
In my job, I develop Linux applications to support industrial automation, and WSL is capable of building and running most of what I make. It isn't a full Linux machine, and can behave unexpectedly when trying to do things like changing certain network configurations.
So it's great for what it's for, really. But if you want a full VM, this isn't really for that.
It's the best if you convince your boss that you need it for work in your non admin privilege system because you can sudo inside there so you can install whatever.
WSL in Windows Terminal is not much different from opening Konsole on any regular desktop Linux distribution. I use openSUSE Tumbleweed on WSL and I think it's great.
There's honestly not a lot of practical uses for it when you have the option of just running a Linux Distro anyway. It's mostly to keep people who NEED to run Linux for work in Windows as an OS. Otherwise, I've found no purpose for it. Neat I guess? Useful, no.
I'll parrot the others. I have a Windows PC issued by my employer. The only way to have some Linux is WSL. I use it to sync notes with server at home, python stuff, and w3m when I want to Google something without looking conspicuous in the office.
General Linux tools also help. I needed to make video half the speed - one liner ffmpeg solves it in a jiffy. On Windows I need to install some hive software.
When I used wsl, it felt fine. There were some problems with running more GPU intensive tasks, but being able to use linux-only software while I was restricted to Windows was pretty good.