A few days ago, I was asked by a long-time Windows user, how steep the learning curve for Linux is, as he wanted to make the transition from Windows to Linux, due to privacy concerns relating to Windows 10. This post is essentially a longer and more thorough answer than the answer I originally gave him. As such this post is oriented towards the average Windows user whom knows little, if anything, about Linux and is not necessarily otherwise technologically-knowledgeable. On this site there is a glossary page, to which I would like to ask you to refer if any term I use is unknown to you. If you cannot find a definition for any term that confuses you there, please contact me.

What is Linux?

  • Further information about Linux can be found in the glossary

Linux is a >300-member family of Unix-like operating systems, that share one common, defining characteristic: they use the Linux kernel as their operating system (OS) kernel. The majority of these operating systems also use GNU Project software for their basic Unix utilities and hence have also been referred to as GNU/Linux systems. Each individual member of the Linux family of operating systems, is called a “Linux distribution” (for which I will be using the acronym, LD and the abbreviation “distro”). The most important differences between Linux and Windows from the point of view of standard users:1

  • Most LDs are available free of charge,2 while Windows is not. If you have bought a new computer with Windows preinstalled and you are thinking, “I did not pay for Windows, it came with the computer.” I am afraid you are mistaken. Part of the cost of your computer was likely for the Windows operating system that came preinstalled on it. Unless otherwise stated, all LDs mentioned by name in this post are available free of charge.

    Unfortunately, however, the vast majority of computers (if not all of them), that you can purchase from your local technology store will have either OS X or Windows preinstalled, so while you can still install Linux on these machines (either alongside OS X/Windows, or over them) for free, you will still end up paying for a proprietary OS like OS X/Windows anyway. You can buy computers with no OS pre-installed from selected vendors online, the problem with these computers is that by-and-large they will be barebones PCs, which you will need to assemble yourself. This process (I should mention, I have never done this myself, so this is second-hand information I am relaying) requires some technical know-how, so it may not be suitable for standard Windows users. Barebones PCs usually cost substantially less than their pre-assembled counterparts, though, and it is not just because of the fact they often include no preinstalled operating systems. So if you are desperate to cut costs, it is an option, provided you can spare the time.

  • Linux is Unix-like, Windows is not. Windows systems do not follow the Unix design philosophy and as such have fundamental differences from corresponding *nix systems such as Linux. These differences are most evident by examining the file system structure of Windows and comparing it to that of Unix-like systems such as Linux. Windows uses single-letter, with a colon afterward, prefixes to distinguish between hard disks. C: is used for the hard drive on which the presently-running Windows system is booting from. Folders in Windows are denoted using back-slashes \, for example, a user named Brenton’s home directory may be located at C:\Users\Brenton. Linux’s file system, on the other hand, does not use any prefixes and rather uses forward-slashes to denote directories. For example, a user named Brenton would have a home directory at /home/Brenton. Unix also has its own set of command-line utilities (which vary from operating system to operating system; Linux distributions by-in-large use GNU command-line utilities) and an interpreter called an Unix shell (which also varies according to one’s Unix system; the default on most Linux distributions is Bash, although I feel more comfortable using Zsh, myself).

  • A variety of desktop environments (DEs) to choose from. On Windows systems you are stuck with one desktop or graphical user interface (which looks a little different between Windows versions), your customization options beyond changing your wallpaper and theme, are fairly limited, unless you use some DLL hacks which can be damaging to your system. Linux systems have a variety of different desktop environments available, each can be customized according to your own preferences, without damaging your system. The most popular Linux desktop environments, include: Cinnamon, Enlightenment, GNOME, KDE, LXDE, LXQt, MATE and Xfce. Of these Cinnamon, KDE, LXDE and Xfce look the most like Windows NT. KDE and Xfce are the most popular of these DEs, while LXDE and Xfce uses up the least CPU and RAM of these. If you would like to have an OS X-like look to your Linux system I suggest using the less popular Deepin or Pantheon desktop environments, which are the default on the deepin and elementary OS distros.

  • Different software. You will not be able to take some of your applications with you when transitioning from Windows to Linux. Some applications run solely on Windows while others run only on Windows and OS X. Most proprietary games you have run on Windows will not run on Linux, or if they do they will likely not run as well. The only real exception are games written in the Java programming language (for example, RuneScape), as they run on any Java-capable platform, including Linux. Some Windows applications can be run on Linux by use of emulation software such as VirtualBox and Wine. For further details see the running Windows applications under Linux section. Most free and open-source software (FOSS), however, will run most natively on Linux.

  • Freedom. Linux has far more customizability options, for both the aesthetics of the system and its programs, and how its programs work and behave. You can make your Linux system look like OS X, Windows or something completely different.

  • How software is installed. Windows software is usually installed via downloading, double-clicking and going through their automated installer of files with the .exe or .msi file extensions. Installing Linux software is usually a little different and most software is installed via the specific distribution’s package manager. For some distributions, it may be possible to install applications via downloading (e.g., in a web browser) a software package (with a file extension that is dependent on the specific distribution in question), double-clicking it and going through the graphical package manager of the distribution.

Transferring Software

Most free programs you use on Windows you can take with you to Linux. The following table mentions some common categories of program, frequently-used Windows members of said category and some frequently-used Linux alternatives. Windows applications for which a suitable Linux alternative cannot be found in these tables or via other sources (Google is your friend, people) may be usable on Linux via methods outlined in the next section.

Table 1: Transferring from Windows Applications to Linux Applications

Category Windows3 Linux4 Notes

BitTorrent client

μTorrent†, Tixati†.

Deluge, KTorrent, qBittorrent, Vuze.

qBittorrent will likely be the most intuitive to μTorrent users. A browser-based version of μTorrent is available in Debian-based distros like Ubuntu, but I would not recommend it personally as it can be more trouble than it is worth.

Computer algebra

Maple*, Mathematica*, MATLAB* (with the symbolic toolbox).

Maple*, Mathematica*, MATLAB* (with the symbolic toolbox), Maxima, SageMath.

SageMath is my personal preference, as it integrates over a hundred different free mathematics programs in a single command-line or notebook (browser-based) interface. It has numerical analysis and statistical analysis capabilities too.

Document viewer

Adobe Acrobat*/Reader†, Foxit Reader†, Nitro PDF†, SumatraPDF.

Adobe Reader†, Atril, Evince, MuPDF, Okular.

Okular (the official document viewer of KDE) in my opinion, is the best FOSS document viewer as it is compatible with the greatest number of document formats.

Email client

Microsoft Outlook*.

KMail, Mozilla Thunderbird.

KMail is the default KDE Mail Client, while Thunderbird is developed by the Mozilla Foundation, the same foundation that provides the Firefox web browser. You can use Thunderbird on Windows, but it is not particularly popular on Windows.

Multimedia player

Media Player Classic†, MPlayer, SMPlayer, VLC, Windows Media Player†.

GNOME Videos (Totem), Kodi, MPlayer, Rage, SMPlayer, VLC.

SMPlayer and VLC are the most feature-packed (including the greatest support for a variety of media files) of these, in my experience. VLC can be buggy on Gentoo and Sabayon, however, in my experience.

Numerical analysis

MATLAB*, Scilab.

GNU Octave, MATLAB*, Scilab.

MATLAB is the gold (or benchmark) standard piece of application software for numerical analysis and is extensively used in academia and industry. GNU Octave and Scilab are free clones of MATLAB. GNU Octave is the most compatible, of these, in terms of its syntax and is easier to install on most Linux distributions.

Office suite

Apache OpenOffice, LibreOffice, Microsoft Office*.

Apache OpenOffice, Calligra Suite, LibreOffice.

IMO, the best Linux-compatible office suite is LibreOffice (LO), although IMO it is not as good as MS Office for my purposes (although, fair warning, I write a lot of equations in my word documents, and doing this in MS Word is easier than doing the same in LO Writer, due to the availability of keyboard-shortcuts for this in MS Word).

Statistical analysis



PSPP and R are GNU Projects, with R being primarily a programming language intended for statistical analysis. SPSS is a proprietary statistical analysis program, developed by IBM and written in Java. PSPP is a free clone of SPSS still in beta testing (i.e., a 1.0 release has not been made yet), that is written in C.

Text editor

Atom, GNU Emacs, gVim, Notepad†, Notepad++, Sublime Text*, Vim.

Atom, Geany, gedit, GNU Emacs, GNU nano, gVim, jEdit, Kate, KWrite, Leafpad, SciTE, Sublime Text*, Vim.

As you can see most Linux-compatible text editors will also run on Windows and while the reverse is mostly true there are exceptions. Atom is my favourite text editor, as it is extensively customizable, yet free and simple enough for my grandmother, who I think has probably never even used a computer, to use. [Truncated, click here for the full note]

Web browser

Google Chrome†, Internet Explorer†, Mozilla Firefox, Opera†, Safari†.

Chromium, Google Chrome†, Konqueror, Midori, Mozilla Firefox, Opera†.

Konqueror also has file manager features and is the default web browser of KDE. Midori is noteworthy for being particularly fast and having a lighter memory footprint than most browsers. Chromium is the open-source software project, sponsored by Google, on which they build the proprietary Google Chrome browser.

* is used to denote programs that must be purchased.
† is used to denote freeware (that is, you can use them without paying for them, but the developers do not allow free access to the software’s source code).
IMO: In my opinion.
MS: Microsoft.

Running Windows Apps

As previously mentioned emulation software can be used to run Windows applications under Linux. The most popular free and open-source examples of such software are VirtualBox and Wine. Both of which are available from the software repositories of most Linux distributions.

VirtualBox can be used to run Windows applications, if and only if you have the installation media (like a live CD/DVD) and the product key required for the Windows system you need to run the application under. This installation media costs money, however, so beware. Plus running Windows applications under VirtualBox means that your program will have less CPU processing power and RAM available for it to use. See your Windows Virtual Machine (VM) will be able to use at most one-third of your computer’s total RAM, and one-forth of your processor cores (e.g., my Lenovo Laptop has four cores, so I can only give my VMs one core to use). VirtualBox VMs also take a fair amount of hard disk drive space too.

Wine can be used to run some Windows applications, but not all. To see a list of applications known to run flawlessly under Wine see here. If the Windows application you wish to run takes a lot of CPU or RAM, than I would not hold your breath that it will run natively under Wine though, most Wine-compatible applications are fairly lightweight.

Which PC?

Which computer should you run Linux on? Well the answer is not clear-cut, virtually any computer can run Linux (several computers that are not even compatible with Windows or OS X can even run Linux), but some computers will have some devices that are off-limits to Linux. See one area in which Linux really lags behind the two more popular operating systems, Windows and OS X, is the availability of compatible device drivers. Device drivers (or just drivers) are computer programs that operate or control a particular type of device that is attached to a computer. Many devices require proprietary drivers. Example devices that sometimes require, or work better with, proprietary device drivers include some graphics cards and Wi-Fi chips. My Lenovo Laptop has a Broadcom BCM43228 Wi-Fi chip (which I, of course, use to connect to my Wi-Fi), which requires a proprietary driver usually referred to on Linux platforms as broadcom-wl, while my graphics cards (one is Intel, the other is NVIDIA) both have free and open-source device drivers available. Hence the only one of these that causes me much grief when I install a new distro is my BCM43228 chip.

Linux is so flexible in the variety of computers it can run on because it supports a larger variety of different CPU types (or architectures) than Windows or OS X. Linux can even run on older computers that do not meet the CPU or RAM requirements of the latest releases of Windows or OS X.

Which Distro is Best?

The best distribution for you to start out with, greatly depends on several variables. So many, that I cannot give you a straight answer, rather you will have to find out which distribution is best for you via experience. The easiest distribution for Windows users to use as a first distribution would have the following characteristics:

The Linux command-line on my openSUSE Tumbleweed installation.

The Linux command-line on my openSUSE Tumbleweed installation.

  1. A graphical and easy-to-use package manager. Most Windows users are not particularly comfortable with using the command-line for installing software packages and this is why a graphical package manager is probably best.
  2. Large software repositories containing thousands of at least fairly up-to-date software packages. This way the user will need to use alternate methods to install the software they need in fewer cases. These alternate methods are usually more difficult and error-prone.
  3. Liberal requirements on software package licensing. Some distributions only have FOSS in their software repositories, while others are more liberal and have some freeware in there too. Many programs you may wish to install are not FOSS. For example, most graphics cards and Wi-Fi chips have proprietary drivers or firmware that either outperforms their corresponding open-source driver/firmware or for which there is no corresponding open-source driver/firmware. My Lenovo Laptop, for example, has dual Intel and NVIDIA graphics cards as well as a Broadcom BCM43228 Wi-Fi chip. There are FOSS drivers for my graphics cards, which usually have inferior performance to their corresponding proprietary drivers. My Wi-Fi chip, however, requires proprietary firmware from the Broadcom corporation itself, so in order to access my Wi-Fi I need to install this firmware.
  4. A graphical installer. A graphical program for installing the distro, this is as opposed to distros that must be installed from the command-line, which can be quite disconcerting to Windows users.
  5. Out-of-the-box support for most hardware, like popular graphics cards and Wi-Fi chips. “Out-of-the-box” in this context, at least, means that this support exists by default, it is there as soon as you boot the live DVD or USB you are using to install the distro, you do not have to do anything to get this support yourself.
  6. A large and friendly online support community. This way if you encounter any errors with your installation, you can easily and quickly get free help. Beware though, many people in these support sites will believe that Linux is supposed to be a “do it yourself” (DIY) operating system, that is, if you have a problem that needs fixing, you have to work as hard as you can to fix it yourself (and gather evidence of this — often these people will not take your word!) before asking others for help. This is a belief they will often force on others, including newcomers to the distro. I personally think that DIY better describes the Arch Linux and Gentoo Linux distributions and FreeBSD than Linux, in general. Unfortunately, this view is not shared by everyone.

Most distributions fulfill at most four of these requirements.

Specific Distributions

Examples of distributions that fulfill at least four of the aforementioned requirements, are mentioned in the sections below, with the requirements they fulfill listed in brackets.


Fedora 23 with its default desktop, GNOME 3

Fedora 23 with its default desktop, GNOME 3

Fedora (1, 2, 4, 6), a distribution developed by its own FOSS community, but sponsored by Red Hat, the largest Linux company in the world. It has strict licensing requirements for all software in its official repositories, which means that many proprietary multimedia codecs, graphics drivers and Wi-Fi drivers will need to be installed from third-party sources like RPM Fusion. Fortunately, I have found one method that manages to install the drivers for my BCM43228 chip is running: user $  wget http://git.io/vuLC7 -v -O fedora23_broadcom_wl_install.sh && sh ./fedora23_broadcom_wl_install.sh 6 , from the command-line (although this is designed for Fedora 23 specifically, future releases may not be compatible with this command). Granted this command, in and of itself, does require a working Internet connection in order to succeed (to get such an Internet connection I borrow an Ethernet cable, usually).

I personally have found it more difficult to pick up than Ubuntu (partly because of inferior community support), but it uses, generally more up-to-date software than Ubuntu. The main support site for it that I have used is Ask Fedora. There is also an IRC channel for support questions, called #fedora. It has a less popular derivative with more liberal software licensing requirements and out-of-the-box support for Broadcom chips, Chapeau.

It is recommended that if you use Fedora, you upgrade your system to the latest release of Fedora (this upgrade process is called a distribution upgrade) at least once every nine-months. This process can be quite unpleasant, as software breakage (that is, when software you have installed on your PC, including device drivers, potentially, simply will not work anymore) is not unheard of after doing a distribution upgrade. Plus, there will be times when your computer will be practically unusable (due to how slow it is) during the upgrade.

If you would prefer to upgrade less frequently, but otherwise would like to have a Fedora-like system, I would recommend using CentOS. Distribution upgrades are only required for this distribution as infrequently as once every seven years. The main disadvantage of using CentOS as opposed to Fedora, is that CentOS’s system software is usually fairly outdated (roughly 1-3 years out-of-date I have found). Additionally the latest release of CentOS (CentOS 7), has support for only the x86-64 processor instruction set (while Fedora also supports processors with armhfp and i686 instruction sets), so older computers may be incompatible with CentOS. CentOS also uses Fedora’s old command-line package manager, yum, which means in the commands shown below for package management with DNF, one would substitute dnf with yum.

Fedora uses DNF for command-line package management, which installs RPM packages (file extension: .rpm), although the GNOME Software and Apper graphical front-ends are also available. To install software from the command-line, one merely runs:

user $  sudo dnf install $package

while to remove said software one runs:

user $  sudo dnf remove $package

to synchronize one’s packages with those in the online repositories and upgrade all of one’s packages that have become out-of-date run:

user $  sudo dnf update

Linux Mint

Linux Mint 17.3 with its default Cinnamon desktop

Linux Mint 17.3 with its default Cinnamon desktop

Linux Mint (1-6), a Ubuntu-based distribution developed by a community of unpaid volunteers. It is built on the Long-Term Support (LTS) releases of Ubuntu which come out in April of even-numbered years (e.g., the latest one was in April 2014 and was numbered 14.04) and are designed to be especially stable, although their software tends to lag behind that of newer Ubuntu releases (a new Ubuntu release comes out every six months, in April and October of every year). Its chief advantage, in my opinion, over Ubuntu is that it has better out-of-the-box support for several proprietary multimedia codecs (codecs are programs required to play certain multimedia files) and graphics drivers. It does not have out-of-the-box support for Broadcom chips with proprietary drivers like mine.

I have not used its community support, personally, so I cannot comment on its quality. It has a Windows-like look, though, with a task bar (or panel) across the bottom of the screen. If you need free support with Linux Mint I would recommend using their forums or IRC channel (#linuxmint-help). It has two official editions, the standard (which features the Cinnamon desktop) and the lighter edition (which features the MATE desktop).

Linux Mint, like its parent Ubuntu, uses the Advanced Packaging Tool (APT) for command-line package management, which installs software from Deb (file extension: .deb) packages. APT has several graphical front-ends available on Linux Mint, the most popular is developed by the Linux Mint developers themselves, MintInstall. Alternatively, you can use the command-line front-end (which is more beginner-friendly than APT, according to some), aptitude. To install a software package with APT run:

user $  sudo apt-get install $package

while to remove a software package with APT, one would run:

user $  sudo apt-get remove $package

and to update one’s local software repository indexes, one would run:

user $  sudo apt-get update

Finally, to install all software upgrades that are available from enabled repositories (which should be done after running the aforementioned sudo apt-get update command, to update local repository indexes), one would run:

user $  sudo apt-get upgrade

Manjaro Linux

Manjaro Linux 15.12 KDE Edition

Manjaro Linux 15.12 KDE Edition

Manjaro Linux (1-6), an Arch Linux-based distribution that unlike Arch Linux itself is very beginner-friendly. It too is developed by its own FOSS community. It has out-of-the-box support for most graphics cards, multimedia codecs and Broadcom chips like mine. It has even more up-to-date software than Fedora, so if you want the latest software I would recommend using Manjaro. Bugs may be more frequent under Manjaro than under more stable distributions such as CentOS and Ubuntu (LTS). It has three official editions: a netinstall edition (which contains the bare minimum software that constitutes a Manjaro system, it is so bare, in fact, that it has no desktop environment preinstalled), a KDE edition (featuring the KDE desktop) and a Xfce edition (which is faster and a smaller download than the KDE edition, it is fairly Windows-like in its appearance too).

You can install just about any Linux-compatible program (including proprietary programs) on Manjaro, either from its own repositories or from the Arch User Repository (AUR) of Arch Linux, which I am afraid is best accessed from the command-line. Fortunately, the most popular and arguably best tool for installing packages from the AUR, Yaourt (yaourt from the command-line) comes pre-installed on Manjaro Linux. If you find a package in the AUR you wish to install you simply need to run user $  yaourt -S $package, where $package is to be replaced with the package’s name. I would personally say that Manjaro has the greatest number of software packages available for easy installation of all distributions mentioned in this post. Manjaro Linux, like its parent Arch Linux, follows a rolling release model. What this means is that you never need to perform a distribution upgrade (that is, the type of upgrade mentioned in the Fedora section). Simply run your package manager (Octopi, Pamac or Yaourt) regularly to ensure your software is up-to-date.

If you need free support for Manjaro I recommend you use either their forums or their IRC channel (#manjaro). Their forums has at least one person, I have come across, that believes that Manjaro should be DIY, and hence requires anyone looking for support to show extensive attempts to fix their own problem before he will help.

Manjaro Linux uses the pacman (and yes, I got the case right, it is stylized such that lower case letters are appropriate) command-line package manager of Arch Linux, by default, although Yaourt is also pre-installed, on at least most Manjaro Linux installations. pacman installs packages with the .pkg.tar.xz file extension. These packages are generated using a utility provided by the pacman program, which is invoked from the command-line by the command makepkg. makepkg looks for files in the present working directory (PWD), with the name “PKGBUILD” and, following the instructions therein, attempts to build a .pkg.tar.xz package. The graphical pacman front-ends, Octopi and Pamac also come pre-installed on Manjaro. As previously mentioned one would run:

user $  yaourt -S $package

to install a package.

user $  yaourt -Rs $package

to remove a package (beware, due to dependency issues, sometimes yaourt -Rsc $package may be necessary) and:

user $  yaourt -Syua

to upgrade all installed packages, after first synchronizing the local pacman repository databases checking for AUR package updates.


openSUSE 42.1 (the latest Leap release) running the KDE desktop

openSUSE 42.1 (the latest Leap release) running the KDE desktop

openSUSE (1, 2, 4, 6), a distribution developed by its own FOSS community and sponsored by Novell, another Linux company. It has the largest installation ISOs (that is, the files you use to install it) of any distribution mentioned here, with its live DVD ISO being 4.3 GB. Despite this, it has similarly poor out-of-the-box support for most proprietary codecs and drivers. openSUSE comes in two main flavours: Leap and Tumbleweed. Leap is more stable and popular, yet uses older software. Tumbleweed uses later software (usually a little less up-to-date than Manjaro Linux, though) but is maybe a little less stable (although I am presently using it and have never noticed any stability issues). Leap also has more limited architecture (processor instruction set) support than Tumbleweed, as Leap only supports x86-64 processors. While Tumbleweed also supports armhf and i586 architectures.

On the plus side its online support community is amongst the friendliest I have come across. I have asked roughly ten questions on their forums and I have not yet encountered anyone forcing the DIY philosophy on others. openSUSE’s official repositories are, at least, mostly FOSS, but several user-maintained unofficial repositories housed by the Open Build Service (OBS) and the community-maintained PackMan repository contain proprietary software, including Spotify. Its main support IRC channel is here.

openSUSE uses the ZYpp package manager (which like DNF uses RPM packages), which is invoked from the command-line using the zypper command, although a graphical front-end for it called YaST2 (which is also used as openSUSE’s installer) is also available. To install software using zypper one would run:

user $  sudo zypper install $package

or, to remove a package one would run:

user $  sudo zypper remove $package

while to update all packages to the latest version available, one would run:

user $  sudo zypper update

Sabayon Linux

Sabayon Linux Xfce edition

Sabayon Linux Xfce edition

Sabayon Linux (1-5), a distribution with similarly extensive, out-of-the-box support to Manjaro. Like Manjaro, however, it is also based on a non-beginner-friendly distro, except in Sabayon’s case this distro is Gentoo Linux and not Arch Linux. Most of Sabayon’s software is as up-to-date as the corresponding Manjaro software, although some programs may lag behind. It follows a rolling release model, so you never have to perform traditional distribution upgrades. Its chief disadvantage is its small online support community, which I have found can be a little more testy (more prone to bite your head off) than that of openSUSE. Its official software repositories contain some freeware packages like Spotify too.

Its official repositories (that is, the ones you can access and install packages from using its main package manager, Entropy) may be missing some packages you would like to use, most of these packages you can get via more challenging methods (most notably by using Gentoo’s package manager, Portage, which also comes pre-installed on Sabayon), which for the most part have to be done from the command-line. For example, when I first started using this distribution, I wanted to install SageMath, a mathematics program not in the official Entropy repositories, to do this I needed to use Portage and the sage-on-gentoo overlay (which is an unofficial Gentoo repository). Its forums are here and its main support IRC channel is here.

It has seven main editions:

  • KDE
  • MATE
  • Minimal (which uses the Fluxbox window manager, sort of like a lighter weight desktop environment than LXDE or Xfce)
  • Server (useful for servers, I would not recommend using this edition as it has no desktop environment, by default)
  • Spinbase (pretty useless since the Anaconda installer was ditched. See it just has the command-line and its new installer cannot be run from the command-line)
  • Xfce

Its officially supported package manager is Entropy, which installs packages with the .tbz2 file extension. It has a command-line interface invoked by the command equo and a graphical user interface (GUI) called Rigo. To install a program with equo one would run:

user $  sudo equo install $package

while to uninstall (or remove) a program with Entropy, one simply runs:

user $  sudo equo remove $package

to update one’s local package repositories, one runs:

user $  sudo equo update

to upgrade all software packages (which is best done after updating the local repositories, with the aforementioned command), one runs:

user $  sudo equo upgrade


Ubuntu 15.10 featuring the Unity desktop

Ubuntu 15.10 featuring the Unity desktop

Ubuntu (1, 2, 4, 6), a distribution that is well-known for its beginner-friendliness. It is developed by a Linux company called Canonical Ltd. Its software is usually more out-of-date than all other distributions mentioned in this post, except for openSUSE Leap. It has got the best support community, in terms of response times, in my opinion. Specifically it has a StackExchange website called AskUbuntu that I find quite good. Its official repositories contain mostly FOSS, along with some proprietary drivers, if my memory serves me correctly. Several unofficial Personal Package Repositories (PPAs) exist, however, although I am yet to find one containing Spotify, probably because a Spotify repository is provided and maintained Spotify AB (the company that develops Spotify), to find details go here. Its main support IRC channel is #ubuntu.

The Ubuntu (LTS) releases I mentioned under the Linux Mint section, comes with support (like maintenance and security upgrades) for five years. Consequently, you do not have to (although if you want the latest software you will probably want to every six-months, roughly) perform distribution upgrades for up to five years after the version of Ubuntu (LTS) you are using was initially released. So they form a more beginner-friendly alternative to CentOS for those that dislike performing distribution upgrades.

As previously mentioned, Ubuntu uses the Advanced Packaging Tool (APT) for command-line package management, which installs software from Deb (file extension: .deb) packages. The main, officially-supported graphical front-end available for APT on Ubuntu is the Ubuntu Software Center. Alternatively, you can use the command-line front-end (which is more beginner-friendly than APT, according to some), aptitude. To install a software package with APT, run:

user $  sudo apt-get install $package

while to remove a software package with APT, one would run:

user $  sudo apt-get remove $package

and to update one’s local software repository indexes, one would run:

user $  sudo apt-get update

Finally, to install all available software upgrades from enabled repositories (which should be done after running the aforementioned sudo apt-get update command, to update local repository indexes), one would run:

user $  sudo apt-get upgrade

Distros for Older Computers

If you have a fairly old computer, with an older CPU, little RAM (say <2 GB) and hard drive space to spare then odds are you will be best to stick to one of the following:

  • Fedora (namely, the LXDE edition).
  • openSUSE Tumbleweed (in the automated installer you will need to choose the LXDE desktop, however).
  • Puppy Linux, an Australian distro that is designed to run from a live USB. I personally find it a buggy distro, so buggy I have not even managed to install it on a VirtualBox VM.
  • Ubuntu (namely, the official Lubuntu spin; the unofficial spins called Bodhi Linux and LXLE may also be suitable in these cases. Note, if you use an unofficial spin, you cannot get support in the #ubuntu IRC channel or askubuntu.com website).

Other Distros

While if you have a preference for an OS X-like look to your PC, then I would recommend using deepin or elementary OS. deepin is a Chinese distribution based on Debian’s unstable branch, while elementary OS is an American distribution based on Ubuntu’s LTS releases. It is possible to get such a look on other systems but the OS X-like look is not the default for these other systems, rather you need to customize their look to get them this way.

Testing Out

In order to pick the best distribution for you, I would recommend trying out whichever distributions you think might be best for you in VirtualBox (here is the Download page), before installing it on your hard drive. A nice video tutorial on installing VirtualBox on Windows 7 and then installing Ubuntu 14.04 in VirtualBox is shown above. VirtualBox is best run on a PC with at least 4 GB RAM, 4 CPUs, and 20 GB hard drive space free.


If you want a Linux distribution, that gives you as much a “free-ride”, that is, it holds your hand through as much of the journey, as possible, then I would recommend using one of the following three distributions:

  • Linux Mint. This one has the most Windows-like look to it, although if you have a Broadcom Wi-Fi chip you may need some help setting your Wi-Fi up.
  • Manjaro Linux. This one is the most “out-of-the-box” of these three. Although, some software you may want (e.g., Spotify) must be installed from the command-line, which can be intimidating for Windows users. It is best for those that dislike performing distribution upgrades, like myself.
  • Ubuntu. This one has the best community support, in-my-opinion, and is (arguably) the most stable of the three.

Ubuntu (specifically the Lubuntu spin) is probably the best for older computers.


  1. That is, users that just want a functioning PC, they are not software developers, programmers, or otherwise advanced users.

  2. That is, you pay nothing to obtain them legally.

  3. Popular Windows Example(s).

  4. Popular Linux Example(s).

  5. As you can see most Linux-compatible text editors will also run on Windows and while the reverse is mostly true there are exceptions. Atom is my favourite text editor, as it is extensively customizable, yet free and simple enough for my grandmother, who I think has probably never even used a computer, to use. Atom is fairly heavy, in terms of its memory footprint (heavier than all other text editors mentioned in this table, actually), download and installed size (~50-60 MB and ~200-250 MB, respectively) and its startup time.

    GNU Emacs and gVim/Vim are the most popular text editors amongst seasoned programmers, however. GNU Emacs is the most customizable and extensible, thanks to the Emacs Lisp programming language, while Vim is more portable, uses less RAM and CPU, is faster and, for those with enough experience with it, it may have productivity advantages over GNU Emacs, as it relies less on a mouse and keyboard-shortcuts than GNU Emacs. Vim's programming language, VimL (or Vim script), is simpler and easier to learn, IMO, than Emacs Lisp and Vim also has better package management, IMO, than GNU Emacs.

  6. Source: https://onpub.com/install-broadcom-linux-wi-fi-driver-on-fedora-23-s7-a192.