Monday, 19 March 2012

CentOS 6 as a desktop distribution

Although there are distributions out there that are arguably better suited to the desktop/laptop environment, I have found CentOS 6 to be my perfec linux distribution for everyday use. However, a default CentOS/RHEL install needs a bit of tweaking once installed to make it completely useable. Tweaking a linux distribution is often part of the attraction of running a customised linux install on your desktop but it can come with the cost of increaseed maintenance, particularly when doing updates etc.

CentOS 6 comes with the Gnome 2 Desktop Environment by default - KDE 4.3 is also available and you can install XFCE plus some of the lighter desktop environments via some of the 3rd party software repositories (I'll come to those later). However, if you want the latest Gnome 3, Unity or KDE environments you will probably want to look elsewhere. Personally I find gnome satisfactory for my needs - its stable, doesn't get in my way, and since I spend most of my time in a web browser or terminal then its fine.

CentOS provide a laptop and media section on their excellent wiki. Redhat from which CentOS is derived do not provide the media codecs such as MP3 for licencing reasons so a default installation of CentOS won't be able to play all your MP3's, watch mpeg video or connect to flash enabled sites. Fortunately there are plenty of 3rd party software repositories available which you can use - these provide all those tweaks but in a manageable form - set them up right and you can update later without issues.

I use 3 3rd party repositories - EPEL, RPMForge and ELRepo. This is where you have to be a little careful. While many 3rd repositories won't upgrade "core" packages that are provided with CentOS, they may conflict with each other and break dependencies. One way to control this is to use yum-priorities to ensure one repo has precedence over another, so if a package exists in both repositories, it will be installed from the one with the highest priority, even if the package in the other repository is a later release.

More information on yum priorities and configuration of the repositories can be found on the CentOS Wiki. On desktops I personally set RPMforge with a priority of 40 and EPEL with a priority of 50. Then it's just a case of installing the necessary packages to complete your desktop setup:

yum -y install gstreamer-plugins-ugly gstreamer-ffmpeg flash-plugin rhythmbox totem

Most laptops come with various sensors and power control utilities. These may require kernel modules that are not included in the standard CentOS kernel. Fortunately the ELrepo project provides many of these including the 3rd party ATI and Nvidia drivers. On my thinkpad, I install the kmod-tp_mapi package to control the battery charging module and preserve the lifespan of my battery, plus the kmod-r8192se to provide the wireless drivers.

Other useful utilities include:
lm_sensors - a package to allow you to monitor the temperature zones in your machine
tuned - this tunes the kernel parameters of your system such as powersaving modes for laptops

Firefox and Thunderbird have recently been updated to the 10.x releases - these are the longer term supported releases from the Mozilla foundation. VPN clients including OpenVPN and Cisco IPSec. Skype works. I can run Wine or CrossOver to emulate windows apps. Virtualbox or KVM to provide virtual machines. The only thing I perhaps miss on my default CentOS 6 install is perhaps a decent photo-manager, but I'm working on that one...

So although CentOS 6 may not have all the latest greatest software like Ubuntu or Fedoras, it is a perfectly useable desktop system. Moreover its quick, stable and proven and very unlikely to let you down.

1 comment:

Marcus West said...

Nice piece Al. I am using Centos as a Desktop, and I find it perfect for my needs.

Ubuntu went pear shaped, Mint is insipid, and Arch is overkill.

Gnome 2 is a tidy GUI, and as you say Centos is fast and stable, which is why I run it on 2004/2007 hardware.