Checklist for switching from Windows to Linux

Every year, the reasons to switch from Windows to Linux grows more and more. Linux distros are more user friendly than they used to be. In terms of difficulty, it is probably like switching between iOS and Android except that you need to setup the Operating System yourself.

Here are things to consider when switching from Windows to Linux.

Motivation

Windows is easy to use, the clear choice for gamers, has large hardware driver support, and it powers the majority of desktop machines.

Why change you might ask?

Linux dominates the public server market share. Nobody disputes this, the only question in contention is by how much.

I will leave this question left unanswered, you did not come here for reasons to switch. You came here because you want to switch but looking for a checklist to see if you have all the necessary ticks.

I do want to say Linux is neither just for old computers nor is it a poor man’s modern Mac OS.

Identifying the preferred distro to use

A lot of Linux distros offer Live DVD/CD/USB options where you can download the installer image, write the image to your media of choice, then boot from it. You should be presented with option to try or to install.
Go ahead try it, and if it does not work right (i.e. hardware driver issues, network problem, etc.), try an older version of the distro.

Note: In case you do not know what distro means, it is short for distribution.
Some of the popular distros for personal desktops/laptops include Ubuntu, Mint, Debian, Fedora, openSUSE, just to name a few.

Ubuntu, specifically Ubuntu Gnome was selected as my distro of choice for the following reasons:

  • It is very popular; has active community of users sharing problems and solutions
  • Having had experience using Ubuntu and its low requirement variant Lubuntu albeit on non-primary machines
  • Based on Debian, so as Raspberry Raspbian which I have been tinkering with; lowers my learning curve
  • Can install, build and run .NET Core; so that I can do development
  • Available as an O/S option on AWS, Azure and GCP; keeping development environment closely aligned so that I can develop and test locally without a VM
  • Ubuntu is changing from Unity to Gnome; It makes more sense to get familiar with Gnome now rather than getting too comfortable with Unity (the current default graphical shell). Also, I believe this should allow for a more seamless upgrade when the next major release appears.

The try option is non-destructive. Use this option to identify your preferred distro.

Hit the Super (Windows) key, it will bring up menu on the left, workspaces (multiple desktops) on the right sidebar, and thumbnails of active apps on the current workspace in the centre.

Gnome Activities

Note: I was trying out Ubuntu Gnome 17.04 but encountered issues performing DNS lookups.
The installer could not contact its update servers. I found out that a bug in 17.04 ISO release was affecting me because I have DNSSEC enabled on my router. My remedy (not the most ideal) was installing version 16.04 then upgrading to 17.04 where bugs have been patched.

Hardware checklist

Network - Ethernet and Wi-Fi

Gnome Network

This is probably the most important for everyday user. It is possible that you for your machine, only one of them works. In such a case, you should be able to get onto internet to download driver to get the other one up and running.

Display

Find out if Linux is able to detect and use the appropriate graphic card drivers.

Some distros do not package proprietary software. Such policies (if exists) may also extend to hardware drivers. If the open source driver does not work, find out if proprietary drivers exist for your specific graphic card model.

Verify that secondary monitor (if you have) works.

Gnome 3.24 comes with Night Light option, similar to what you get oscreen Windows 10.

Gnome Night Light

Webcam

There is an app available in the Live USB of Ubuntu that you can use to test this out.
Press the Super Key on your keyboard. This will bring up the Activities view in Gnome which is somewhat equivalent of Start Menu combined with Alt+Tab. Then search for “cheese” without the double quotes. Launch the app, it should be able to auto-detect your webcam.

Gnome Cheese

If this does not work, check for Linux driver availability on manufacturer website.

Printer & Scanner

Verify that Linux drivers exist for your printers and scanners.

In my case, my printer could print but it always prints in colour despite choosing grayscale. This is not a showstopper but certainly annoying.

Unfortunately for the scanner (over network), support for this is non-existent. I have to hook to the scanner using USB port.

Software checklist

Online storage

Nautilus Dropbox

Dropbox works well. Not so with other mainstream options.

You can browse Google Drive via Gnome Nautilus (the equivalent to Windows Explorer). However, it takes minutes to list contents with no offline support.

Web browsers

Firefox comes with most Linux distros. You may have to manually enable “Play DRM content” under Preferences > Content if you want to DRM content, i.e. Netflix.

If you want Chrome, you either install Chromium or Chrome.

Gnome Chromium

As for the key differences, user dmazzoni on reddit said:

Some important components of Chrome aren’t available under an open-source license. Some examples include some audio and video codecs, the PDF reader, and Flash.

Unless you are very religious about going for 100% open source option, you are better off with Chrome.

Alternatively, you could try Opera, it comes with free VPN.

Media players

Ubuntu comes with a media player out of the box. It is simple to use and works well.

If you want something more configurable, you can try VLC. It works on Windows, Mac, Linux, Android, iOS.

VLC

Another player that you can find on both Windows and Linux is SMPlayer. If your computer does not have enough processing power to play YouTube smoothly, I would suggest using SMTube.

Chat

Office

LibreOffice comes pre-installed.

LibreOffice Calc

It can open/edit Microsoft Office files but you may encounter minor incompatibilities such as alignment issues.

Note organiser

You can use OneNote, Evernote, or Google Keep online.

I am aware that there is a desktop client for Evernote on Linux called Whatever. I tried it but to me, I find that it is just an Electron wrapper over the web version of Evernote. Instead, I use Chrome pin tab on Evernote web.

Chrome pin tabs

Graphic editors

GIMP Single-Window Mode

Try GIMP, it is simple and great. In the screenshot above, I have toggled GIMP to use Single-Window Mode. Otherwise, the default setting floats the left and right pane to separate windows.

Compression

Ubuntu comes with Archive Manager and is integrated with Nautilus so that you can right click on files and choose to Extract, Compress, etc.

Nautilus context menu compress

You will have to use Terminal (command line) to reach out to advanced options, i.e. choosing compression strength.

Software Development

Visual Studio Code, the editor of my choice. Works on Windows, Linux and Mac. Has vast extensions to choose from.

Visual Studio Code

File transfer

For FTP, you may use FileZilla.

For SFTP, I prefer WinSCP instead of Nautilus built-in functionality. However, there is no Linux version available. I had to use a workaround to get it to run on Linux.

More on that below.

Games

As mentioned from the start, games work best on Windows.

That said, Steam is available for Linux albeit with fewer games.

Steam

To install:

sudo add-apt-repository multiverse
sudo apt update && sudo apt install steam

Running Windows apps on Linux

To be able to run (not all, but some) Windows apps on Linux, I installed Wine. After installing, to run a Windows app, right click on the EXE then “Open With Wine Windows Program Loader”.

Nautilus Open With Wine

To see a list of what works and what does not, see Wine AppDB. In general, portable apps tend to have better success at running. For example, portable WinSCP on Wine:

Wine WinSCP

Virtual machine

If Wine does not work for you, your only remaining option is to use Virtual Machine. For that, VirtualBox works well.

To install via Terminal:

sudo apt install virtualbox virtualbox-ext-pack

VirtualBox

Be sure to give it enough RAM and 3D acceleration.

Bonus

Encryption

On Windows 10 Pro, there is BitLocker, a full-disk encryption tool.

When installing Ubuntu, there is option to opt for full disk encryption. However, after using for a half a day my file system corrupted. I did not spend time doing post-mortem, instead re-installed Ubuntu without full disk encryption but with “Home Folder Encryption”. This works for me as I keep personal files within my home folder and I do not use swap. With 8GB RAM, there is no need for swap space on disk despite having many Chrome tabs, VS Code, Virtual Machine, all running simultaneously. RAM usage peaks at 90% without nagging low-memory prompts.

Backup

There is a simple backup tool that comes with Ubuntu called Déjà Dup. It can be setup to backup the home folder with encryption, can exclude one or more folders, and can be configured to run on a schedule.

Déjà Dup

I encountered an issue regarding permissions. It turns out that my home folder contained folders not “owned” by me.

Run Terminal, it should automatically start at your home folder.
Then type ls -al. You should be seeing output like this:

leowkahman@leowkahman:~$ ls -al
total 380
drwx------ 48 leowkahman leowkahman 12288 Sep  23 01:14 .
drwxr-xr-x  4 root       root        4096 Sep  15 22:28 ..
drwx------  3 leowkahman leowkahman  4096 Sep  17 14:55 .adobe
drwxrwxr-x  4 leowkahman leowkahman  4096 Sep  16 01:31 .autorest
-rw-------  1 leowkahman leowkahman  7435 Sep  22 21:48 .bash_history
-rw-r--r--  1 leowkahman leowkahman   220 Sep  15 22:28 .bash_logout

Ignoring the line with .. because this means “up one level”, for all folders within your home folder, you should be seeing your username on two columns. Otherwise, execute the following command to fix it:

sudo chown -R <your username>:<your username> <folder>

Closing words

Windows Subsystem for Linux is nice to use but running full Linux is way better.