Windows Subsystem for Linux 2.0 release
github.com
github.com
(And in case anyone's interested, it appears WSL 2 was added before this package reached 1.0)
How are they so bad at naming things?
100% agree; I explain the current name to myself as "Windows offering a subsystem to run Linux into".
> How are they so bad at naming things?
See the whole .NET Core
WSL 2 is just a tightly integrated VM running a real Linux kernel, and the name makes no sense there.
Now if only I could run macOS with full GPU acceleration on Windows or Linux without needing a separate GPU, then I wouldn't need a Mac for the few times I develop and build for iOS.
One stipulation in NT's subsystem at the time was that fork() needed to be followed by exec().
I've had to support a development environment that ran on WSL2, among other things. I regularly had developers attempt to start work in the morning only to find an overnight WSL2 update from Microsoft rendered their WSL2 instance unusable. It typically took a few hours of uninstalling / reinstalling to fix it. But in at least one case after a series of these incidents that cumulated in them spending a day trying to get it going they gave up and switched to Ubuntu.
The only reason I'd use WSL2 over a real Linux install for Linux development is because of ISO 27001 / SOC 2 restrictions pushed from above. I don't have a clue why people would do it voluntarily. It's not only a fragile and incomplete implementation (especially on the networking side), it's also noticeably slower.
Embrace.
Totally made up conversations about choosing Entity Framework version numbers: https://blog.oneunicorn.com/2020/03/26/numbersarehard/
Think of this as, kinda, the userland tools for WSL.
This release refers to WSL2 version 2.0.
E.g. .net framework/core, xbox, windows and now WSL
> experimental.dnsTunneling- Changes how WSL resolves DNS requests to improve network compatibility
> experimental.firewall- Applies Windows firewall rules to WSL, and allows for advanced firewall controls for the WSL VM
> experimental.autoProxy- Makes WSL automatically use the proxy information from Windows to improve network compatibility
Had to work around these back in 2020-ish… finally a way to run WSL2 with Cisco VPN without horrible hacks? Fantastic!
Not sure about other corporate VPN providers, haven’t used them. I wouldn’t be surprised if others have similar issues.
Joke aside... I am still confused.
--user-mode-networking
https://docs.podman.io/en/latest/markdown/podman-machine-ini...
Putting that aside. I am quite excited about the mirror network change. My big annoyance when I moved from WSL1 to WSL2 was that a service run inside WSL wasn't available to the my LAN. It made sense why it didn't, WSL2 is a hardware VM so you weren't binding on the hosts networking stack like WSL1, but it was still annoying.
Of course WSL1 has it's limitations as it's not Linux but Windows with Linux userland - anything that touches the Linux kernel directly pretty much doesn't work (like loop mounts etc).
wsl --update; wsl --update --pre-release
https://devblogs.microsoft.com/commandline/windows-subsystem...
EDIT: you also need to be on the latest windows insider build to actually take advantage of the experimental features.
A real nightmare.
https://github.com/microsoft/WSL/issues/6982
Almost 1000 total comments between both of these and basically no acknowledgement from microsoft.
"Linux Subsystem for Windows" would have made a lot more sense to me.
As a .NET Developer I bought a new M2 Macbook Air to test the feasibility of moving to ARM/Apple Silicon and was pleasantly surprised that all the software I used daily had native builds that worked OOB [1]. I was also able to run Windows 11, Ubuntu and Fedora ARM OS's with UTM [2], which lets me access Windows should I ever need to.
As nice as WSL is, it's not as nice as having a native Unix terminal as it still feels like your living in 2 different worlds. It's always going to be uncanny valley where you need to install software tools twice per OS (and upgraded in-sync) and the cross-OS file system performance is so unusably slow that it may as well not exist as you're basically forced to check out repos in each filesystem. Also ran into a number of situations where building and using WSL tools isn't as well supported as Linux/macOS.
By contrast everything I tried to install seemed to work on macOS, where I was able to build and try out LadyBird Browser's new native macOS UI [3] and install all the tools I needed run and test out local AI workflows [4], e.g. this command below uses ffmpeg to capture 5s of microphone recording, uses OpenAI's whisper to transcribe the audio to text, uses curl to send it to a remote API to generate an LLM prompt, that gets executed with a local install of Llama2 7B:
ffmpeg -f avfoundation -i ":1" -t 5 order.mp3 \
&& whisper --language=en --fp16 False --output_format txt order.mp3 \
&& curl --get --data-urlencode "userMessage=$(cat order.txt)" \
https://coffeeshop.netcore.io/coffeeshop/prompt | llm -m l2c
Maybe you can achieve similar functionality in Windows/WSL, but it's nicer when all the tools you want to use just works natively.[1] https://servicestack.net/posts/postgres-mysql-sqlserver-on-a...
[3] https://twitter.com/awesomekling/status/1694954938395202031
[4] https://servicestack.net/posts/building-typechat-coffeeshop-...