Setting up Linux on a desktop or laptop system, part 1: choosing a Linux distribution and a desktop environment

Which Linux distribution?

The most widely used distribution is Ubuntu. Other popular desktop distributions are Linux Mint, Fedora, OpenSUSE Tumbleweed and Manjaro. Personally I prefer to use Debian, not only on servers but also on desktop systems, but this distribution does require more manual work to set up on a desktop system, so it is not the easiest choice if you are new to Linux. In that case I would recommend some of the Ubuntu variants or Linux Mint.

Choose a recent version of your Linux distribution of choice. If you use Ubuntu, install the latest LTS version (20.04 Focal Fossa at the time of writing) and if you encounter problems related to hardware support, consider using the latest non-LTS version (20.10 Groovy Gorilla will be available end of October 2020. You can download daily builds if you want to test this version in development). I recommend Debian users to install the testing version on recent hardware.

Which desktop environment?

You will have to choose which desktop environment you want to use on your Linux system. Depending on your distribution, you make this choice before downloading the ISO, or during the installation.

The most widely used desktop environments are GNOME, KDE Plasma, Cinnamon and XFCE. The first three desktop environments get updates and improvements more often than XFCE and are more complete: for this reason I would recommend one of these. XFCE on the other hand is interesting as a lightweight desktop for older hardware.

KDE is very customizable, but the many configuration options can be overwhelming at times. GNOME is less customizable and tries to deliver a user-friendly modern desktop out of the box. If you want a simple clean desktop with a more traditional, Windows- or macOS-like desktop, then you can consider Cinnamon.

In the next table you will find links to the different editions of popular distributions. Some distributions have a default or preferred desktop, one in which they invest most work. I have set these in bold.

GNOMEKDE PlasmaCinnamonXFCE
UbuntuUbuntu DesktopKubuntuUbuntu Cinnamon RemixXubuntu
Linux Mintno installer availableno installer availableLinux Mint CinnamonLinux Mint XFCE
FedoraFedora WorkstationFedora KDE PlasmaFedora CinnamonFedora XFCE
OpenSUSE TumbleweedYou choose your desktop during the installation: OpenSUSE Tumbleweed installation ISOs. Cinnamon can only be added after the installation.
ManjaroManjaro GNOMEManjaro KDE PlasmaManjaro CinnamonManjaro XFCE
DebianYou choose your desktop during the installation: Debian Testing installer

If you like KDE Plasma, you can also consider installing the KDE Neon distribution. It is an Ubuntu LTS with the latest KDE packages installed. This way it provides a more up to date and more standard KDE experience than Kubuntu. However it misses a lot of standard non-KDE application, which you will have to install yourself afterwards.

If you want to get a feeling of these distributions and desktops, you can test them out in a web browser on the website distrotest.net. All in all, I would recommend not spending too much time on choosing your distribution and desktop. Pick one of the beginner-friendly distributions and try it. If you really don’t like it, it is easy enough to install another distribution.

Is Unity a better alternative to the GNOME Shell?

After my disappointment with the current GNOME 3.0 development version with GNOME Shell, I thought it would be interesting to compare it with Ubuntu’s Unity. Ubuntu has just published a new alpha version of what will become Ubuntu 11.04, so I used that for a quick test.

On the positive side:

  • On the dock on the left side there is a button which opens the workspace switcher which gives a nice overview of your virtual desktops and their contents. The workspace switcher is easy to find and it looks awesome: this might be exactly what is needed to make more end users finally get to use virtual desktops.
  • The list of Favourite folders is easily accessible by one of the buttons on the dock, as are all mounted volumes and the Thrash, unlike in GNOME Shell. Ubuntu’s desktop also supports desktop icons.
  • Integration of Banshee in the volume mixer applet is nice: the pop-up in the volume mixer will show the playing song and has some buttons to control playback in Banshee. I do not know whether this integration also works for other audio players though.

The negative:

  • Unity uses uses a development version of Compiz which is very unstable. The first time I booted the Ubuntu live CD, Compiz crashed within one minute. In my next test sessions Compiz crashed again different times. Currently GNOME Shell and Mutter are definitely much more stable than Unity and Compiz.
  • Just like GNOME Shell there is no way to show the date in panel, only the time is displayed.
  • When clicking on the Ubuntu icon in the panel, some kind of empty window pops up. Maybe this ought to be the application launcher, but it is clearly not working.
  • The application launcher can be opened from a button on the dock at the left side of the screen. However that button is rather near the bottom of the dock, above the mounted volumes icons. The Application button should be much more easy to find without having to scan all icons on the dock. Maybe this will get fixed when/if the Ubuntu icon launches the application browser.
  • Applications are not organized in categories. Instead I got a huge table of all applications and preferences tools laid out horizontally and vertically. The Scrollbar in the application browser does not seem to be working so I could not access applications which were out of the view.
  • In the application browser, there is something which looks like a text entry field which permits you to search for an application, but I could not type in it.
  • After using the application browser for a few times, it just shows as an empty window, just like the Ubuntu icon. When this happens, you have no possibility to start applications anymore.
  • When moving the mouse over an icon in the application launcher, a white border is drawn around the icon. The border is always a fixed size: if the application name is too long and wrapped over two lines, the border will cover part of the text.
  • Just like in GNOME Shell, it looks like I cannot add custom applets and application launchers in the panel.
  • The panel is used as a global menu bar for applications but not all applications support it: for example Firefox and LibreOffice do not use it. The menu is only shown when moving the mouse over the panel. If my mouse cursor is in an application itself, there is no trace of the menu, so people might be wondering where it is. I do not know whether this is by design or whether it is simply a bug. Personally I am also not convinced that a global menu is nice: when applications are not maximized, you  need to move your mouse back and forward between the application window and the top of the screen, which is cumbersome.
  • Mounted drives are shown in the dock and on the desktop. This looks a bit superfluous at first sight and especially when having lots of partitions on an external disk and lots of applications opened, the dock might become too small to show all icons.
  • It is still GNOME 2.32. You do not have the nice windowless pop-up dialogs from GTK+3, nor the nice date and time applet from GNOME Shell or the chat integration in the notifications. Users will not benefit from the improvements included in GNOME 3 applications.

While GNOME Shell looked like an unpolished and cumbersome to use product, Unity feels like a completely broken proof of concept. In its current state it is even impossible to do anything useful with it because even launching applications is almost impossible.

It is also questionable how Unity will remain usable in the future after Ubuntu 11.04 Natty is out: will they port it to GTK+ 3? And what will they do about the desktop icons, a feature which is currently still provided by Nautilus 2.32, but not present anymore in 3.0?

Canonical has decided to choose Unity as default for its next Ubuntu version because they thought GNOME Shell was not going into the right direction. However, Unity is currently even a much bigger failure than GNOME Shell. I have the feeling that Canonical’s decision was bad for both GNOME and Ubuntu: now we have two different unfinished, unpolished and in the case of Unity even totally broken desktop shells. I am wondering what would be the current state of GNOME Shell if Canonical had decided to dedicate its resources to GNOME Shell instead of Unity… I am also wondering how users will react to a desktop with Unity by default. Will Ubuntu derivatives with a different default desktop, like Mint, take over Ubuntu as the most popular distribution for desktops? Or will GNOME get into a similar crisis like KDE when 4.0 was out and will many users start moving to other desktops, either temporarily or permanently? Or will they just continue using standard GNOME 2.x until the dust settles? I do not have any answer to these questions, but for sure we are arriving at an important crossroads in the history of GNOME.

For screenshots and more information about Ubuntu 11.04 Natty and Unity, I refer to this Tech Drive-in article.

Why prefer Debian GNU/Linux over another distribution

Quite some time ago I wrote a blog post explaining why I preferred Mandriva over other distributions. But I have now switched to Debian GNU/Linux, so it is time for an update. I will mostly compare with Mandriva because that is where I come from and what I know the best, although most points are rather universal.

So, these are some reasons why I prefer Debian GNU/Linux over other distributions:

  • All officially released Debian GNU/Linux stable versions are supported for a long time. Where most other free distributions are supported for about 1,5 year, this is much longer for Debian stable. For example, security updates for Debian Etch were published up to about 3 years after its release.
  • Debian is more stable than most other distributions. This is due to the large amount of testers and due to Debian’s unique development model: the “unstable” branch contains only software which is considered stable upstream (with a few generally accepted exceptions). When a package is in “unstable” for 10 days without new release critical bugs it gets moved to the “testing” distribution. The stable releases are a snapshot of the testing distribution after a freeze during which all release critical bugs are fixed. Releases of the stable distribution are not time driven: the stable distribution is only released when it is really ready.
  • By using apt pinning it is possible to easily mix and match packages from different repositories so that you can run the latest version of specific applications. Apt pinning can be used to pick packages from the extensive backports repository or to install packages from the testing, unstable and even the experimental repositories without having to update your whole system to the same release (unlike Mandriva for example, and as far as I know the same is true for other distributions like Fedora). Instead, carefully defined dependencies will make sure that all packages which need to be updated together are pulled in, resulting in a working system.
  • Due to Debian’s development model it is possible to run a pretty up to date system at any time without sacrificing stability by using the testing distribution. I am now running Debian Lenny testing different systems for more than a month, with software which is often more up to date than in Mandriva 2010.1, yet the system is much more stable in general than my systems which were running Mandriva 2010.1.
  • Debian is fast. Debian Squeeze boots up very fast without hacks like Mandriva’s speedboot, readahead or preload. Also application start up is very fast. I am not really sure why this is the case, but my guess is that this is due to Debian’s simplicity: it does not install too much daemons and boot up scripts by default. Also Debian uses dash instead of bash for /bin/sh, which also results in faster boot times. Shutdown also feels faster than what I was used to in Mandriva.
  • Debian is secure. Because stable versions are supported for about 3 years and because security updates get released very fast. Debian also plays a rather active role in fixing security problems. For example, Debian’s webkitgtk maintainer searched for all webkit security patches and ported them to the webkitgtk 1.2 branch. The fixes were included in Debian’s webkitgtk and then were also included upstream in webkitgtk 1.2.3.
  • Debian is available for lots of platforms. You have an old PowerPC based laptop, a GuruPlug or OpenRD system with ARM processor or a SUN UltraSPARC server? Debian will run on all these systems.
  • Debian values freedom. Debian allows me to use my GNOME system without PulseAudio without loosing my volume applet in the panel (like was the case in Mandriva). But of course, if you want PulseAudio it is available and you can install it. Debian is not exclusively tied to the Linux kernel: there exist versions with a FreeBSD or even HURD kernels. The choice is up to you. Debian uses the Exim MTA by default but if you do not like this, other MTA’s are available and are equally well maintained and integrated into the distribution. Debian does not include non-free software by default, so that you can safely use distribute and even modify the software in all possible situations without having to worry about the license. But if you want to use non-free software, it is available in the non-free repository.
  • Debian is very “standard“. It does not replace standard components by its own implementations like especially Ubuntu is doing. That means that Debian does not use non-standard things like Upstart, notify-osd or indicator-applet by default or does not move the window decoration buttons to the left side. Of course if you do want to use these csutomizations, they are all available (Debian values freedom!), but by default Debian prefers to use the standard upstream software. This ensures the best compatibility with upstream now and in the future, because all these non-standard Ubuntu things might cause conflicts later on with new upstream design decisions.
  • Debian is not owned by a commercial organization. The free distribution is not some kind of crippled version of a commercial product which has all features and software available. It ensures also that decisions are not taken based on commercial interests, but only in the interest of the community. If you do want commercial support, there are many companies supporting Debian all over the world.

Related to that: today is Debian’s 17th anniversary and Debian Appreciation Day. If you use Debian, let the Debian community know you appreciate their work http://thank.debian.net.

Why prefer Mandriva over another distribution?

Yesterday someone asked on a Dutch website the same question which comes back on sites like Slashdot every time a new Mandriva release is announced: what is the the advantage of Mandriva above other distributions like Ubuntu, OpenSUSE and Fedora.

This made me think and so I wrote down a couple of reasons why I use Mandriva on my desktop systems.

10 advantages of Mandriva above other Linux distributions

  • The default graphical theme in Mandriva looks much better than Ubuntu’s brown mess.
  • All graphical configuration tools are centralized in the Mandriva Control Centre.
  • Mandriva has some unique configuration tools, such as msec which permits you to change advanced security settings from the GUI.
  • Mandriva makes it very easy to install 32 bit libraries and applications on the x86_64 version. In Ubuntu some of the more important 32 bit libraries can be found in the ia32-libs packages, but if you need something else which is not in there for whatever reason, things become more complicated and messy: you can for example extract the libraries by hand from the 32 bit deb package and install them in /usr/lib32, or you’ll have to create a complete 32 bit chroot. In Mandriva you can simply install packages from the 32 bit distribution on the x86_64 release by means of the standard console or GUI installation tools.
  • (shameless plug) The program menu is much nicer if you have installed KDE and GNOME together on your system (in Ubuntu and other distributions you will get very long menus containing lots of KDE and GNOME applications mixed together.
  • Mandriva’s booting times is about the fastest possible for a generic distribution thanks to Speedboot
  • KDE as shipped by Mandriva is generally a bit more stable and polished than in Ubuntu
  • Mandriva’s GNOME corresponds more to the default upstream GNOME than for example in OpenSUSE (e.g. by default it does not use that messy Slab menu)
  • Very flexible graphical installer in the Free and Powerpack editions for people who want a more complete and custom installation than the one from a standard live cd
  • Mandriva’s development community is very open and accessible, eg. via IRC and mailing lists. If you do a little bit of effort, it’s pretty easy to become a Mandriva package maintainer yourself and to integrate your contributions yourself in the distribution.

Some disadvantages of Mandriva

  • Security updates are sometimes a bit later than other distributions and for some packages even completely missing. It has to be said that these are mostly not too important security problems and I’m not aware of any problems this has caused for anyone in practice. Also bugfix updates for some reported problems are sometimes late or not done at all.
  • While the graphical themes are much better than Ubuntu’s in my opinion, I still think they cannot beat the upstream KDE and GTK+ themes.
  • The Mandriva configuration tools sometimes have annoying bugs or do not have the best looks possible.

Personally, I consider Mandriva and Debian as the best distributions available. I think Ubuntu is overhyped a lot and does not offer much (if anything?) you cannot do with Debian. I also think Debian’s distribution model consisiting of the Stable, Testing and Unstable distributions is great and makes it possible to have a pretty stable and “rolling” distribution with fairly up to date software at any time. However, the fact that I can directly contribute my own improvements to Mandriva and the fact that installing 32 bits stuff on x86_64 is dead easy, make tthat Mandriva is still my preferred choice on desktop systems.

Anyway, the choice is up to you!

Quick look at Kubuntu 8.04 KDE 4 Remix

A few weeks ago, a researcher at work received a new HP 6910p laptop. As he’s a Kubuntu Linux user, we decided to try the new Kubuntu 8.04 KDE 4 remix to get an idea of all the new features in KDE 4.

The first impression was not very good. Already quickly after the installation, we discovered lots of bugs and missing features. It was impossible to drag and drop an application to the panel at the bottom. The battery monitor looked huge and ugly compared to kpowersave, which is what we are used too. There was no possibility to suspend to RAM and suspend to disk in the user interface. When doing it from the console, the laptop did not always come back from hibernation. Only a very few Plasma desktop applets were available, of which some seemed to be duplicates (I had the impression there were two different RSS readers), while others had funky, incomprehensible names.

We tried activating some of the window manager effects. When we chose the default OpenGL method, we were presented by a black screen. We pressed Esc, in the hope that it would return to the previous working state, but it seems that this actually accepted the setting in the (invisible) confirmation dialog: the screen remained black, and we had to remove ~/.kde4 in order to have a usable desktop again. The black screen was certainly caused by the lack of DRI for the Radeon HD mobility card in the free ATI driver. KDE should have really warned us that DRI was not working, and should immediately have disactivated the compositing effects with OpenGL When we tried the window effects with xrender, the results were less dramatic, but the effects did not display correctly.

We installed ATI’s binary fglrx driver. However, one week later, we decided to switch back to the free driver, because the kernel and/or the X server locked up very often with the binary driver.

Half of the time, when logging in into KDE 4, the window manager does not seem to be started, and panel settings are not loaded. Getting a multiple monitor setup working, was also very problematic: the KDE 4 display settings tool, did not seem to work at all (nothing happened when changing the settings, and the Apply button remained disabled). In the end, we got it to work with the xrandr command line utility, following the hints on ThinkWiki. But even then there were problems: when using a multiple monitor setup, the external monitor’s image sometimes is shifted about 5 centimeter to the right, giving a black border at the left, and a part of the desktop invisible and unreachable to the right of the external monitor. When maximizing a window on the smaller laptop screen, where the panel is active, the maximized window seemed to take the height of the higher external window, so that part of it was hidden behind the panel. Also when using the xrandr utility to switch to a different mode, the window manager often crashed.

So all in all I’m very negative about Kubuntu 8.04 KDE 4 remix. KDE 4 should never have been published as being a final release, but should have been published with a clear Technology Preview name. Even KDE 4.0.4 from the backports repository, did not help fixing the many issues we had. Distributions like Fedora 9, OpenSUSE 11 and Kubuntu are making a huge mistake by shipping this alpha quality desktop by default in a final product. Apart from that, it seems (K)ubuntu 8.04 has other problems related to the kernel and the binary ATI driver.

I’m hoping of installing a machine with KDE 4.1 beta on Mandriva Cooker this week-end, and I will try to retest some things there and report the problems to KDE’s Bugzilla. I don’t have too much hope though. Several features have again been postponed to version 4.2 (for example the multiple-line taskbar, like was the default in KDE 3), while kdepim will only gets its first release for KDE 4 now, so I expect it to still be buggy at this moment.