Ngl, except for some issues with proxy and networking, WSL is actually a nice way of using both Windows and Linux without having dual boot or using Cygwin.
Getting WSL2 to work with my company’s VPN was such a pain that I just went back to WSL1 and resigned myself to the fact that I’ll never be able to run Docker in WSL locally.
So WSL1 was actually using the Windows Kernel so Networking was more straightforward because you had direct access to network syscalls.
WSL2 is a VM in HyperV with some special sauce I guess. Downside is that means you have the same Network setup like you would a VPN.
So when I’m developing a site and use say trunk serve. I can access it locally on my Windows browser even though it’s running on my debian WSL2. However one thing I liked to do on my local network was pull up my smartphone and open ports to look at the mobile view on an actual mobile browser.
Well now open ports in Windows Advfirewall for a service that’s running a Linux VM?
Now do this everytime your WSL2 VM changes it’s local IP (not your LAN IP), and everytime you switch to a service with a different port.
Super PITA and I also broke just the regular local proxy between Windows-WSL2 trying to get it working. So now I just sigh and use the developer tools in Chrome to pretend I’m on a smartphone.
Word of advice, I recently found out that the inotify implementation is broken on WSL! I wrote an application that works fine on linux, detecting when a file is updated, or deleted or created if I monitor the folder it’s in.
However, on WSL, once the file is deleted, I get no further events for that file in the monitored folder.
So while WSL works quite nice, how they could break something as fundamental as that without a big red flashing warning label is beyond me.
Ngl, except for some issues with proxy and networking, WSL is actually a nice way of using both Windows and Linux without having dual boot or using Cygwin.
Ugh yeah the networking on wsl2 has been annoying me lately.
Getting WSL2 to work with my company’s VPN was such a pain that I just went back to WSL1 and resigned myself to the fact that I’ll never be able to run Docker in WSL locally.
Why not just run a full Hypervisor?
Why not just run full Linux?
Why not Bilbo?
Linux hypervisor?
This right here. Using Podman natively on Linux is beautiful.
What about it has been annoying or caused problems? I ask so I won’t be surprised if it happens to me.
So WSL1 was actually using the Windows Kernel so Networking was more straightforward because you had direct access to network syscalls.
WSL2 is a VM in HyperV with some special sauce I guess. Downside is that means you have the same Network setup like you would a VPN.
So when I’m developing a site and use say trunk serve. I can access it locally on my Windows browser even though it’s running on my debian WSL2. However one thing I liked to do on my local network was pull up my smartphone and open ports to look at the mobile view on an actual mobile browser.
Well now open ports in Windows Advfirewall for a service that’s running a Linux VM?
Now do this everytime your WSL2 VM changes it’s local IP (not your LAN IP), and everytime you switch to a service with a different port.
Super PITA and I also broke just the regular local proxy between Windows-WSL2 trying to get it working. So now I just sigh and use the developer tools in Chrome to pretend I’m on a smartphone.
Word of advice, I recently found out that the inotify implementation is broken on WSL! I wrote an application that works fine on linux, detecting when a file is updated, or deleted or created if I monitor the folder it’s in. However, on WSL, once the file is deleted, I get no further events for that file in the monitored folder. So while WSL works quite nice, how they could break something as fundamental as that without a big red flashing warning label is beyond me.
For basic things it’s great, and with the perfect setup it’s amazing.
But it can be a real pain for things like USB, networking and in general connecting to anything outside its own enviroment.