Developer Resources | Date Posted: 05/13/2015
When it comes to choosing a Linux distribution and desktop environment it's easy to get overwhelmed with so many choices...
Yes I'm a Linux fanboy. You know that person who always rips on Microsoft and Windows. Well I wouldn't go to that extreme I've learned to appreciate all operating systems. They all have their strengths and weaknesses.
Typical operating system stereotypes include:
If you are technically inclined and want a more in depth understanding of how computers and operating systems work you may want to familiarize yourself with Linux. Linux satisfies your inner geek. Linux makes your computer feel like a computer.
Expressing this sentiment Sheldon Cooper said it best, "My new computer came with Windows 7... Windows 7 is much more user friendly than Windows Vista... I don't like that..."
Linux can provide you with some practical applications. Linux can breath new life into older computers, maximize your computers resources, and allow it to operate at it's full potential. If you're a web developer you can easily install a LAMP stack which can serve as a great environment to debug your code in.
However when it comes to choosing a Linux distribution and desktop environment it's easy to get overwhelmed with so many choices.
A "desktop environment" is a graphical user interface (GUI) that provides one with a more user friendly experience than the command-line interface (CLI). An example of a Linux "distribution" is Ubuntu. Ubuntu can run any "desktop environment" but Ubuntu's default "desktop environment" is Unity.
For a screenshots of the many desktop environments available in Linux check out http://en.wikipedia.org/wiki/Desktop_environment
With so many distributions and desktop environments how can you decide which distribution and desktop environment is right for you? A popular site distrowatch.com can assist you when you are trying to decide which distribution is right for you. The site keeps Linux enthusiasts updated on distribution releases and tracks the top 100 most downloaded distributions.
Ultimately your decision depends on two factors. A silicon based processor and a carbon based processor. Or in more familiar terms how powerful your computer is and how powerful you mind is a.k.a. your level of technical experience.
Some distributions and desktop environments are tailored for older slower hardware -- distributions like Lubuntu which uses the LXDE desktop environment and Xubuntu which uses the XFCE desktop environment. These distributions are popular, user friendly, choices that are light on resources and suitable for older hardware. If you had a PC that was running Windows XP these distributions would enabling you to run the latest versions of Firefox, Thunderbird, and Libre Office; provide you with security updates; and allow you to salvage your computer now that it is no longer being supported. (There are desktop environments that are even lighter on resources but require more technical experience.)
The most popular distributions with modern desktop environments are Ubuntu and Linux Mint. Ubuntu's default desktop environment is Unity and Linux Mint's default desktop environment is Cinnamon. More traditional Linux desktop environments include Gnome and KDE.
There are distributions that focus on stability like Debian. It's a popular choice if you want to set up a server and you want something that just works without a lot of maintenance and updates.
But stability can get boring... If you want to run the latest stable version releases there are "bleeding edge" distributions like Arch. Eventually you will find yourself wanting to familiarize yourself with Arch Linux. It's just a natural progression once you go down the Linux rabbit hole. Arch appeals to developers and people who like to customized their system. Arch allows you to manually install and configure your system -- it's like you are creating your own personal distribution.
Saying Arch is "bleeding edge" means that there is a higher chance you can break your system. But that's okay it's a learning experience and part of the fun is figuring out how to fix your system when you break it. When you finally figure it out as a bonus you'll get a sense of accomplishment. The Arch community is known for providing detailed documentation that will assist you. (They say if you can break it you can can control it.)
An Arch system can be high maintenance and it's recommended that it be updated regularly.
Each distribution has a unique personality. Arch is exciting, high maintenance, and needs a lot of attention. Eventually when you finally want to settle down you may pick a stable distribution like Debian.
Another distinction when deciding on a distribution is "rolling release" and "fixed release". Arch and Debian are rolling release distributions. Ubuntu is a fixed release distribution. There are pros and cons to both.
A "fixed release" distribution is a system that is supported for a determined length of time. Canonical releases a new version of Ubuntu every 6 months. (Canonical is to Ubuntu as Microsoft is to Windows.) Regular releases are supported for 9 months. There are also long term releases every 2 years that are supported for 5 years.
A "rolling release" distribution means that once you install your system you are responsible for continually updating your system. A "rolling release" requires more technical skill than a "fixed release" in maintaining.
Ubuntu is "user friendly" if you are not technically inclined; however Arch Linux is "user friendly" if you are technically inclined.
"The Arch Linux system places precedence upon elegance of design as well as clean, correct, simple code, rather than unnecessary patching, automation, eye candy or "newbie-friendliness." Software patches are therefore kept to an absolute minimum; ideally, never. Simple design and implementation shall always trump simple user interface. Simplicity of implementation, code-elegance, and minimalism shall always remain the reigning priorities of Arch development."
"Arch Linux defines simplicity as without unnecessary additions, modifications, or complications, and provides a lightweight UNIX-like base structure that allows an individual user to shape the system according to their own needs. In short: an elegant, minimalist approach."
If you have ever installed Ubuntu. You know that it is a graphical installation.
When you install Ubuntu you select your language, your location, your keyboard layout, and your user profile. It partitions your hard drive, installs your system, and installs a boot loader for you.
When you install Arch Linux this is all done with terminal commands. So you get a more in depth understanding of what is involved installing an operating system.
When you select you wifi network in Ubuntu it's as simple as clicking the wifi icon in the panel and selecting your network. In Arch Linux you would select you network via the command line.
# iwconfig wlan0 essid "network"
When you install Ubuntu it partitions your hard drive for you. When you install Arch you need to partition and format your hard drive using a file system. You may use the fdisk or cfdisk partition editor and create a primary partition and a swap partition. Then you would assign a file system to your partition via the command line.
# mkfs.ext4 /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
If you use Windows you likely may be familiar with are NTFS and FAT file systems when you format your hard drive or a USB.
Sorry, I am getting way off track...
Familiarizing yourself with Linux used to be a technical and daunting task. Today's Linux is modern, user friendly, and graphical. I would suggest you just download Ubuntu and give it a try. Learn at your own pace. In time you will see some of the benefits of open source software. If you are interested in computers and operating systems on a deeper level eventually you may want to familiarize with Arch Linux and become a Linux fanboy in the process.