Making Windows Bearable for a Linux User

Alejandro Nadal
5 min readMay 29, 2023

Disclaimer: I am not endorsing Microsoft software in any way. Quite the opposite, in fact. This is just a a series of tips to make the Windows OS more palatable for seasoned Linux users.

Penguin using PC
Tux is always ready to help out! Source: DALL-E

It is not unusual for Linux users to occasionally need to switch to Windows for certain tasks. More often than not, this is not due to any deficiencies in our beloved penguin-powered software, but rather because of existing infrastructure, legacy software, or similar constraints.

For those who have found themselves in this situation regularly, I do feel your pain. It does feel like exiting a free-flowing highway only to plunge into a bottlenecked traffic zone. Windows is not an OS inherently designed with developers or power users in mind. However, there are some strategies that can make this journey a little smoother. Below, I’ll outline some recommendations:

Use a package manager

“Packaging manager in Windows?”, you might ask. “Since when?”

While it’s true that you shouldn’t expect tools as powerful as apt, yum, or pacman in Windows, a few dedicated developers have crafted solutions that can do the job reasonably well. To name a few: scoop, winget, and choco.

Personally, I stand by choco. It boasts a vast software library and a very clean, intuitive CLI. It will significantly cut down the amount of googling required to install software. Sadly, the latest versions of software aren’t always available in their repositories.

Installing with Chocolatey, or any other package manager for that matter, significantly reduces the risk of getting bloatware, viruses and other undesired pieces of code.

One crucial tip: remember to run choco in a terminal with administrator privileges.

Set up Windows Terminal

But I already have that, don’t I?

You might not. While all Windows OS come with the traditional cmd.exe, this is essentially a somewhat cumbersome emulation of a DOS environment. After several decades of neglecting the needs of power users, our friends at Redmond have finally released a more modern tool: Windows Terminal.

Windows Terminal is available on the Windows Store and offers GPU-accelerated text rendering, tabbing, a terminal multiplexer, and an impressive set of shortcuts. It seems the adage ‘better late than never’ holds true, right?

Install GNU CoreUtils

A big part of the appeal of being a terminal user lies in having a robust toolset at your disposal. As a Linux user, you are accustomed to a rich environment, so full of possibilities that you cannot fathom to actually master them all.

The soil is quite dry on the other side of the fence, right?

A Linux terminal user will see one of these every 2 minutes in Windows

Of course, Powershell exists. A skilled PS user can work wonders with it, and it indeed offers excellent possibilities. However, if you are already a PS expert, or at least, fluent in it, you are probably not a regular Linux user. If you are proficient in both Powershell and Linux user, I tip my hat to you.

For those who’d rather not invest the time to become fluent in PowerShell scripting, there’s a way to get similar functionalities from your Linux terminal in Windows: install the GNU CoreUtils. These tools cover all the basics, including commands like ls, cat, sync, wc, du, nice, sleep, su, seq, and so on.

You can download them from the official Coreutils WebPage. But if you’ve been following along, you now have a package manager, so you can simply:

choco install gnuwin32-coreutils.portable

Terminal-Based File Editing

Navigating through files shouldn’t require you to reach for your mouse every time you need to open a file. Without the ability to do this, you may find yourself exiting the terminal, opening a file manager, and traversing through directories just to open a file in a text editor.

Fortunately, you can enjoy the convenience of familiar tools like Nano or Vim right in your Windows terminal. They may not be the latest versions, but they’ll work nearly as well as if you were on Linux — and that’s certainly better than nothing.

choco install vim

Harness the Power of Windows Subsystem for Linux

“But I thought we were trying to avoid Linux in Windows?”

Well, not exactly. While the goal is to make Windows more comfortable for Linux users, there’s no denying that having a full-fledged Linux environment can be a game changer.

Enter the Windows Subsystem for Linux, or WSL for short. This is a compatibility layer that allows you to run Linux binary executables natively on Windows 10 and Windows Server 2019. In simpler terms, it’s like having a little Linux machine living inside your Windows system.

With WSL, you can choose from several distributions, including Ubuntu, Debian, and Fedora, among others. This means you can use the same commands, run the same software, and even use the same package managers as you would in a regular Linux environment. It’s almost like being home again, right?

To install WSL, you’ll need to head to the ‘Turn Windows features on or off’ section in your control panel, check the appropriate box, and restart your machine. For detailed instructions, check out the official Microsoft documentation.

So, while it may not be a perfect replica of a full Linux system, why restrict yourself to the Windows way of doing things when you can have a taste of the best of both worlds?

Dear fellow Linux user, I hope your days of using Windows are numbered, and ideally we’re talking single digits. Nevertheless, if you must tread this path, I sincerely hope these little tips and tricks will make your daily computing life a little more enjoyable.

Until next time,

Alejandro

--

--

Alejandro Nadal

Software Engineer. FOSS Advocate. An Argentinian living in Switzerland, attempting to write a few words.