WSL2 can now mount Linux ext4 disks directly
hanselman.com
hanselman.com
However, Microsoft does not properly document how to use the HCS to achieve this. I've dived as deeply as I could into the docker shim code for HCS, but wasn't able to figure it out. It's an old story with Windows. Some cool feature buried under poor documentation.
Every time I hear someone say "Microsoft has changed", I mutter to myself "nope, same old MSFT with better PR".
The docs (which are a bit useful): https://docs.microsoft.com/en-us/virtualization/api/hcs/over...
After 2021 june 27 : https://web.archive.org/web/20210627204757/https://docs.micr...
Before 2021 june 27 : https://web.archive.org/web/20210414223813/https://docs.micr...
As I said, the docker hcs shim might help one figure everything out, but that's not documentation.
Edit: removed unnecessary flaming
Now, they do still have a long way to go, but change like this takes time, it’ll always be a story of two steps forward one step back, and, perhaps most importantly, doesn’t happen all at once in an org the size of Microsoft. Some teams/departments are going to jump onboard this way sooner than others.
Strong developer relations are now life and death when Microsoft is pitching Azure to cynical developers choosing between Digital Ocean and their competitors.
Before it was Windows ecosystem lock in that brought home the bacon.
Now it's convincing corporate IT to choose Azure over AWS.
Their POV is understandable (if not wholly justified IMO), but then so is my irritation at the practice :)
If not, why are you throwing MS under the bus?
> So is that "typical linux"?
Where did I mention anything about any other OS practice, or "typical Linux" ?
>If not, why are you throwing MS under the bus?
Jesus man. Mild criticism about an obscure API, of interest to perhaps a literal handful of people, is "throwing MS under the bus" ?
whoosh. You said it was typical Microsoft to not document APIs and implied this is an MS problem. I gave you a direct example IN LINUX and asked you if that's "typical linux"? Because you seem to be saying that the problem is isolated to MS.
>Every time I hear someone say "Microsoft has changed", I mutter to myself "nope, same old MSFT with better PR".
That isn't "mild criticism about an obscure API" and painting it as such is just farcical.
Nothing that OP complained about points even a little bit to the tactics used by Ballmer and Gates, it points to: this is a new feature with unstable APIs so it's not fully documented yet.
For a semi-recent example, a lone Debian developer decided that Which should longer be used, and a huge fight ensued ( https://lwn.net/SubscriberLink/874049/bf89a969ed3dde87/ )
In a large corporation, their boss would swing by and tell them customers need that tool, and it can't be removed willy-nilly.
And I won't move to Mac, because of the missing link in Apple's product lineup. I'd move over in a heartbeat, if they had a midrange tower, beefier than an Mini, less expensive than a Pro, and sans monitor (iMac)
I also totally didn't notice the Debian thing, but I have moved a couple scripts I use to have `command` instead of which for detecting whether a given executable is available or not (those scripts need to run unmodified on Linux and macOS) and `command` is the POSIX way to do it.
I'd strongly suggest flagging avoidable non-POSIX approaches whenever possible. POSIX still is the standard and, if you play nice, you'll be able to run a script everywhere, from MINIX to AIX to zOS's POSIX environment (an EBCDIC Unix!). So far, shellcheck has been ruthlessly teaching me to write better shell scripts.
"The script you wrote last week for Debian no longer runs on Debian, but if you follow this guide, you can run it on an PDP-11!"
Yay..
Software needs to be durable.
Also, there are Linux distros that are maintained by large corporations, like Oracle Linux. Not every distro is governed the same way.
“How much time would a $4,000, top-of-the market machine like the M1 shave off from each build? How much total time over 2 years? How much “value” does this time mean per engineer?
With the M1, the answer is a no-brainier. The $4,000 per engineer spent will bring back so much more productivity versus top-of-the-market Intel ones, including the 2021 one.“
https://9to5mac.com/2021/11/08/heres-why-twitter-uber-and-mo...
Vastly more arbitrary and intrusive changes routinely occur in large corporations, where community complaints are often ignored rather than addressed by quickly reverting the offending change.
There's been some rumours of such a model, although not too frequently, although it's unknown to what price point it'd set.
https://www.macrumors.com/2021/03/01/fan-favorite-power-mac-...
I imagine they will release a Mac Mini (Pro) at some point with the same M1 Pro/Max internals at the new MacBook Pro, except inside a desktop computer. There's no doubt that it'd be beefier, but it might lack some of the Mac Pro features such as internal expandability (although it's still a question mark as to how internal expandability will work when the Mac Pro becomes an ARM machine).
As for the MacPro, my guess is Apple will keep the chip count to one, but add more performance cores while moving some accelerators outside the CPU package. Video encoders/decoders aren't as bandwidth-hungry as GPUs.
Didn't the bosses at Microsoft recently[1] nerf an already-implemented free/community .Net feature (edit: Hot Reload) so it could be a Visual Studio exclusive? Yes, they reversed course after a getting blowback, but I don't think your assumption about bosses championing for (all) customers is correct.
1. https://www.theverge.com/2021/10/22/22740701/microsoft-dotne...
2. https://www.thurrott.com/dev/258605/microsoft-backs-down-fro...
Would you like to describe what happened in more detail?
I personally had very good luck, all of the random laptops I have tries ran the current Linux well, and on desktop I had even fewer problems, especially because I have checked Linux compatibility before buying.
This may already be the problem for many. On windows this tends to work without worry.
WebDevs are not the only developers in the world.
But a lot of small things added up:
* full-disk encryption in combination with dual-boot is doable, but not easy
* most of the software is either late with updates, or worse. For many vendors Linux support is an afterthought, and it shows. Teams is almost unusable (at least was in April 2021).
* every system update carries the risk of the OS not booting up any more. These days it's easy to restore back, but still, it's a risk of wasting time that is not easy to accept in a professional environment.
Kinda. You can't configure it during install, but I think it would be pretty easy to set up LUKS afterwards.
> most of the software is either late with updates, or worse
It really depends on your distro. Many of the 'stable' options will try to hold back updates in order to prevent breakage, which is why I personally prefer a more cutting-edge, rolling-release design. To each their own, though.
> every system update carries the risk of the OS not booting up any more
Ironically, the thing that got me to switch to Linux was having my entire PC bricked by a Windows update. The bootloader and partition table appeared to have completely erased itself off my drive, so I pulled the trigger and just switched to Arch. I haven't had my computer refuse to boot since, but I have gotten some surprises when my desktop updates behind my back. YMMV, but I feel like every OS is horribly unstable these days. At least Linux obeys my commands when I ask them.
I bought a new Dell XPS 13” with Ubuntu preinstalled. It was still a nightmare. Some of the hardware/driver issues I encountered:
- Laptop would constantly get stuck in suspend, often when plugging or unplugging my thunderbolt docking station. The only way out of this was to hold the power button for 10 seconds, which I had to do almost daily.
- Sometimes the laptop would randomly wake from sleep in my backpack, resulting in a burning hot laptop.
- The battery seems to drain very quickly even while in sleep mode. Possibly related to previous point but it seems to lose charge in sleep mode even if it doesn’t not spontaneously wake.
- Doesn’t seem possible in Gnome to run an external display at a different DPI from the laptop display. This meant I had to constantly switch DPI when I moved from external display to laptop mode.
- Couldn’t get my jabra Bluetooth headset to work. I could get sound, but it required switching the Bluetooth profile every time I connected them, and I couldn’t find a way to get it to remember the correct setting despite hours of searching. I also couldn’t get the mic to work whatsoever.
- Doesn’t seem possible to configure keyboard remapping on certain keyboards only (e.g. swap modifier keys on my external keyboard).
- Couldn’t get scrolling to work with my apple Magic Mouse, had to buy a new mouse. Maybe a minor issue but it works fine on Windows.
- Not a hardware issue but I had a weird issue where google chrome tabs could not be repositioned without the tab becoming “detached” and creating a new window. This was incredibly frustrating.
I don’t think Linux is ready to be used as a daily driver for people who care about getting work done and not tinkering. Maybe if you use a desktop with a couple years old hardware it will work, but latest gen hardware, laptops, or external devices are a recipe for pain.
Whenever i put the machine to sleep I do a check always assuming the risk that the app states I have, might never be accessible again. I still can't get hibernate working on it to make it all just work for me. But each rabbithole into making my life a little easier comes at a cost of so much time that I just don't find reasonable.
Windows has it's pain points but having WSL running makes life so much easier.
I recently spent days testing 'random' kernel parameters and config settings from various forums in a desperate attempt to get my Ryzen APU to run stably without tearing. I still can't get it to reliably wake from sleep.
This is kind of why I asked - there is nothing in Windows that calls my attention in a "Oh wow! This is good!" way. Quite the contrary - the upper crust of Windows 10 is polished, but every now and then I see dialogs that render text differently, with different widgets that don't quite work the same way as the rest. It's a bit like running xedit on a Gnome desktop.
* AutoHotKey. Alt/Capslock + IJKL is a universal way to get arrowkeys - e.g. it works in Chrome/a note taking app/Terminal. I'm not against getting a QMK keyboard, but I'm not aware of any laptop keyboards which support QMK. Switching between the two will get real annoying real fast.
* 7+ Taskbar Tweaker. My taskbar hides window names for programs like Spotify/Outlook/Slack (programs which usually have 1 window), but shows window names for programs like Chrome/Terminal/VSCode (programs which usually have multiple windows).
* Logitech software. My mouse has buttons hooked up to F13-F20 (yeah, there's more past F12), which AutoHotKey listens for and does specific stuff depending on what program is currently in focus.
The above are relatively important for my computing happiness, and I'm not entirely sure what I'll gain from moving to Linux.
If you can can address any of these points, please LMK! My reasons not to move to Linux have been growing fewer and fewer, but I've yet to find reasons to move to Linux.
Edit: Actually now that I think about this... I can just setup the mouse on a Windows box and it should just keep sending F13 etc. to a Linux box. So now I only have 2 reasons keeping me on Windows: AutoHotKey and an easily customizable Taskbar. The latter reason will also likely prevent me from upgrading to Win11.
Your first and last points can be trivially achieved by mapping those keys via xmodmap - for instance:
! keycodes of your right and left alt keys
keycode 108 = Mode_switch
keycode 64 = Mode_switch
! remap the i key to emit Up when pressing Alt+i
keysym i = i I Up Up
You can use the 'xev' utility to quickly find out the keycodes of keys on your system (just hover the window, press your button, and read the keycode). But all that is only necessary if your desktop environment doesn't ship with key mapping functionality already.If you're on wayland instead of Xorg, then you'll have to use xkb to set this up.
There's also a bunch of AutoHotkey-like tools, but they're probably not necessary for something as simple as you're describing. The first that come to mind are AutoKey, SikuliX and IronAHK (a cross-platform rewrite of AutoHotkey, but I think it's discontinued).
Most desktop environments ship with functionality to (at least) run a command when you press a certain key. Others, like AwesomeWM, are way more powerful.
My AHK stuff is a bit more complicated - my scripts total about 5000 LOC, but a lot of that is inflated cause it also doubles as a window manager. It does a bunch of other minor stuff, e.g. Alt-IJKL also combos with Shift for selection and Ctrl for word skipping, but I'm sure xmodmap and other tools you mentioned can handle that.
Alt-IJKL, when remapped at a low level like that, should behave exactly like arrow keys and combo with Ctrl/Shift like you would expect. You don't have to do anything extra.
- AHK is kinda tough to replace on Linux, since you're kinda stealing the display manager's job. Since there are now two display managers in use (the older x11 and newer Wayland), you'd need to find a solution that works for you. It seems to be pretty easy on x11 though[0], and if Wayland doesn't offer similar functionality I'll be quite surprised.
- Taskbar manipulation is handled by your window manager, and you can typically get pretty granular with it. I don't have the exact same setup as you, but I do have a second taskbar on my second display specifically for Spotify/IRC.
- AFAIK, Linux was the progenitor of the extended function row :)
In conclusion, your sticking points are probably going to continue to be sticking points for the foreseeable future. I hope that doesn't discourage you from enjoying Linux though, even through WSL.
[0] https://wiki.archlinux.org/title/X_keyboard_extension#Caps_h...
Now I just need to learn Vim :D
Where Linux suffers is support for many big commercial applications (MS Office for obvious reasons, Adobe software, etc.) and hardware support (which can be hit and miss, depending on your luck).
But if you're thinking: "how could I automate whatever desktop action operation?" Linux for sure can do it. I have no idea right now how you'd it, but I'd be shocked if it couldn't. There's sooo much configurability.
Now, whether it's worth it to you, who has already learned autohotkey's syntax, to move to Linux, I can't say. Linux is a game of differently confusing config files from Windows and sometimes it's about the devil you know vs the one you don't.
I'm currently looking for a new mouse and trackball that I would use with AutoHotKey (yeah I'm windows fangirl - what can I say, it's just way more productive than Linux)
I read good things here about the Logitech MX Anywhere S2 so I'm thinking about getting one.
The more buttons, the merrier!
The thumb buttons do stuff like CtrlW/AltF4 (depending on the program), toggle between maximize/restore, minimize, media play/pause, and summon media player. Pretty basic stuff:
#IfWinActive ahk_exe chrome.exe
F14::
WinGet MX, MinMax, A
If MX
WinRestore A
Else WinMaximize A
Return
F13::SendInput ^+t
F15::WinMinimize,A
F16::SendInput ^+{Tab}
F17::SendInput ^{Tab}
F18::SendInput !{Right}
F19::SendInput !{Left}
F20::SendInput ^w
F21::Media_Play_Pause
Oh, and one of my more favorite AHK things: RButton & WheelUp::Send {Volume_Up 1}
RButton & WheelDown::Send {Volume_Down 1}
RButton & F17:: Send {Volume_Mute} ;; aka right click + mousetilt = muteIf you add the qualifier "than you", yes, it's not a very risky prediction given the difference between genders in the hand size distribution and the demographics of HN users: https://geogebraintheclassroom.blogspot.com/2015/11/introduc...
Objectively, I usually get glove size 6 to 6.5, but I do consider my hand quite big. I guess I could plug the numbers from http://www.fownesbrothers.com/press/2016/5/10/glove-size-doe... in the distribution above to compute my percentile and see if my perception is accurate.
All this to say, I'll have to be careful to adjust the recommendation by size, as mouse (or trackball) size is an important factor in comfort, and my perception may not be accurate.
> Oh, and one of my more favorite AHK things:
Chording!!! Yes!!! Extending the idea to mouse keys is very inspiring!!
FWIW, like many people I have Caps and Enter using that: Caps and Enter are respectively Esc and Enter when used alone, or Left and Right control when used with other keys.
But wait, it goes further:
- my Shift keys behave as Page Up and Page Down when used alone,
- my Alt keys behave as Home and End when used alone,
- my Control keys behave as Insert and Delete when used alone
In practice, this puts the edit keys very close to my fingers, even on laptop-style keyboards.
I don't always use these alternatives, but I've noticed a tendency for modern keyboard to remove these edit keys, so I want to have a solution ready for when I can't find good keyboards anymore.
> I've noticed a tendency for modern keyboard to remove these edit keys...
The teeny tiny arrow keys on modern laptops is actually part of the reason why I have Caps+IJKL be arrow keys. I have a lot of opinions/feelings about arrow keys. (Why are the most commonly used keys so small??? /rage)
For me Caps + H and semicolon are home/end, Y/P are PgUp/Down, U/O are 4lefts/4rights, and 8/, are 4ups/4downs. The 4's are surprisingly useful, especially when navigating. Home and End combo with Ctrl to yield beginning/end of document, which is also nice. (so like Ctrl+Caps+H = beginning). Everything combos with Ctrl and Shift for wordskipping/selection which is really nice.
I haven't tried making modifiers do different things when used alone - that's a neat idea.
My prediction wasn't very risky given the demographics of HN :)
> The teeny tiny arrow keys on modern laptops is actually part of the reason why I have Caps+IJKL be arrow keys.
I'm currently back to Lenovo, mostly for the wonderful keyboards that still have decent sized arrow keys and Page Up / Page Down nearby on both side of the up arrow, so I don't feel this need, but the modern trend of teeny up/down next tothe HUGE left/right is concerning.
I might end up doing like just you. In fact, I might start adding shortcuts right now.
I'm thinking of doing a mapping with Alt, as my Caps key is chorded as Control, and I can't imagine doing without Ctrl-K or Ctrl-L, but. Did you have any specific reason to go with IJKL instead of WASD?
> Everything combos with Ctrl and Shift for wordskipping/selection which is really nice.
It's wonderful to meet fellow minded people :)
My AHK scripts work the same: to go to the beginning of a webpage, I press and hold right Alt, then press on left Alt to send a Home. To to go the end, I use the same keys, but in the opposite order!
It quickly gets into muscle memory!
> I haven't tried making modifiers do different things when used alone - that's a neat idea.
Here's my current implementation which still leaves much to be desired but mostly perform acceptably. Try it for yourself and see if you like it! I've found using less chording whenever possible made sense, and I find myself often scrolling down page by using the Shift key instead of space, as it's just more conveniently placed as a big button right where my thumb rests while holding my laptop
~LShift::
KeyWait, LShift
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "LShift") {
if (GetKeyState("RAlt", "P") || ( GetKeyState("LAlt", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput !{PgUp}
} else {
SendInput,{PgUp}
}
}
return~RShift::
if (GetKeyState("RAlt", "P") || ( GetKeyState("LAlt", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput !{PgDn}
} else {
SendInput {PgDn}
}
}
return*LAlt::
KeyWait, LAlt
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "LAlt") {
if (GetKeyState("LShift", "P") || ( GetKeyState("RShift", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput +{Home}
} else {
SendInput {Home}
}
}
return*RAlt::
KeyWait, RAlt
If (A_TimeSinceThisHotkey < 300 and A_PriorKey = "RAlt") {
if (GetKeyState("RShift", "P") || ( GetKeyState("LShift", "P") && !(GetKeyState("CapsLock", "P") || GetKeyState("Enter", "P") ) ) ) {
SendInput +{End}
} else {
SendInput {End}
}
}
returnReplace CapsLock and Enter by your own chording keys if needed, to allow composition.
If you end up improving on that, please send me your improved AHK script! My email is my username at outlook dot com.
My own scripts are hardly prettier. AHK is not a great language, and I've put very little effort into learning its syntax. Here's my implementation Alt IJKL & friends: https://pastebin.com/F0xgWHH9 Same invitation to you. If you find a way to improve it, email me at my HN handle at gmail :D Note that it has explicit stuff to work with the AltTab window.
I daily drive a Thinkpad X1, but honestly these days Alt+IJKL is so ingrained into my muscle memory that I make grumbly noises when I try to use them on another coworker's machine and fail. Well at least I used to precovid.
> Did you have any specific reason to go with IJKL instead of WASD?
Ergonomics, primarily. I didn't want to twist the fingers of my left hand to try to hit Ctrl/Shift/Alt WASD while my right hand is sitting snickering. Oh. And I just realized I could have used the right alt + WASD. I went with LeftAlt because Caps is also on the left. You can certainly choose to go with RightAlt, though I would encourage you to try ESDF so you get to leave your fingers on the homerow. Also means you have a bit more room for QAZ if you wanna do anything fancy with them.
I suppose I could try and make RightAlt+ESDF mouse movement... but TrackPoint. Might be useful for when I'm at the desktop though. Anyway, being able to left click from the keyboard is surprisingly useful. (CtrlCaps for me.) Often times my mouse is exactly where I want it to be. Happens multiple times a day.
> To to go the end, I use the same keys, but in the opposite order!
That is fantastic.
I also have I think 6 g700s'!!
My favorite was the old Logitech MX with the autoswitching hyperscroll. But I couldn't live without hyperscroll at all anymore.
AHK is also super useful but I've only done a couple of things so far.
idk if they actually work with QMK, but they use the same configurator as their custom keyboard for desktops, which can run QMK
The Plasma desktop environment lets you modify window behavior on a per-application or per-window basis OOTB, including having them skip the taskbar.
I ran Windows -> Hackintosh for 2yrs (until it exploded after an update) -> Linux for 2yrs (until it exploded because of NVIDIA drivers ruining my stability) -> back to Windows after they released WSL2.
I suppose that's a long-winded way of saying that running Windows on a laptop is just way more practical for me. But I do all of my development on a workstation.
I liked the keyboards that came before the Magic Keyboard line (the one you mention on the early Intel). OTOH, I also liked the butterfly (shame it's so unreliable), so it may be that the short travel of the Magic ones is mitigated by the good tactile feedback of the butterfly.
> To get a laptop with decent key travel, I usually end up with a Lenovo
That's true. Unfortunately, around here (Ireland), the intersection of good keyboard feel, US ANSI layout, and no deliberately Linux-hostile dGPU (looking at you, Nvidia) is a very small set.
People who think FOSS is a positive force in the world and want an OS that aligns with their values.
But on all my laptops, I find things to just be to much of a PITA. Eg: hibernate, is way too buggy to depend on. Half the time something prevents hibernate, and my laptop is dead and/or over heated when I pull it out of my bag. The other half the time everything is bugged out when it comes out of hibernate.
I found that when I'm traveling, I'm happier with a very underpowered laptop, which has great battery life. I don't even use wsl. GitHub codespaces has been working well enough.
As for Linux, it's terrible for anything else besides programming. Lack or low quality software and generally stuff just not working.
Or, to pull it back another level: every business uses Windows. Those are our customers.
1. In fairness, it was my first paid job and I didn't know what I was doing, but it worked(tm)
As a business I work with clients that run Windows for their own reasons I have no control over. I've found it easiest to develop on Windows for those clients and I welcome the option to have easy access to some tools I like via WSL2.
Its the best of all worlds. The only friction now is that Microsoft has been making the UX for Windows gradually worse with every patch in Win10. Some of it got better in Win11. If I could get a Win7-esque UX, but with the features of recent versions and with WSL2, it would be the perfect OS for me.
Now instead I bounce between all 3.
Without specifying some boot parameters I can't even boot an installation USB stick on Linux, there are some mode settings issues or something like that. And while that is fixable I couldn't get fractional scaling to work well on Linux, and I absolutely need that with my new display.
I would like to use Linux more, but I'm not very motivated to play around with hardware issues. This obviously can vary a lot depending on the exact hardware you use.
Would be worth mentioning the specific model so that a) we can avoid buying it and b) maybe shame the manufacturer into fixing it.
The window manager in osx is just terrible for me, resizing and laying out windows is awful compared to Windows in my experience.
The 4 finger swipe thing is great, but Windows has that now as well, and recent Linux desktops.
I like the flat square design of win 10, I love how well wsl2 works, I love how easy my complex multi monitor setup is to configure, and how great the auto window layout stuff works across monitors and then also works when I unplug and carry the laptop away.
99% of the development I do is for Linux, it's vastly superior for hosting web servers, etc...
But for a productive and enjoyable desktop experience, nothing beats Windows.
(I also do a lot of development on mac M1 - super fast nice little machine, but the window manager is still sub par for me).
- Work, all of the servers and workstations we have are Windows, management tools are Windows only.
- Microsoft Office and Adobe Acrobat are just some of the programs that won't run on Linux. Our remote access tool won't run on Mac or Linux. I can technically RDP to a server but at that point I might as well be running Windows.
- It just works. I'm running a Surface Laptop 4 but we can buy any computer on the market and guarantee that Windows 10 will run flawlessly on it. Driver support is first class, and backwards compatibility is amazing. We can run 20 year old CAD software on 10 with no issues.
I must be the luckiest user in the world, using Windows 10 on all my devices and I've never had the issues other people report. My files have never deleted themselves, it's rock solid and fast, never crashes.
You and me both: I tried very hard to use Linux, but I couldn't find any compelling reason to stick to it. Having zfs snapshots would be nice, but not given the various pains Linux entails on the UI.
AutoHotKey has no serious match on Linux, but it's not the main reason I stick to Windows: it's the terminal support.
I'm a heavy terminal user, and I found my experience seriously worse on Linux than on Windows, with no way to replicate something as good as mintty.
I seriously considered finding a way to make mintty work on wine, before giving up.
When Windows Terminal achieves sixel support, maybe we'll see a port of WT to Linux? That'd be fun :)
Like with Edge on Linux that may incentivize me to try Ubuntu again!
I never imagined that mintty would support Tektronix graphics, much less the dual-color storage tubes!
MS Office also to a degree, it wouldn't be a deal-breaker if the rest of the company wasn't also using MS Office (I've never purchased it for personal use), but the MS Office experience tends to be more polished, especially if you are dealing with documents originally written for MS Office.
Linux has point blank bad hardware support and UI/UX and missing parts of software here and there.
Windows is just working out of box on almost any hardware.
- Linux - love this system (command line especially), but it tends to have some weird issues from time to time that I need to handle, also doesn't have that great app support that I would have (also: games)
- OSX - for some time I've been in love with this OS, but then something happened in my mindset and its close nature and customization boundaries makes me hate it. Also lack of gaming is bad for me.
- Windows - until WSL happened I wouldn't even consider using it full time. But since we've got it I'm in love - can use my beloved terminal, apps and games. I've also bought a Surface Book 2 device that I've fell in love with (design, performance (at least for my needs), keyboard etc.)
The way you shift windows around on two seperate 27" monitors is vastly inferior without multiple widgets is vastly inferior to the other two.
I actually would have to spend far, far more time having to customise OSX when I start up at a new place on contract now WSL has landed.
WSL also serves a very important purpose in corporate IT.
You just don't always get a choice, company often only supports one OS. WSL helps a ton with pain points related to VM provisioning in a "no OSX" shop.
1. The Linux kernel virtually enforces all drivers will be upstreamed into the kernel itself. That means that if I want new drivers, I need to update my kernel. If that leads to other things breaking (perhaps even other drivers), that's going to annoy me greatly. On Windows, I can update each driver in isolation.
2. The Linux ecosystem heavily favors centralized updating. If there's a critical security update for systemd (and let's face it, when is there not), I have to pick it out of a huge list of software updates for software I barely use. I rarely use Firefox and yet, when there's a critical system update, I have to expressly un-check the box or I'm in for a big Firefox update.
3. Most distros have a manual, "nag-based" update model, while I prefer the system to intelligently auto-update for me, during off-peak hours. I mostly use modern software which saves to the cloud, so if my PC reboots to install the latest Windows updates in the middle of the night, it's not a big deal. All of my browser tabs are still open, my AutoCAD files are auto-saved, etc.
4. It's very difficult to figure out if specific hardware will support Linux until you buy it. Obviously, Nvidia is a no-no. But even certain Asus gaming motherboards will have wifi issues depending on which sub-model you pick. Often someone says that a piece of hardware works, but they didn't notice slow wifi or something, but I will.
5. I like the power of money. By being a paying customer, I know that companies are competing to make a good product for my purposes. The Linux community heavily favors open-source software, so there's no profit in porting software to Linux. I realize I'm in the minority on this, but what can I do other than stick with Windows and Mac?
(I understand that at this stage you can’t mount anything on the Windows installation disk, so I suppose that for now it’d need to be two physically distinct disks at the least.)
(1) the WSL distros don't have systemd
(2) they ship with a custom kernel that doesn't support custom kernel modules
First point is trivial to fix but (2) may be painful. You could even share the desktop environment as WSLg uses X11/Wayland.
edit: apparently compiling modules is (kinda) working with wsl2: https://github.com/microsoft/WSL/issues/4425
(That being said, I'm extremely happy to run Linux natively now and no longer use Windows anywhere)
Linux is way more flexible than Windows in this regard, you can install every single driver (i.e. both NVIDIA and Mesa at the same time) available and it will just load only the right one at the right time.
https://devblogs.microsoft.com/commandline/servicing-the-win...
See here: https://security.stackexchange.com/a/249484
> ... a newly discovered ransomware variant exhibits the ability to detect and compromise partitions (including hidden partitions), a behavior not thought to have been seen before in ransomware.
with a link to original source:
https://www.fortinet.com/blog/threat-research/newly-discover...
quote from that link:
> At the time of discovery, FortiGuard Labs researchers believed the ransomware was seeking out partitions to find possible hidden partitions setup by systems administrators to hide backup files. But further analysis confirmed an even more advanced technique. The DarkSide Ransomware variant seeks out partitions on a multi-boot system to find additional files to encrypt.
So I do most of my development on Windows, but deploy to Linux servers.
Show me a VM that allows me to access the entire host and client filesystem seamlessly without barriers.
WSL allow you to do just that and for that alone it's very useful. You can automate tasks using Windows-only software (compilers, etc.) with Linux userland tools and run both Linux and Windows software without resorting to Wine or similar translation layers that come with their own quirks and drawbacks.
Want to test whether your software package works on Linux as well? No problem, just open a terminal and compile on Linux in the same file system without having to deal with shared folders and configurations.
That's the major selling point for me.
Does that work that easily on WSL2? I thought that was mostly a WSL1 things, and thus I have not upgraded yet.
I've made an "open" alias to emulate the mac behavour, eg. you run "open fred.docx" inside WSL2 and it will open the document in word.
I've also made a "pbcopy" clone, and have a bunch of other scripts that simplify mundane tasks.
Warning opinion ahead... W98SE was better as a desktop back then. Nowadays, I prefer Linux any day. Reinstalling a Windows machine is a total nightmare, reinstalling a Linux takes me 1.5h at most.
Of course if you don't use any of these features it's not that big of a deal.
I'm happy with my windows 7 that got upgraded to win 8 that got upgraded to win 10 + wsl1. ~5 year old installation by now.
> To achieve an effective resolution of 1920x1080 you're looking at a scaling factor of 1.5, and it just doesn't work well. It also increases battery drain on a system that already has battery life issues.
But I don't know the details. hardware acceleration in browser I think is somewhat new? Last half year or so, is it now by default? You only have stereo and max HD on linux with most streaming providers. No surroundsound.
Think you got what my colloquial ass I meant.
Other than nonexistent USB drive support, it is a great desktop back then. I have many fond memories tinkering with Win98SE. I upgraded to WinME (stupid stupid move...) then went back to 98SE, then upgraded to WinXP pre-SP1 and hated it. So I went back to 98SE and remained in 98SE until WinXP SP2 came out. I felt 98SE was the last version (Perhaps 2000, again I only used it in high school) that caters on the interactivity between the people and the computer.
Now... it is like "screw you, we decide what is BEST for you and you have to suck it up". I do miss using 98SE and looking back of how it is a security nightmare because I deleted like drwatson.exe and few system files to get more space back for my Diablo II. You can imagine my reaction when it failed to boot up Windows next time. Ahh so much memories.
No I haven't modified its behavior beyond a few of the common preferences in the settings page.
I use a mac for my job by at home I have a Windows PC and using WSL has been great to use for my side business/projects.
I have no need for "total control" over the emulation. I much prefer linux to the windows command line and this gives me that.
A lot of people are saying this, and I guess I just have a mental block. Full-blown emulation was the only game in town for 20 years. Plus there was the 6 years I ran lots and lots of KVM's. I suppose I'm just used to it.
But if you think about the occasional user, the new user, the one who does not have such an experience it's like sky vs earth.
In VMs you have to think about a lot of things. Mounting external filesystems, bridging the network, starting and stopping the machine, GPU integration, copy/paste, guest additions, headless vs screen (what screen? do you need a VNC instance?) and so on. It's overwhelming and even dangerous (did you do "rm -rf /directory" withour remembering you mounted your whole host filesystem there? oh my..)
All this stuff is greatly simplified with a lot of Microsoft engineering time that went behind it. Linux processes are very integrated with Windows ones, you install everything with one command, it "just works", and, being target at programmers, all the developing tools stuff work seamlessly.
So yes, for a lot of users it's a huge deal
If you're doing sysadmin work or web development, and need to run Windows software as well or are on hardware with better Windows support, it's hard to see why you wouldn't use WSL.
To your point on total control of the emulation, not everybody needs that. If your use case means you need a real Linux OS environment, then sure, WSL isn't for you.
Well, I thought this was the case with WSL, but that WSL2 changed this, such that it's really just a full-blown VM now. Are you saying that you're still using WSL 1, or have I misunderstood the nature of WSL2?
But the deeper integration and lighter underlying OS for WSL2 is better, especially for Docker dev container usage with VSCode.
Serious question: how long does it take to spin up a VM on Windows then? Does it take seconds?
(Not disputing your other points.)
WSL1 takes about a second, and I'm pretty sure most of that is the init script that spits out network/update info.
Start VM in background at boot time and ssh in milliseconds when necessary.
> WSL doesn't run the full slew of linux processes
I don't know what linux processes are you talking about, but minimal Linux ram consumption is something like 50 MB, that's hardly noticeable.
> uses the same memory space
RAM ballooning is available in VirtualBox or Vmware for years.
> CPU utilisation is much lower than a VM
I don't think that's true. There's no inherent CPU utilization in Linux (and WSL2 is VM).
> You don't need to contend with all the fiddly configuration parameters and config of VM software, and it integrates into the Windows environment by default, again without fiddly configuration.
And that's probably the main reason why WSL is so popular. Installing VM software, creating virtual machine with proper configuration, installing guest tools, configuring it to start/stop at host OS boot/shutdown, configuring shortcuts for ssh is out of reach for most developers and power users. WSL just simplified that process. Probably could be implemented with some wrappers around VBoxManage years ago, but nobody understood the problem.
(I still agree with your overall point though.)
1. Isn't WSL2 now actually a VM too? My biggest deal breaker with WSL2 is that it moves my main Windows into now a parent VM over the Type 1 hypervisor; making everything else in my main Windows just that little bit wonkier. Worse, this information isn't as readily easily grokkable as I feel it should be. I.e. if somebody isn't comfortable installing a clean, separate VM in Virtualbox, they may be even less aware of consequences of moving their main Windows installation into a VM now.
2.Re fiddliness: Installing Ubuntu into VIrtualbox has always seemed trivially easy; and there's any number of downloadable pre-built images from safe sources. Whereas figuring out how to access Windows filesystem from WSL2 and vice versa; let alone installing GUI tools - always seemed completely opaque to me with any number of half-built, quarter-supported guides and solutions out there. And I never seem to know or guess correctly what subset of Linux functionality will or will not work, normally or differently.
Has some basic info, worth a read.
> In addition, if you have Hyper-V enabled, those latency-sensitive, high-precision applications may also have issues running in the host. This is because with virtualization enabled, the host OS also runs on top of the Hyper-V virtualization layer, just as guest operating systems do.
1. https://docs.microsoft.com/en-us/windows/wsl/faq
"The newest version of WSL uses Hyper-V architecture to enable its virtualization"
A little bit of detail on impact, but incomplete/generic.
2. https://docs.microsoft.com/en-us/windows-server/administrati...
"Hyper-V features a Type 1 hypervisor-based architecture. "
Are you sure about this? It seems unlikely that NT would change significantly depending on whether or not it is hosting a WSL2 guest. I've never noticed anything different about my Windows since using WSL2.
> Windows filesystem from WSL2 and vice versa
/mnt/C/
\\wsl.localhost\Ubuntu
They’re also doing the same for Windows 11 by default now too I believe.
> In addition, if you have Hyper-V enabled, those latency-sensitive, high-precision applications may also have issues running in the host. This is because with virtualization enabled, the host OS also runs on top of the Hyper-V virtualization layer, just as guest operating systems do.
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-w...
But yes, everything I've read and experienced indicates that:
1. WSL2 IS a VM and it necessitates installation of certain portions of Hyper-V, which as Type-1 hypervisor, means your primary windows partition is no longer bare-metal but rather now a parent virtual machine.
2. This has impact on running other Type 2 hypervisors such as VirtualBox or VMWare etc; as well as some types of performance-intensive applications and games.
https://techcommunity.microsoft.com/t5/virtualization/hyper-...
I'd say vagrant did something in that area.
Look, if you want to tune your VM exactly to your liking then use a VM. It will give you a lot more control.
Rolling your own implementation with vmware poses the exact same security and compliance risks, but its way more likely to put a spotlight on you.
For example, VSCode integrates fairly seamlessly into WSL, so your app can be running in WSL but your editor in native Windows and they manage all the complexity of the host -> vm communication for you.
Ofcourse, node can be configured on windows too. But then you need different docker commands/builds and docker desktop now is not free for everyone, etc.
By the way, playing around with docker build for npm app within WSL, I happened to npm install the vulnerable ua-parser-js version. Security gave me a call and we were relieved that it was within windows-wsl-docker instance. So after validation, no compromise within upper layers. This was actually an eye-opener for me that, given the threats of npm and stuff, gave some serious bonus points for jumping into docker-fan-bandwagon.
Running VM takes more hassle (but is ofcourse an option). Setting up WSL and playing around was very easy. And you don't have to think about forwarded ports and mapping file system. And running "code ." within WSL felt good - vscode poped up locally but terminal/code is actually on WSL. And you get to browse your localhost on Windows that is actually on linux. Doable on VM, but then one needs to know how to configure ssh, passwordless auth.
If you are Linux-first user, yeah, maybe you don't see value. But think about it - this is also introducing windows folks to Linux!
I highly doubt that. Nobody is playing around with WSL for fun, and it's more annoying to get into than just writing a USB and booting Linux directly. No, what WSL accomplishes is pulling people who need Linux due to its technical superiority away from Linux-proper. It's embrace-and-extend.
Finally a proper terminal in windows that makes it a worthy dev environment.
wsl2 with docker surpasses the osx experience now as well.
Integration etc. It's just much faster and easier to pop up a terminal window straight into a shell on WSL than it is doing the same through a third party virtualization system.
>Who here is writing software which runs on Linux, yet needs to be running Windows while they do it?
Me ? Enough people that it justifies putting time into WSL and adjunct software (Windows Terminal) ?
There's certainly enough software on Windows that I need, especially on the audio/video front but also stuff like Visual Studio for my C# code. And there's UNIX software I equally need (headless vim and anything that runs on the CLI). It's a near perfect fit for me.
Sure you could write a similar script in Powershell or cmd, but its a headache I don't need.
I'm currently wrestling with Ubuntu because IntelliJ will crash hard when opening a Java project on a WSL path.
When it doesn't crash (downgrade the jbr) it will fail to establish the RMI connection with the mvn process in Linux.
In a previous Scala project I also had to go Ubuntu native because the IntelliJ sbt plugin would run the Win10 jvm even when running in the WSL2 context.
So, yeah... there's enough differences to make it unusable for me.
Or just gone MacOS as I’ve done for 15 years. I tried out windows out of exasperation for Apple’s latest intel lemons and out of curiosity, wondering if the grass has finally grown on the other side of the wall. Nope, still the same
I do, because desktop Linux is a pile of burning garbage. Do we really have to reiterate this point every time?
Never been happier in my job then the day I realized I can run my full Linux dev environment on Windows.
If you folks like spending your free time configuring Linux or virtual boxes on Windows, feel free to do so. But please don't act like "you just don't understand". I don't wanna debug the OS in my free time, I would rather go hiking.
Purely subjective. I personally think that Windows is a pile of burning garbage, YMMV obviously.
My own desktop linux experience in the past ~5 or so years has actually been better than my Windows experience. Nowadays, I use a mix of Linux and OS X with a lot more time spent on Linux[1] and I'm very happy. The only thing I consider perhaps installing Windows for some day is games, but between SteamOS and Proton, even that is very low on my priority list and if I did want to do it, I'd probably install it in a VM with GPU passthrough rather than running it directly.
I've been using Linux in various capacities (at home, not just on servers) since maybe 2006 or 2007, sometimes as my primary system, sometimes dual booting, sometimes in VirtualBox, but I've pretty much switched away from Windows entirely (last time I had a Windows install was 2015) and while I have a Macbook I use, my primary machine is a Dell XPS running Linux. I wouldn't even consider using Windows anymore, I've never been happier than when I left it behind for good.
> If you folks like spending your free time configuring Linux
I see people who don't use Linux say this, but its just not true. I spend exactly zero time configuring Linux, outside a half a day of initial setup (which, when I used Windows, is also how long I'd spend setting that up after an initial install) and much of that is largely because I can configure it to suit my particular tastes, not because I have to, outside installing a some stuff from the package manager (but again, I'd have to install the software I want on Windows too). Sure I spend more time on the commandline doing this than you might on Windows, but I prefer the commandline so it feels largely a choice rather than a necessity. I spent just as much time "fiddling" with drivers and settings on my last install of Windows as I have with my current install of Linux. I actually have a very low tolerance for dealing with shit not working.
> I don't wanna debug the OS in my free time
I've had more bugs in my last year of using Windows than I have in my previous year of using Linux. I've had to debug more Windows issues on family members laptops than I've ever had on my current Linux laptop.
I personally don't want to deal with all the live tiles and advertisements that Windows had on my mothers laptop. With Linux, I have nothing that I don't want (and if a distro installs stuff I don't want by default, its usually trivial to remove).
[1] As of about 2 years ago, prior to that the split was reversed, but that was largely due to my work at the time.
And installation was a no-brainer.
One service call, dead power supply, in 6 years.
Reckon I’ll swap in an SSD at some point because the decade old spinning rust has to be on its last legs at this point.
I don't know if Mint's arrangement will be as sensitive to it as Windows, but when we swapped an old SSD of mine into a friend's laptop the boost it was enough to quickly take it from “this thing needs to go in the bin after a meeting with a lump hammer” to being her main workhorse.
So I only tinker when I choose to, in order to customise things that are either not possible in Windows, or would require just as much (or even more) tinkering on Windows. That's not a con for Linux, if anything its a pro. Its purely optional.
The only parts where people may spend time tinkering with Linux that I'd consider a con is to get unsupported hardware to work, but that's only easier on Windows if the hardware comes with Windows drivers. If there are no good Windows drivers available, your out of luck and no amount of tinkering will likely get it working. But its been years since this has been something I needed to do on Linux (but I also do a quick search online to check that my hardware has Linux drivers before buying hardware, but those 5 minutes are hardly "tinkering").
Interestingly, I recently bought a cheap drawing tablet and it actually works better on Linux than it does on OS X when using the official drivers (but Linux default tablet drivers support basic functionality out of the box and the OSS Digimend drivers may be getting support soon to, going by the github issues).
And we still have time for hiking.
For me, when I buy a new laptop and half the drivers aren't working, that's an immediate deal breaker.
I literally won't allow myself to get into that situation again, not for love or money.
Anyone whose job also involves writing Word docs, PPT presentations, Excel spreadsheets and Visio diagrams, and communicating via Teams. The web versions are very much second-class citizens to the Windows applications.
> desktop Linux is a pile of burning garbage
That's not my experience at all. I have two nearly identical Dell XPS13 laptop. My Windows 11 laptop is considerably more unstable than the Ubuntu 21.10 one.
Now I'm in Windows most of the time, I am constantly reminded of little Win annoyances...
For instance, inability to rename an open file.
Or updates. Updates on the Ubuntu one take a few seconds, and rarely need a reboot. Updates on the Windows one take more like 20 minutes and always need a reboot, which itself takes 5 minutes or so.
That depends on whether the app that opened a file holds a lock or not. For example you can rename an open file in notepad or VSCode.
Maybe there are some apps that release the lock, but 99% of windows apps lock the filename, and its part of the "reboot after installation" dance for a lot of things.
Even macOS is starting to grate at times the last few years for similar reasons. I don’t think I like any desktop OSes these days, but running Ubuntu requires the least effort for what I do (and basically no debugging, at least for the last few years), so between it and my Mac it’s been a bit better.
I just had to forcibly uninstall wireless drivers to attempt to upgrade them (with multiple reboot cycles in between, yuck) all to attempt to fix wifi issues (following advice from Metabox’s support team) on my Windows laptop.
It didn’t work. Still garbage. Works great under Ubuntu though.
The only winning move is not to play. Throw your computer in the trash, go for a hike, and never come back.
It works seamlessly with Docker Desktop, the MS terminal has built in support to switch between WSL 2 distros and you don't need to set up an X server to run what feels like a native Linux terminal emulator from Windows like you would if you manually ran a VM.
All of these are advantages over rolling your own VM. Around 6-8 years ago I used to run a self managed Linux VM on Windows with VMware Player and Unity mode. Current day WSL 2 is better in pretty much every way for general purpose web development and wanting to use the command line from Linux.
Backend developers at .NET shops who were issued Windows laptops by their companies.
$> wsl --install -d Ubuntu-20.04
$> wsl
$> sudo apt upgrade
$> sudo apt update
$> sudo apt install emacs
$> git clone https://github.com/.../.emacs.d.git
$> emacs --daemon
Shortcut on desktop (with VcXsrv running):C:\Windows\System32\wsl.exe bash -c "export DISPLAY=localhost:0.0 && export LIBGL_ALWAYS_INDIRECT=1 && export XCURSOR_SIZE=16 && setsid emacsclient -c"
But if I had to choose between the too, I would favour the longevity of Cygwin.
I began this journey before VMs on the desktop existed, and although I have used VMWare and VirtualBox, I found them cumbersome vs my preferred approach which was to make the Windows shell work like Unix (then Linux). For most of history I used Cygwin for this. You click a button and get a shell where you can run your build, utility commands etc, and you can use Windows native IDE such as IntelliJ.
I'm now a heavy WSL2 user. For me it is : Cygwin that works perfectly (since it's running a real Linux kernel and distro).
Yes, underneath it's a VM but the implementation is extremely fast and well integrated. I still get to click a button and have a shell I can run my build in. Filesystem access in both directions works. Docker even works. I no longer need to worry that yarn behaves oddly when running on Windows.
I don't (for this purpose) want "total control", I just want it to work out of the box. I also want it to keep working when my NT kernel updates, which can't always be said for VirtualBox and kin.
* I wanted to work at the Linux command line without exiting windows/rebooting
* I didn't know anything about VMs. What options are available, cost, how to set them up etc..
* zero-knowledge to installation took 5 minutes.
Lots of developers: NodeJS, Ruby, Python, Data Science folk... They typically deploy on Linux in production so often want Macs to get a POSIX-ish environment on their development environment (sadly, too few developers run Linux on their laptops).
Yes, VirtualBox is helpful. Many people use automation on top of it, too e.g. vagrant. But WSL2 arguably improves the dev experience by making it a standard, "out of the box" affair.
I see WSL2 as a way for Windows to compete better against Macs. It definitely isn't going to convince Linux fans to switch. But they can ask you to consider: you can now get a newer `bash' out of the box with Windows than macOS. Which OS works better for POSIX-stack development?
You're right on with WSL2 providing a standard usable environment though. Windows and Mac developers both need a ton of handholding to get started and WSL2 makes it a lot easier to hand them a wiki page and expect fewer 1:1 calls to tweak setups.
Linux. The one you're _actually_ using. Skip the proprietary ad company desktop and use what you're wanting to.
Previously I was using Multipass with Ubuntu (on Hyper-V) but that had some weird issues annoyingly, that WSL2 just doesn’t. It’s basically seamless for me at this point.
But my use case is narrow as heck.
I have a decent Windows for gaming (and to do the occasional actual Windows app development, but very rarely), so I use that for my work now (web development). The tooling is just better within WSL than natively in Windows.
I'm not sure about the actual overhead of WSL vs a full VM, but I've never experienced any problems with WSL and it's pretty seamless. A full blown VM running in VirtualBox just feels like a lot more overhead.
This goes beyond venv, virtualenv, nvm to having multiple database point releases installed, or underlying graphics processing libraries.
I like the speed and seamlessness of WSL2 but my nightmare on Windows and OSX has been the mismatch of versions which when you've 20+ projects over a few years starts to make keeping them all in running states a nightmare.
Is the WSL2 answer to VMs to use WSL2+Docker?
If you already use docker containers it's a win win.
It's not a use case. It's linux. Fusion and Virtualbox are terrible in comparison. With WSL2(g) you get GPU acceleration, audio, X apps and whatever distro you want (and running them in parallel if you so wish). VS Code in WSL with Docker is great - much better experience than MacOS if you ask me - especially with an architecture change.
If anyone is confused about the benefits of WSL2 like the above statement, here's a video demonstrating the automatic integration of Linux+Windows. A deep link to get past the install & setup:
https://youtu.be/A0eqZujVfYU?t=5m46s
tldw: The difference is WSL2 is more tightly integrated with Windows.
E.g. the WSL2 "Linux" environment can automatically "see" Windows drives and likewise, Windows can see into Linux mount points. You can immediately type "ls /mnt" and see the C: drive of Windows without any setup. In contrast, with full VMware/VirtualBox, I'd have to type in something like:
sudo mount -t cifs -o username=administrator //mywindesktop/c\$ /mnt/win-c
Of course, entering a command isn't a big deal for technical folks but with WSL2, you don't even bother with the ceremony of it. Also, network ports are automatically set up, so Windows & Linux can communicate with each other. It's lightning fast and seamless, unlike a full vm. Another UI convenience with WSL2 is normal Ctrl+V paste works unlike a Ubuntu vm where I had to mentally pause and remember to press Shift+Ctrl+V.I stopped running a full Linux VM unless I need the extra isolation for investigating malware.
There are plenty of companies that are locked in to Windows for their workstations but have servers running on Linux. Many financial companies for instance. As a developer you have the choice of developing in Windows, in a VM or in WSL2. I personally find WSL2 the lesser evil of the three.
* It broke my ability to flash my ESP32 via USB (guessing WSL2 has trouble accessing USB devices)
* It uses significantly more RAM than WSL1
* There is performance problems when working on NTFS partitions, or at least there were when I tried it: https://github.com/microsoft/WSL/issues/4401
So answer your question: this is one Microsoft's newer efforts to lock people into Windows. This is one of the ways which are not locking people in by force; this one works by inducing complacency.
I started out in a virtual machine before wsl2. I want a terminal that interacts with the Windows environment (easy copy paste, mouse support in terminal, no lag of running graphical environment in terminal), so I was sshing into my virtual machine. wsl2 skips that step. I was sshing into wsl until Windows Terminal since before that I was using some Chrome SSH app which had mouse support
- starts instantly
- takes as much memory as it uses
- just works
No setup, No config, no fuss. It doesn't get any easier than this.
https://github.com/microsoft/WSL2-Linux-Kernel/blob/linux-ms...
https://github.com/microsoft/WSL2-Linux-Kernel/blob/linux-ms...
ext4 filesystems are well-documented, as are lots of other filesystems. There is no reason at all (apart from Windows lock-in, that is) that MSFT could not provide filesystem drivers for all of those other filesystems.
BTW, this is a very useful 'Extend-phase' feature from Microsoft that is actually pretty good.
\\wsl$
\\wsl.localhost\Debian
https://www.thewindowsclub.com/how-to-read-ext4-in-windows-1...
Legend says it was so heavy it sucked.
Ba dum tsss
Linux won on mobile (Android - 70%+), server (hard to say, maybe 90%?), cloud (same) and "big" embedded (have no idea, but it's used for most retail routers, various tools, etc), it can't be extinguished.
If anything, this is a stab at Apple as it's reaching for web developers using Macbooks. Nobody who uses Linux because they want to is going to use WSL.
Desktop Linux marketshare is minimal.
At least know your enemies :-)