How to turbo-charge your Linux desktop




To start with, let's look at how the layers of the Linux GUI fit together. At the bottom is the X Window System (aka "X"), which interfaces with the hardware and provides low-level libraries to draw pixels and render shapes. Above that sits a widget toolkit (eg GTK+ or Qt), which interfaces with the X Window System to create re-usable widgets such as buttons, menus, drop-down boxes and more. Moving on, there's the window manager (aka "WM"), which uses the widget toolkit to produce title bars, resize handles and menus. Finally, at the very top of the stacks, is the desktop environment, which builds upon the window manager, adding panels, system trays, a file manager and so on.

That's the setup when you're running one of the big three desktops (Gnome, KDE, Xfce). However, if you choose a standalone window manager (WM), you can cut out the first and third layers in this stack. A window manager tends to incorporate all desktop functionality into a single executable that doesn't have additional programs such as file managers.

Also, most standalone window managers don't rely on a widget toolkit, instead rendering their own graphics and interfacing directly with the X Window System libraries. This helps to keep their RAM consumption to a minimum.

We're using Ubuntu 8.10 for this article, and we'll show you the commands you'll need to install three great WMs via the internet. Click Applications > Accessories > Terminal (in Gnome) to enter the commands. Then, after installing, log out and click Options > Select Session to choose the WM that runs when you log in. Let's go!

1. Fluxbox

  • Raw speed and low dependencies, free up screen space
  • Install on Ubuntu sudo apt-get install fluxbox fluxconf

When you first start Fluxbox, you'll probably be scratching your head and pondering: is this it? Well, that's the idea: Fluxbox wants to give your screen real estate back to you. It may look a bit daunting at first, but give it some time and you'll learn to love it.

Straight away you'll notic e that there's no program menu to click like the K button in KDE or Applications in Gnome. However, you can bring up a similar type of menu by rightclicking anywhere on the desktop. This menu contains submenus for different program categories, and you can drag it around your desktop by clicking on the bar at the top. To get rid of the menu completely, just right-click on the menu's top bar.

Fluxbox automatically generates its Applications menu from the programs stored on your system.

Now let's turn our attention to the panel at the bottom of the screen, known as the Toolbar. It's very thin compared with the KDE panel and stretches across only two-thirds of the screen's width. On the left, you'll see the word 'one': this displays the current virtual desktop, so click the arrows to the right of the word to switch desktops.

Take me to task

After this, you'll see a task bar implementation. It's much the same as in Gnome, KDE and Xfce: programs are displayed along with their icons, and you can right-click on a program's entry to 'sticky' the window (that is, make it visible on all virtual desktops) and perform other operations.

To the right of the task bar area you'll see another pair of arrows, which enable you to cycle through currently running programs. Lastly, there's a clock. You can configure the behaviour of the toolbar by right-clicking in a nontask bar area. This brings up a menu which sets the toolbar's position, width (left-click to shrink it and right-click to grow it) and whether it should auto-hide.

To configure Fluxbox, right-click on the desktop and go to Configuration. Some of the options you'll see are:

Focus Model This changes whether you select windows by clicking them, or by hovering over them with the mouse.

Tabs Options By unchecking the Tabs In Titlebar option, each window will have a small tab above its title bar, making it easy to group windows together.


Many window managers rely on config file editing - not Fluxbox, though, which is tweakable via its system of menus.

Further fine-tuning



2. Ratpoison


For web browsing and graphics editing tasks, the mouse isn't a hindrance - chances are you keep one hand on the keyboard and the other on the mouse. But what about when you're editing documents or programming? Just to hit a menu entry (if you don't know the keyboard shortcut) you have to reach over and grasp that increasingly annoying rodent.


Ratpoison is the complete antithesis of Compiz Fusion - it only wants to display what really matters: your programs.



What tiler?






Flex your fingers

Now let's look at tiling. We can split up the screen horizontally or vertically based on the last two windows selected. Using Ctrl+T and the number keys, select one window and then another. Then hit Ctrl+T then S to split the screen horizontally, or Ctrl+T then Shift+S to split it vertically.

You can then switch between windows in the split using Ctrl+T followed by a number as above, and select two windows to do yet another split. Take the screenshot, above, for instance. To get that setup, we did this:

  1. Logged in to Failsafe Terminal and ran ratpoison, which displayed the terminal full-screen.
  2. Hit Ctrl+T then C to open another terminal window.
  3. Ran 'gedit &' in the new terminal window (to keep the shell process going).
  4. Hit Ctrl+T then 1 to switch back to the second window.
  5. Hit Ctrl+T then Shift+S to split the screen horizontally.
  6. Used Ctrl+T then the number to select the first terminal and then the second.
  7. Hit Ctrl+T then S to split those terminals vertically.

That looks like a lot of work, but after some practice you'll be quickly knocking out key combos to get your desktop just the way you want it.

Ratpoison won't give you a huge productivity boost if you spend most of your time in graphics p rograms, but if you're a coder or writer, you absolutely have to try it out.

Quick key combos

Ratpoison works best when you're able to remember a few of the most important keyboard shortcuts. Here are the ones we'd recommend you commit to memory:

  • Ctrl+T then C - Start a new terminal
  • Ctrl+T then W - Show list of windows
  • Ctrl+T then number - Switch to a window
  • Ctrl+T then S/Shift+S - Split last two selected windows vertically/horizontally
  • Ctrl+T then Shift+Q - Show current window full-screen
  • Ctrl+T then N/P - Switch to next/previous window
  • Ctrl+T then Ctrl+T - Toggle windows (like Alt+Tab on other WMs/desktops)
  • Ctrl+T then K - Close current window

3. Enlightenment

  • Eye candy and power-user functionality
  • Install on Ubuntu sudo apt-get install e16 e16keyedit e16menuedit2 eterm

Any mention of Enlightenment (colloquially 'E') brings two things to mind: bling and a ridiculously protracted development process. Despite having been in the works since 1996, this WM has only managed to reach a 0.16 version number (commonly referred to as E16).

But let's be clear: the 0.16 release could realistically be called 1.0. It's stable, loaded with features and many long-time Linux/Unixers run it as their full-time WM. Indeed, a lot of hardcore E users find it hard to get excited about Compiz Fusion - E had transparent windows and drop shadows back when a 233MHz CPU was seen as pretty decent kit.

Drop shadows and translucent menus can be enabled in E, and these work on hardware that Compiz doesn't support.

At the login screen, after choosing Select Session, you may be given three options for starting E: one with Gnome, one with KDE, and one that's just 'E16'. E is flexible enough to replace Metacity in Gnome or KWin in KDE, but just choose the 'E16' option for now.

Pretty as a picture

Enlightenment's visual pizzazz is apparent right from the start. After a loading progress bar, you'll see the screen unfurl like a scroll. The desktop looks quite bare at first glance, although it's bustling compared with Ratpoison.

As in Fluxbox, you start programs by clicking on the desktop. However, you need to middle-click to bring up the main menu. In Ubuntu this includes a submenu called Debian Menus, which contains your installed applications. If you right-click instead, you'll see the Enlightenment Settings menu, and leaving the mouse pointer static summons a help bubble.

So, launch a program by middle-clicking and going into the App menu. When you have a window, look at the pair of boxes at the bottom-left of the desktop. These are the virtual desktop pagers: by default you have two desktops, each containing two workspaces - and, best of all, the window icons are thumbnail representations of the full window.

If you minimise a window, you'll see that it goes into the bottom-right box on the desktop: the icon box. This gives you thumbnail version of your programs; right-click and choose Settings to enlarge the icons, or you can set up the list vertically if you prefer - E is highly customisable.

Sifting through settings

In fact, the many Settings dialogs can be overwhelming, so let's explore a few. Right-click on the desktop and choose Composite Settings to enable some effects. Check the Enable Composite box, Enable Fading box and Shadows Blurred radio button then hit Apply to give windows drop shadows. Next, go to Move & Resize Settings and choose Translucent in the Move Methods list. Moving windows are now semi-transparent.

You can also make menus roll out by going to Menu Settings and selecting the Animated option. And if the Sloppy Focus setting annoys you (focusing the window beneath the mouse pointer) choose Focus Settings and 'Focus follows mouse clicks'.

E's extreme customisabiity may even have the edge over the venerable FVWM and AfterStep window managers.

Now that you have the basics sorted out, have fun exploring. Reverting to the stock E setup is easy, just log into a different WM, remove the .e16 directory from your home directory and then restart E.

First published in Linux Format magazine

You should follow us on or Twitter

Your comments

Username:   Password: