Wednesday, May 2, 2012

Dueling desktops

Update 2012-07-04. Happy Independence Day! I have posted a screenshot of PC-BSD's build of FreeBSD 9.0 - the Isotope edition below. Enjoy!

I've been playing around with virtual machines and different Linux distros and desktops. Pretty fun stuff. I know there are many websites out there that already cover this extensively. For example here's a discourse on the pros and cons of LXDE and Xfce, two popular "lightweight" desktops that are supported by almost every distro, and even BSD. My Geek Opinions - A Geek's Guide to Technology: LXDE vs Xfce. And here's a comparison of the two most popular heavyweights, GNOME (Ubuntu-Unity flavored) and KDE.

But this blog is realy just for me, and when I was deciding what distro to download and what desktop to use, I don't think the differences between distros and more so between desktops, were all that clear to me. So now that I understand it a little better, I don't want to forget it.

First of all I think it's super important to understand the difference between desktops and distros. I laugh a little about it now, but I actually thought Lubuntu, Kubuntu and Xubuntu were different distros. I didn't know that Linux and BSD could swap desktops. I'd only used machines with a terminal and a single desktop. I suppose in undergrad (1990's) I had the opportunity to use X Windows but that was just to display graphics like plots from MATLAB, and was not remotely like Windows 3.1 or the Macintosh OS the most popular graphic desktops at the time.

Suffice it to say that Linux and BSD unlike Windows and Mac, offer a choice of desktops. By far the most popular desktop is by GNOME, and by default the major Linux distribution all default to GNOME. However alternate desktops, such as KDE, LXDE and Xfce, will run on almost any Linux or BSD distribution. In fact, if you're so inclined, you could just use the command line and X Windows to run graphics programs like an internet browser. Wikipedia has a comparison of desktop environments. Wow, that's a pretty cool list - must check out Qt-Razor; there's a Fedora Spin in the works.

So I installed what I think are the most popular Linux distros as VMs: Fedora16, OpenSUSE12 and Ubuntu 12.04LTS (aka Precise Pangolin). I also installed FreeBSD a direct descendant of Unix. Of course there are other Unix-like systems, but I have a a 2-year old and a full time job so there are limits to how much time I can waste. On each system I chose a different desktop - Fedora got LXDE, OpenSUSE got GNOME, Ubuntu got Xfce and FreeBSD got KDE.

All four systems are a snap to install. All downloads are about 600MB. Fedora and OpenSUSE come as live ISO's that you start, and then have a app to install to the hard drive. Both also have a downloadable DVD image (about 3GB to 5GB) that can be used to install the system directly. Ubuntu on the other hand has a CD ISO that gives you the choice to install Ubuntu or run live. FreeBSD only has ISO for hard disk installation. I did not love having to run the live versions of Fedora and OpenSUSE to start the installation process, since I already knew I would install, so that was annoying. Also, since they run as live CDs, they require at least 512MB of RAM, which was an issue since I was installing them as VMs on pretty old machines, so RAM for me was scarce. VirtualBox couldn't handle it, but an older version of VMware Player was up to the challenge. Fedora and Ubuntu installations were a breeze, but there were some glitches in the graphics for Open SUSE, which may have been hardware related. I have a separate post on FreeBSD, but essentially it uses terminal style graphics, and installs as root, instead of an administrator, who can obtain root privileges.

Software Repository Packages
I installed some of my favorite tools: Numpy/SciPy, pip, virtualenv, virtualenvwrapper, Requests, Meld and Geany. Almost all were supported on every platform directly from the package repository, but at different releases. You can search Fedora, OpenSUSE and Ubuntu repositories online.

You can download and install Xubuntu, which is Ubuntu with the Xfce desktop.

Fedora has a spin for LXDE that you can download and install.

Open SUSE 12 only comes with GNOME or KDE, but there are older version that have LXDE and Xfce.

PC-BSD with FreeBSD 9.0

(Updated 2012-07-04) So far PC-BSD is like FreeBSD but with a nice desktop. The default is LXDE, but you can download XFCE, and others too, I think. I was too lazy to configure X11 correctly, and PC-BSD is a much easier. I was very impressed with the install procedure. One other nice feature is the edition of PBI's, which is like Ubuntu Software Center.

My favorite is still Ubuntu with Unity (GNOME3), but I don't have enough experience to discriminate between the other Linux distros. As far as desktops, I did not like KDE, even on FreeBSD. If I was going to re-install Ubuntu on my oldest laptop, I would use Xcfe, but Unity 2D seems to work just fine.

1 comment:

  1. After using all 4 of these desktop/distros I have a few new perspectives:
    1. OpenSUSE: The repo is not as comprehensive as Fedora or Ubuntu. Even BSD's package repo has more current and relevant software. That said, OpenSUSE has additional repos online that I have yet to try.
    2. BSD seems to suck up disk space like a hog. I'm not sure where it's all going, but the Linux distros go a lot further on 8GB than BSD.
    3. PC-BSD's PBI system may sometimes contain more current software than BSD's packages & ports, but in general there are so many missing packages that it seems not worth it.
    4. For both OpenSUSE and PC-BSD, it's my opinion that a single source for software is more reliable and obviously more convenient than having to hunt down and reconcile multiple repos. If you are determined to find options you can always build from source anyway.
    5. For PC-BSD and FreeBSD, the package system is superior to the ports system, because you generally have to resolve the ports dependencies yourself, which also means that when you configure for the build you must enable certain packages. Also the ports burdens you with GB of source on an already overburdened system.


Fork me on GitHub