Tuesday, January 21, 2014

Fedora 20 LXDE Spin Tune-Up Tips and Tricks

by Dietrich Schmitz

Regular readers will have figured out by now that I have a particular obsession affinity for Fedora.  It has things that make it just 'better' than the competition.

Still, competition exists and Fedora is not everyone's cup of tea.  And isn't that the way of the world?

It seems that it suffers from an arguably undeserved reputation for being more difficult to set up and use.  Some of that is true, still.  But, I maintain that the Fedora Team has done a brilliant job pulling together their twentieth iteration family of spins, Fedora 20 and the 'ease of use' category hasn't been overlooked.

All the spins have their merits -- you have Gnome (Fedora Desktop default), KDE, Xfce, Mate, and LXDE spins from which to choose.  Conspicuously missing from the line-up is a Cinnamon Spin, but, fortunately, as with Enlightenment 17, Fedora chose to include software groups, should you feel the need to run with those GUIs.  Only you must install one of the aforementioned spins first before installing one of the two guis.

That is all well and good.  But, some of you also know I have this thing about minimalism.  It's not just about visual elements; it's minimal in terms of resource consumption as well.

Thus, I have come to like the LXDE Desktop along the way using Lubuntu.

Let me say that Lubuntu is a very fine Distro for new users coming from a Windows perspective.

I've gone back to Lubuntu several times in the past because of one thing or another that set me off and I got annoyed by so as to induce a reflex response -- go back to that which 'just works well'.  That was, for me, Lubuntu.

It is easy to install, use, familiar, comfortable, lean, minimal and wicked fast.

When briefly using it not long ago, I thought to myself, "Self, why can't Fedora be like this?"  I was left to wonder about it until this past week and I set out to reproduce the "Lubuntu Experience" by seeing if I could tweak up the 'bland' out-of-the-box Fedora 20 LXDE Spin by making a few needed changes.

I was pleasantly surprised to find that I was able to achieve the desired result.  Fedora 20 LXDE tweaking helps more than a bit, I think.  But, you can be the judge.  

Here's a run-down on what I've done to tweak up the LXDE Spin a bit.

Btrfs Filesystem

I don't think this is easy to do on Ubuntu, but, I can't remember if I tried to make Lubuntu run with Btrfs as the root filesystem.  Somewhere, I read that it gives grub major headaches, but, I have found the out-of-the-box selection of Btrfs with auto-configuration makes a separate partition for /boot (512MB) using ext4.  There was no thinking on my part to make that happen, but given grub is running on ext4 is the 'rub'.  Nicely done Fedora Team for making this a 'seamless' process.  There's nothing worse than the feeling one gets after an install seeing on first boot a grub> prompt.  That's a sign that something has gone fubar and it usually requires going back to grub.cfg and/or booting up a pendrive and using fdisk to remedy.  So, I was quite pleased that the new Anaconda installer handles Btrfs so well.

Full Disk Encryption

Full Disk Encryption will encrypt your entire HDD/SDD and every time you boot, you will need to input your WDE password to unlock the drive before the system can bootstrap.  This is strongly recommended in today's world where theft of Laptops has become rampant.  As a matter of good security practices, I'd suggest it be used on any hardware, regardless of whether it is a Laptop or not.  In the Anaconda installer, it's a checkbox [x] selectable item.  Check it!

Linux Kernel 3.12 zswap

My good Friend +birger monsen shows in a Google Plus post how to enable a new feature found in the Linux Kernels >= 3.11 called zswap.  

Zswap essentially takes data that would otherwise head to I/O disk swap space and compresses it in a kernel ram cache using LZO compression.  Effectively, a speed performance gain can be realized by using zswap.

Interestingly, Lubuntu 13.10 has zRam, a similar technology (but not the same), enabled by default and it helps greatly with older PCs, even ones having as little as 256MB ram will benefit.  Naturally, I have zswap.enabled.  Why?  Because I am bad. :/ Seriously, if you google around, you'll find information that shows IBM is equipping their Linux mainframes with zswap for heavily I/O bound applications yielding measurable performance gains.  Enough said.

Yum Plugins

If you love yum as much as I do, then Fedora is for you.  It's just far superior to Apt-Get for so many reasons.  In Fedora 20, presto has been merged so a separate install of the plugin is not necessary.  But, I installed two delicious plugins: yum-plugin-fastestmirror and yum-plugin-fs-snapshot.  The former, determines the 'closest' mirror to your geo-location -- this actually can make a difference in terms of number of hops your tcp/ip packets must travel to reach your PC, believe it or not.  It's a must-have as far as I am concerned.

The latter, yum-plugin-fs-snapshot, is 'money in the bank' if you need to have a restore point from which to recover.  Apple OSX and Microsoft Windows users enjoy having such when things go fubar.  Now, with this plugin installed, whenever using yum to make an update/change/removal, the plugin will diligently create a 'snapshot' (a standard feature in Btrfs).  The plugin automatically backs up each time yum is called.  By virtue of copy on write (COW) technology Btrfs uses minimal disk space and the backup time is near instantaneous.  The first time I messed with Btrfs a few years ago I thought something was wrong.  The snapshot command returned to a prompt in less than a second.  I thought, "Did it just core dump?"  Nope.  

It all seemed counter-intuitive at first but with COW you only get only pointers to read-only data (data that hasn't changed) with any other disk 'writes' getting a full copy.  It's a great idea that Btrfs borrows from the SUN's Solaris ZFS filesystem. (See directly above yum in a terminal session doing an automated fs-snapshot.)

Install both plugins with:

$sudo yum install yum-plugin-fastestmirror yum-plugin-fs-snapshot

Google Droid True Type Fonts

Google Droid fonts, easily, are as good as Windows Tahoma TTF and Ubuntu TTF true type fonts and were installed with:

$sudo yum install google-droid*

After installation, be sure to go to the Preferences->Customize Look and Feel->Fonts tab and make sure hinting is using Rgb and set to 'Full'.  This is especially helpful on LCD Laptop displays.  On the 'Widget' tab, set the 'Default Font' to Droid Sans 10 point.

Adwaita Nemo Widget Theme

I chose by trial and error Adwaita-Nemo Widget theme.  Install with yum:

$sudo yum install adwaita-nemo

Select from the Customize Look and Feel->Widget tab.

Elementary Icon Theme

Just by chance, I decided to try Elementary Icon Theme and liked how it gives LXDE an overall professional feel.  Install it with yum as follows:

$sudo yum install elementary-icon-theme


FedoraUtils is a 'grab bag' of utilities with a Zenity gui wrapper for a series of shell scripts.  Used judiciously (not all scripts are applicable), one can quickly configure features which otherwise might require additional time when done manually at the terminal command line.    

Features include:

  • Install codecs and additional software
  • Fix various problems
  • Tweak and cleanup your system
  • View system information
  • And much more...

OpenBox 'Flatbox' Window Decorator Theme

What really sets LXDE apart is it's OpenBox window manager.  I love OpenBox for it's blazing speed and minimalism.  I went to Box-look.org to check around for other styles of OB window decorations and ultimately chose Flatbox.  Download the obt file and import from Preferences->OpenBox Configuration Menu->'Install a new theme' button.

The decoration is clean and doesn't cause the eye to break -- it integrates as though it was meant to be.

It's a clean crisp look that when added to the Elementary Icon Theme and Adwaita-Nemo Widget style is simply superb.  In fact, I really think appearance-wise it is better than stock Lubuntu.

Pidgin Instant Messenger - pidgin-libnotify

I hate how Google Plus Hangout (formerly GTalk) works.  So, instead I set up Pidgin.  It's really better anyhow, since you'll never miss any message from a friend with Pidgin (such as when your G+  tab is closed).  And if you install pidgin-libnotify along with xfce4-notifyd you'll have notifications screen up when friends come and go.  Don't forget to go to Pidgin->Tools->Plugins->Libnotify Popups (select)->Configure Plugin button  and checkmark [x] 'Buddy signs off' and 'Buddy signs on'.  Also, in Tools->Preferences, be sure to have Pidgin minimize to your system tray 'Always'.

Install pidgin-libnotify and xfce4-notifyd with:

$sudo yum install pidgin-libnotify xfce4-notifyd

If you don't like the default location for Pidgin's popup notifications (top right), open a terminal and type xfce4-notify-config and set the location to lower right as I did.

Compton Composting

LXDE in the Fedora Spin is considered lightweight by design.  Thus, you don't get any compositing like KDE, MATE, Gnome Shell, or Cinnamon.

If you have the intestinal fortitude, clone the compton project using git and manually compile as I did.  This rpm 'should' be installable on Fedora.20 if you pass in $sudo yum localinstall --releasever=19 <package name>.  But, I haven't tested it.

RPMFusion Free and Non-Free Repositories

RPMFusion provides Free and Non-Free rpm packages which aren't found in the standard Fedora repository system.  Follow the directions to install the *.repo files and you are good to go.  Once done, I installed VLC Media Player, Mozilla Totem plugins which are accessible from both Chrome and Firefox.


At first, I was skeptical about this technology.  But now, I am sold.  What does Redshift-Gtk do?  Well, it when fed your latitude and longitude, goes to its own database of current weather conditions indexed by time of day, and then makes a display color 'heat' adjustment.  It automatically adjusts throughout the day to the most ideal setting for viewing and eases eye strain accordingly. I strongly recommend it and you will appreciate it most at night when an otherwise 'bright' screen can kill your vision.  Install redshift-gtk with:

$sudo yum install redshift-gtk

With LXDE, you'll need an autostart file in your ~/.config/lxsession/LXDE/ directory.  

The commands in mine include starting Pidgin, compton, and redshift as follows:

dietrich@localhost LXDE$ cat autostart

@compton -c -r 16 -l -24 -t -12 -G -b


@redshift-gtk -l 43.030718:-74.992302 -t 5700:3600 -g 0.8 -m vidmode -v


Looking at the Desktop, it is clean, easy on the eyes.  If you've never tried Fedora, I would suggest LXDE especially for older PCs.  You'll find the machine will return to life and OpenBox's windows paints and LXDE GTk refreshes will snap on screen instantly.  Short of using Lubuntu or #!CrunchBang, I cannot think of any faster Linux Distro setup.  
Fedora 20 Linux LXDE Spin running with the tweaks shown in this story.

Hopefully, the tune-up tips and tricks I gave will increase your level of enjoyment using Fedora.

Fedora Linux:  The safest operating system on the planet.

I stake my reputation on it.


Enhanced by Zemanta


Post a Comment