I finally switched to a Linux Desktop
And I wish I’d done this years ago.
I first started experimenting with Linux when Mandrake was new (and I also remember installing Unix on an 8086 using around 70 floppies!). Still, my main workhorse was always a DOS, then Windows PC.
I still have an old MacBook and a slightly less-old Mac-Mini, but I am not particularly fond of Apple Hardware or OS for coding. Personal opinion, and I’m unlikely to change ;)
Recently, I’ve been using a remote Ubuntu Server box with VSCode’s Remote-SSH extension for development (Python/JS/HTML and friends). Remote-SSH is brilliant and allows me to properly develop on Linux while still using Windows. I’ve also used the Remote-WSL extension, which sometimes could be pretty laggy. Finally, I have a Windows 10 laptop that live-boots Ubuntu Desktop if I need to travel.
So that’s the history. Recently, however, I’ve been very frustrated at how damn sloooooow Windows is getting and the increasing number of crashes, so I decided to bite the bullet and use Linux as my primary development and day-to-day system. I chose Ubuntu Desktop since I have been using the server versions for years and am very comfortable maintaining and updating Debian-based Linux.
I planned to dual-boot with my existing Windows OS (well, I have a lot of Blizzard games and a massive Steam library!!) and installed a spare SSD I had lying around to hold the Linux partitions. So, I downloaded the latest Ubuntu ISO (22.04 at the time of writing), fired up Rufus on my Windows box and burned a USB.
Installation was a breeze; be sure which hard drive you are writing to (don’t overwrite your Windows if you are planning a co-existence!) and select the option to dual-boot if you are going that way.
On first boot, the Grub menu came up with options for Linux or Windows. I chose the former option and was quickly sitting at a nice clean Gnome desktop.
As I have mentioned, I do regularly use an Ubuntu bootable USB. Still, I was amazed at the increase in speed and responsiveness a proper native installation gave me — it certainly made Windows seem like I was working underwater. It probably took me a couple of hours to get it set up with the latest Python/Ruby/VSCode and all the other necessities of life — this was painless and automated with my ‘Linux Comfy Chair’ scripts. However, I needed to play around a little to ensure the desktop was using the latest NVIDIA drivers and properly configure my triple-monitor setup. But, again, that was pretty painless and required in a new Windows install too.
Since then, I’ve been fully productive in Full-Stack development and never once felt the lack of anything from Windows. I still can use the Remote-SSH extension if I need to develop over SSH; docker works just the same (I rarely used the Desktop functionality anyway). Everything I use daily, like Postman, VSCode, Slack, Discord, and others, works the same. Netflix, YouTube and other media work flawlessly. Unfortunately, there is no native Linux version of iTunes though that’s probably a blessing. If I wanted, I could run that under Wine. I hear you can even run Steam on Linux with Proton, which runs many Windows-only games.
So, it’s been about two weeks, and I have rarely booted back into Windows for anything more than a quick game. I generally leave the computer in suspended mode overnight for a fast startup in the morning with everything running as I left it (a lot faster than Windows Hibernate btw). The whole system seems faster and more responsive and I’m sure I’ve not swore at the screen even once yet.
If you are sitting on the fence over trusting Linux as your primary OS, give it a try on a bootable USB or if you have the space side-by-side as a Dual-boot.