The topic I switched to Linux without losing my Windows workflow — here’s how WSL made… is currently the subject of lively discussion — readers and analysts are keeping a close eye on developments.

This is taking place in a dynamic environment: companies’ decisions and competitors’ reactions can quickly change the picture.

Switching OSes is not easy, that’s why I’ve always got a Linux virtual machine handy in case I need another OS for a task. If you’re switching fully, you’re going to have to give up years of muscle memory, keyboard shortcuts, folder structure, tools that just work, and more overnight. That idea alone is enough to keep people at bay, no matter how easy or beneficial another OS might be.

Now there are options that let you use multiple OSes on the same computer, sometimes even at the same time. But whether you’re spinning up Docker containers or maintaining half a dozen virtual machines, they still require some expertise to use. That is, until you try WSL on Windows. I no longer have to tax my system running a heavy VM or restart entirely. WSL makes Linux available at the click of a button.

Using Linux reminded me how Windows quietly excels at drivers, settings, apps, and gaming without demanding constant tinkering.

WSL or Windows Subsystem for Linux, lets you run a full GNU/Linux environment directly on Windows—no VM, no dual-boot partition, and no rebooting required. Previously, WSL used to work with a compatibility translation layer, which was clever but had performance limits. Since the launch of WSL 2 however, Microsoft now runs an actual Linux kernel inside a lightweight virtual machine, which dramatically improved compatibility making it an actual option if you wanted to do serious Linux work.

The major difference here compared to something like VirtualBox is how deeply Windows and Linux integrate together. From inside WSL, you can call WIndows executables. From Windows Explorer, you can access your Linux filesystem at wsl.localhostUbuntu. Files, environment variables, the network stack, and just about everything else shares the same space. There are plenty of virtual machine software for Windows 11 but none of them integrate as cleanly as WSL does.

My daily workflow revolves around several programs: VS Code for writing and editing, Git for version control Python and Node.js for scripting, a bunch of terminal time. Setting up any new environment which requires dozens of programs to work together can come with friction. WSL? Not so much.

The VS Code WSL extension is a real joy to use. You type code . from inside your WSL terminal and VS Code opens ip on the Windows side. However, the backend, including the language servers, linters, debuggers, and terminal all run inside Linux. This means you can write Linux-native code from inside a Windows-native editor. IntelliSense works as expected and the integrated terminal is bash. Git commits too happen from the Linux environment.

I did however, keep my files native to Linux’s EXT4 file system rather than Windows’ NTFS for performance. Project files were kept in the Linux file system under /home/ rather than mounting from /mnt/c which made large file operations like builds, dependency installs, grep across large codebases and more considerably faster.

If you’re wondering that you’ll be stuck with a Linux terminal when using WSL, you’re wrong. You can use WSLg, built into WSL2 by default, to use Linux graphical applications directly on your Windows desktop without needing an X11 server or anything similar. Under the hood, the Linux app connects to a Wayland compositor that streams frames to Windows using RDP (Remote Desktop Protocol), and Windows displays the final result as a native-looking window. You can even pin it to the taskbar and alt-tab between any Linux programs and your Windows apps as usual.

The practical effect of this is that Linux apps will stop feeling like a science experiment and more like tools you can actually use. Anything from GIMP, file managers, and even full desktop text editors can all run alongside your everyday Windows programs without any special arrangements or performance hits.

WSL was designed to keep Linux users comfortable on Windows, but it usually tends to do the opposite. The more time you spend inside a real bash environment, running real Linux tools, the more the Windows side starts to feel like the guest.

Just because you can run a full OS on a VM, doesn’t mean you should.

At this point I spend quite a lot of my time inside WSL running Docker containers, managing scripts with systemd, customizing my shell with zsh and Starship, and much more. Now, the jump to a native Linux install has stopped feeling like a leap and more like removing a minor hurdle. The muscle memory is already there, the tooling is already familiar, and I already know where everything lives.

WSL doesn’t replace Linux by any means. Anyone who’s moved to a native install will also vouch for the fact that there is a performance difference as well, especially on memory-intensive tasks and large builds. But as a bridge that gets you comfortable with Linux without leaving the safety of Windows, WSL does an excellent job. It lets you carry your Windows habits long enough to grow Linux ones, and by the time you’re ready to make the switch, you pretty much already have.