DEV Community

George
George

Posted on • Updated on

Choosing a Linux distro

Recently I decided that I wanted to switch from Windows 10 to a Linux distro as my primary operating system. Mainly because I've always found that the dev environments are a lot better on Linux (personally) and that I have a lot more freedom to mess around with the OS.

But the hardest decision was which do I chose? Linux is an
Open source, meaning anyone is free to commit code and obviously create their own operating system. Personally I went with Linux Mint (Cinnamon) for my new OS. But I still had other options in mind.

I made a table to showcase what I took into consideration, hopefully it may help you if you switch to Linux.

OS Environment Purpose Based on Expertise required
Mint Cinnamon, MATE, XFCE, KDE General Ubuntu, Debian Low
Debian GNOME, KDE, XFCE. LXDE (many more) Community based, server, general use, other distros N/A Medium
Ubuntu Unity General GNOME (Recent return) (Parts in Debian) Low
Manjaro Cinnamon, Enlightenment, XFCE, GNOME (+ others) General Arch Medium
Arch Cinnamon, GNOME, KDE General use, server N/A High (pain to install)
Fedora GNOME, KDE General, testing sandbox Red Hat Medium
CentOS GNOME, KDE General, server N/A High

I looked into quite a lot of Linux Distros before coming to my conclusion, these are the key factors I took into consideration before selecting. Before selecting I suggest you have a look at This website it allows choosing a distro based on your preferences and usage a lot easier.

In addition if you're dual booting it can be a pain in the ass to switch your OS every time in the BIOS. A friend of mine has shown me the rEFInd project it presents a customizable interface on boot to allow you to select your chosen OS.

Happy deving!

Top comments (78)

Collapse
 
chajath profile image
In-Ho Yi

While Arch is a pain to install, it's worth noting that it's a very rewarding experience and the wiki documentation and community support is generally pretty good. You can also find most packages in aur collection

Collapse
 
aggalex profile image
aggelalex

Well, for someone new to Linux I would definitely recommend Antergos or Manjaro instead of Arch.

Collapse
 
naltun profile image
Noah

I have been using the GNU system with Linux for some years now, and for roughly a year I've been an Antergos user.

Prior to that, I had tried Manjaro, and prior to that, Linux Mint.

I switched to Linux Mint from Ubuntu, because I loved Cinnamon. I switched to Manjaro from Linux Mint, because I love the rolling release model (although Manjaro can't fully use that term).

I switched from Mint because I had full disk encryption, and a bug in the OS lost where my decryption key was located on the filesystem, ergo my system could never boot into my environment, and I lost everything. Needless to say, that's a pretty bad bug.

I switched to Manjaro w/ Cinnamon (Community Edition) because of rolling release. Back when '17, the Cinnamon CE gave me headaches from bugs... I couldn't stand it. So I decided to try Antergos, which is Arch w/ some preinstalled software PLUS with a GUI installer.

Antergos is very slick, and very flexible & powerful. I get all the benefits of Arch without any of the headache. Plus, I get a more true rolling release model than Manjaro. Also, the sponsors for Antergos are phenomenal (eg. JetBrains).

I highly recommend anyone, both beginner and experienced, to try Antergos. It uses the pacman tool which is very different from apt, BUT you get access to the Arch User Repository (AUR), which, for me, is the biggest benefit of the Arch family.

If anyone has any questions about Antergos, or how to use pacman, etc., feel free to contact me. :)

Collapse
 
ikemkrueger profile image
Ikem Krueger

I tried Manjaro. I was constantly fixing the system, because of issues with packages. Was not fun. After that, I decided to opt-out for Manjaro and the like. That was years ago.

Three days back, I fixed a Manjaro of a friend. That took me half an hour to get the package management back to working.

You get the newest packages. You pay it with an unstable base. It is constantly destructing itself. I can't recommend Arch and the like for anyone.

Thread Thread
 
aggalex profile image
aggelalex

Not all rolling release distros are unstable. Solus OS, a fairly new rolling release Linux distro not based on anything, is quite stable.

Collapse
 
nikican profile image
niki

That pain to install and initial config of wi-fi and touchpad etc. was entertaining. I've devoted some time to tinker around and all is good, but then I just want to plug in a flash drive or use network printer... gah!

Collapse
 
tux0r profile image
tux0r

Random reminder: If you want more freedom, BSD or illumos might also be considered. Often overlooked, they come with a longer tradition (BSD has been there since the late 70s, illumos was born as SunOS in the early 80s) and a loyal fanbase without the init system war.

If you absolutely want to use Linux anyway, keep in mind that most distributions are interchangeable. They only have different default desktops and slightly different installers but you can mostly do anything with all of them alike.

Collapse
 
ferricoxide profile image
Thomas H Jones II

illumos was born as SunOS in the early 80s)

The SunOS that Illumos was born from was SunOS 5/Solaris — originally a SysV-derived OS. The 80s SunOS that was derived from BSD was SunOS 4.

Illumos was one of the projects I played with late in the part of my career where I was Solaris engineer for a a global ISP. A number of us looked at Illumos and Nexenta because Oracle kept throwing the viability of OpenSolaris in doubt ...before eventually killing it altogether. Both were options where we could have Solaris-y systems at home, keeping our work-related skills up, without having to pay to run Solaris.

and a loyal fanbase without the init system war.

Mostly because all of the people that slit their wrists over Solaris's SMF left the field. And, let me tell you, when Solaris 10 (SunOS 5.10) came out, the hue and cry about SMF was similar to that around systemd. ;)

Collapse
 
tux0r profile image
tux0r • Edited

Thank you for the correction. Put it in relation, even today's "BSD" began its life as the Net/2 release, over a decade later...

I came to Solaris too late, in 2017. Still trying to understand some of its deeper semantics. What I can tell is that it is incredibly well-thought. No surprise given the mind power that gave it its life...

SMF does not seem to break my boot process though. ;-)

Thread Thread
 
ferricoxide profile image
Thomas H Jones II

Sounds like you missed the joy of the post-Berkeley FreeBSD/NetBSD/OpenBSD days. In the waning years of my time at college, those BSDs and Linux were all beta-level offerings. Post college and jonesing for my own UNIX-y system to run at home, I tried all of them. Eventually settled on Linux (with forays into IRIX and Solaris in the mid-90s and then Solaris, AIX and HPUX in the mid-2000s). These days, mostly RHEL/CentOS ...because it's what pays the bills. =)

When SMF first came out, it had a lot of teething pains similar to systemd's. Then again, so did a number of technologies in Solaris 10 (and OpenSolaris). ZFS, LDOMs and Zones all had their joys. Being a tinkerer, I ended up finding a lot of "edge cases" (as their Support group liked to call them). Fortunately, the most frequent "edge cases" happened at home. That said, during my (third-part vendor-partner) consulting days, I had to help one large financial institution that got bit pretty bad by a scheduler problem on a SF25000 attached to a large EMC array presenting a few thousand LUNs.

At any rate, haven't really touched Solaris since I sat for my Solaris 11 SA test. Sun had offered me it, at the time, as a beta test-taker as part of their efforts to get people to adopt Solaris 11. Other than helping customers move from Solaris to RHEL/CentOS, haven't really had to deal with Solaris since 2008.

Collapse
 
rapidnerd profile image
George

Very much agreed, I did look into BSD or Illumos but didn't end up taking a liking to either (I'm incredibly picky). I've always loved Linux and used most of the ones above, but finally setting with one was a tough challenge. Don't necessarily need complete freedom I just tend to mess around with things quite a bit when I feel like doing so. Even though they're older Kernels they are great to use if you want to do so.

Plus I found the Mint look really pretty.

Collapse
 
tux0r profile image
tux0r

Mint is lovely, GFX-wise. I heard that their theme was ported to other distributions though.

Thread Thread
 
rapidnerd profile image
George

I heard the same thing, I believe it's not all from one other distro. But the end layout of it is very nice.

Collapse
 
pawda profile image
Memoria

I love BSDs, actually started programming on it with fluxbox as minimalistic desktop manager but now when considering a new OS I have to rule them out because the lack of docker support.
By any chance, do you know if anything has changed (or planned) on this matter ?

Collapse
 
tux0r profile image
tux0r • Edited

The BSDs had some kind of containers long before containers had this name. You can usually mirror most of what Docker does without using any extra software on them.

I accept that some people desperately "need" Docker for reasons. Generally, Docker exists on FreeBSD (experimentally) and OpenBSD (when run inside a Linux VM) and most (?) of their particular "distributions"/forks. I have not tested that.

Thread Thread
 
pawda profile image
Memoria

Yes I'm familiar with jails and chroot. I find them way better at what they do but this is another topic. Unfortunately it had to be Docker because of external "reasons" that are not giving me much choice :)

Collapse
 
ikemkrueger profile image
Ikem Krueger

PC-BSD was very interesting. But everytime I tried it, it didn't boot to the gui. Because of that I sticked with Linux.

Collapse
 
kritoke profile image
Matt

I'd recommend checking out Solus, works pretty well, does some innovative stuff,easy to use and install. They also support snaps so even if no package available, you can install. Though that seems less of an issue these days. If you kind of like arch but want something interesting that makes it easier to replicate your install, check out nixos. It has a learning curve, but it installs everything based on a config file or two, which is kind of what arch used to do years ago.

Collapse
 
shostarsson profile image
Rémi Lavedrine

Yes, you should have a look at Solus.
I installed on my computer a few months ago and reallt loved it.
But at the end I came back to Ubuntu Budgie, which has the best of both world.
The Budgie (Solus) desktop on an Ubuntu distribution. So you can install everything that works on Ubuntu.

Collapse
 
benmilliron profile image
BenMilliron • Edited

I run Ubuntu exclusively. At work I work on RHEL servers. I tried Fedora at home and was plagued by a login loop. Honestly if you want a Linux OS that just works, and has a huge repository of packages for just about anything, consider Ubuntu or Debian. Currently there really isn't anything I need that I don't have (Atom, Eclipse, python/python3, perl/perl6, rust, FileZilla, PgAdmin3, Dropbox client, Skype, LibreOffice, Chrome, Firefox). I am probably missing something. Another thing I will add is on older hardware Ubuntu installs without issue. My laptop is an old Levovo Thinkpad T series and I have had no installation or performance issues running 18.04.1 LTS.

Also Ubuntu now does not use Unity anymore, now the desktop is Gnome.

Collapse
 
gabrielcoelho profile image
Gabriel Coelho Soares

What about OpenSuSE ? Both (Tumbleweed and Leap) are good options for those who want to migrate!

Collapse
 
rapidnerd profile image
George

OpenSuSE both Tumbleweed and Leap are excellent, I didn't necessarily explore them as much as the others as i haven't had too much experience with them, the ones in the tables are distros that I have the most experience in.

Collapse
 
ikemkrueger profile image
Ikem Krueger

OpenSuSE was a mess. It was the Windows of the Linux distros. Thousand little tools to configure the system. And the gui and the text version of YAST where constantly fighting. That plus the horrible slow rpm package manager threw me away. What I HAVE to thank them for, is the OpenSuse Build Service! That's a VERY good invention of them!

Collapse
 
andreanidouglas profile image
Douglas R Andreani

I would recommend Elementary. A new player on the scene with a warming desktop environment and huge community support. If you are interested you can help fund the development effort on their Patreon page

Collapse
 
rapidnerd profile image
George

Seen it mentioned a few times around the thread, going to have a little play with it.

Collapse
 
ikemkrueger profile image
Ikem Krueger

The development is really slow. And on low end systems, with a crappy graphic card it's not smooth.

Collapse
 
csuszka profile image
csuszka

I had issues with Mint.
It was super slow on a very potent hardware.
Switched to ElementaryOS, which could handle it much better.

Collapse
 
rapidnerd profile image
George

Haven't had any issues with Mint being slow yet, was there something specific you found that was slow? Or just in general?

Collapse
 
csuszka profile image
csuszka

Nothing specific.

At first it was fine, and then started to slow down very fast, and then froze after an hour of use or so.
We restarted a couple of times, sometimes it loaded fast, sometimes really slow.
We wiped the drive clean, re-installed it, had the same issue.
Then again, and got the same issue.
Tried to look for log files for an explanation, but nothing special came up.
This is where we gave up and installed ElementaryOS.

We believed it may have been something like incompatibility with the hardware, because we had installed it to a Macbook Pro, and Mint worked totally fine on our PC at home.

Thread Thread
 
rapidnerd profile image
George

That sounds really weird, could be an issue with mac compatibility yea. Out of curiosity which version of Mint did you use?

Thread Thread
 
csuszka profile image
csuszka

Version 19 (Tara, Cinnamon 64 bit)

Thread Thread
 
rapidnerd profile image
George

Running the same version, weird. I'll look out for the issue. Haven't seen anything reported on it.

Thread Thread
 
csuszka profile image
csuszka

It would be interesting to know, and it may help others who run into the same problem.

Thread Thread
 
rapidnerd profile image
George

I'll make an update on the post if i come into any issues, thanks for your input!

Thread Thread
 
csuszka profile image
csuszka

Thank you for looking into this

Collapse
 
msal profile image
Mohammed Salman • Edited

*Ubuntu uses Gnome

Also I use Linux Mint it's a great distro. Good luck!

Collapse
 
surajrao profile image
Suraj Rao

True. From 17.10 onwards. The older supported ones still use Unity.

Collapse
 
ferricoxide profile image
Thomas H Jones II

Might want to update your table a bit:

  • Fedora is the upstream, comminity-driven project for Red Hat Enterprise Linux. Not everything you see in Fedora reaches RHEL, but it's where many of the ideas that end up in RHEL come from. Translation, your "Based On" column is inverted.
  • CentOS, as with Scientific Linux, Oracle Linux and a few others are based on RHEL. CentOS (and SciLin) both create themselves from the Red Hat published source-RPMs and don't really otherwise deviate from RHEL other than by "branding" and support models. Oracle takes the RHEL sources and makes so "strategic" modifications - most notable being their Oracle Unbreakable Kernel (which, among other things, implements the KSplice functionality that they bought and took closed-source).

In general, "expertise" for a given distro depends heavily on what you're trying to use the OS for. If you're supporting an Enterprise application or a workload that isn't well-aligned to a given distro's design-philosophy, the expertise-required goes way up (e.g., if you're trying to maintain a bleeding-edge development environment, RHEL/CentOS can be paaaaaaainful when trying to to keep your language packages — and the like — something resembling "current"). If you're just using a given distro as a casual-use system, the expertise required generally trends markedly downward.

Another thing that ought to be a point of consideration for a distro-choice is, "how much of what I learn about this distro can improve my employment options and potential salary". =)

Collapse
 
stilldreaming1 profile image
still-dreaming-1

All Linux distributions are terrible for their own unique reasons, but they are generally slightly less terrible than Windows and Mac/OS XYZ. I tried Ubuntu first and hated unity. Tried Arch, but was disappointed with the very incomplete installation documentation and eventually gave up. I tried other distributions of Arch, but gave up on them when I found out the Arch community will not help you if you are not using actual Arch. Used Mint for a while, but eventually got really frustrated with how badly Ubuntu maintains the official repos, all the software is super old. Used Solus for a while, but then went back to Unity Ubuntu in order to have a development environment as similar as possible to the production server I write code for. I don't hate unity quite as much as I used to and I am less bothered by having to use PPAs for everything. I was able to make many needed tweeks to my Unity configuration to make it actually pretty decent. My biggest complaints now applying to all distributions I have tried is Android Studio is only not buggy in Windows, multiple desktops don't actually keep running apps separate enough between them, and no I don't want to us a crazy windows manager like awesome or Xmonad to fix that.

Collapse
 
chromadream profile image
Jonathan Nicholas

Arch's installation process is painful, but there are a lot of installers that can be used to install a working Arch setup, such as Arch-Anywhere (now Anarchy Linux) or Antergos. Both use Arch's repo, unlike Manjaro, where it uses its own repository.

Collapse
 
gazzonyx profile image
Scott Lovenberg

If you really want to understand Linux and become fluent between distributions, you should try Slackware. In fact, once you use Slackware, the BSDs make more sense. The learning curve is steep, but after you climb it, you'll be familiar enough with enough concepts at a low level that you can take on just about any task in your Dev or server environment confidently; your toolset will be diverse and powerful.

Collapse
 
matt profile image
Matt seymour • Edited

I personally use Debian. Its solid and stable. I dont care about the bells and whistles; i just want something that will keep working.

Collapse
 
nuwannnz profile image
Nuwan Karunarathna

I also use Debian on my old ThinkStation S10 which has a Quadro card. Debian is the only linux distro which runs on it without any problem. Super solid and stable.

Collapse
 
ikemkrueger profile image
Ikem Krueger

I do care about the bells and whistles. Hence I use Linux Mint Debian. :P

Collapse
 
rapidnerd profile image
George

I 100% agree with you, Debian is fantastic!

Collapse
 
rapidnerd profile image
George

Thanks for you response swtpete, at the moment I'm only keeping windows on my drive so I can safely transfer over everything I need to Mint, from there if nothing failed (fingers crossed) It'll be going straight in the trash! Have looked into running Oracle VB if I ever need to run Windows again, it's on the giant list of things to add in before. Glad you liked the article!

Collapse
 
cycle337 profile image
Vlad

I would be the rabbit in search of distros and monthly installing a new one. Then I found Fedora and went 2 yrs without reinstalling it or ever wanting to change it. And it loaded still super fast and didn't need a fixup. I one would always choose Fedora.

Collapse
 
rapidnerd profile image
George

Yeah this is the issue I had, I found one I liked then oooo another one i liked and repeated the process for quite a while until I finally settled with Mint. I do like Fedora, just found that I liked Mint more.