I know of the awesome window manager, which after some customization may suit my desires, but I was wondering if there is a keyboard-centric desktop environment that doesn't require too much tweaking to make it really useful. Of course gnome and I'm sure KDE have nice shortcuts, and the ability to set them up how you want, but that becomes a problem because in a lot of cases the keyboard ends out conflicting with built-in program behavior.

Any suggestions?


5 Answers 5


There are plenty! (However, all the ones that I know of are also tiling window managers.)

  • XMonad is likely the one with the largest user community. It has extensive documentation and works well with GNOME/EWMH extensions (albeit you have to activate them in the configuration file). The configuration file has Haskell syntax, but it's certainly possible to edit it without knowing much about Haskell, by just copying+pasting examples from the documentation. Default keybindings are vim-inspired, though they can all be remapped (including using chained keybindings like Emacs' C-a C-b C-c). It's available in Ubuntu as package xmonad.

  • Bluetile is an offspring of XMonad: it supports a simplified configuration file, and integrates well with the GNOME desktop by default. Unfortunately, it's not available in Ubuntu 10.04, so you have to install from source.

  • DWM is the "inspiring father" of XMonad and Awesome. It's very lean and fast, and available as package dwm in Ubuntu 10.04. However, by design, to change the configuration you have to edit a header file in the sources and recompile; most documentation about the available options is only available as mailing list posts. It does not support GNOME/EWMH by default, you will have to patch it; the Echinus fork of DWM started this way. Most dwm users will frown upon a "desktop environment" so it's probably not the right choice if you like GNOME gimmicks. Default key bindings are vim-like; they can be remapped, but there's no option for chained key-combos.

  • Awesome started off as a fork of DWM.

  • Ion is a tiling window manager fully programmable in Lua: also the "configuration file" is a Lua script, so you can map any key to any action (provided you know enough Lua for the task). No support for GNOME or EWMH extensions, as far as I know. Available in Ubuntu 10.04 as package ion3.

  • wmii is the predecessor of DWM (same author). It can be fully controlled by the keyboard, but has a smaller selection of layouts, and the configuration format is based on a "virtual filesystem", which makes very complex things possible but (IMHO) also simple things rather complicated. Available in Ubuntu 10.04 as package wmii.

  • larswm can configure a key binding for all the operations it supports. Documentation comes in the form of a man page, clear and complete. The user community is now very small, and the mailing list used to be silent for months. No support for EWMH/desktop extensions. Available as package larswm.

  • ratpoison, as the name says, forces you not to use the mouse. Every action is accomplished by a key stroke. Default keybindings are inspired by GNU screen and Emacs; they can be rebound, subject to the constraint that there is always a global "prefix key" to initiate the action. StumpWM is a rewrite of ratpoison in Common Lisp, which adds the nice option to hack the WM while you're running it. No support for EWMH/desktop extensions (by design, I'd say). Both are available in Ubuntu 10.04 (packages ratpoison and stumpwm).

  • awesome is no longer a tiling wm, although it is still supporting tiling
    – bandi
    Commented Dec 8, 2010 at 19:36
  • The Bluetile author refers to XMonad as a library for writing window managers. I think this is an accurate description. Commented Nov 13, 2013 at 23:46

Use Meta or Ctrl-Alt modifiers for desktop shortcuts.

Most programs use Ctrl or Alt modifiers for their shortcuts (or use the function keys with no modifiers).

Most programs don't use Ctrl-Alt shortcuts and almost never use Meta shortcuts, so you should be safe using these without conflict.

  • 2
    On standard keyboards <Meta> is the Windows-key. Commented Aug 10, 2010 at 14:02

You might want to check out the keyboard shortcut community wiki on here for more information on default keyboard shortcuts :)


Apart from awesome, other choices are DWM & WMii. I don't know much about WMii but DWM is extremely simple and slick and has all customization contained in the source code itself. However, this means it requires you to recompile it everytime you change a shortcut. This is what gives dwm its power and performance.

My choice would be awesome - it can be easily installed from official ubuntu repositories.

sudo apt-get install awesome awesome-extras

HOWTO: Setup AwesomeWM - Ignore the build from src instructions if u use above install command


I would argue that Emacs has crossed the boundary of being a text editor and is now a full blown OS, and at least for me, is my prefered keyboard centric user interface. I mean the above statement as a compliment and a strong recommendation of the program rather than the tired joke some people imply with the same statement.

I usually invoke it in a terminal window with:

emacs -nw

Of course install it with:

sudo apt install emacs

I am still surprised that Ubuntu and Canonical choose not to install it by default.

It does have a somewhat steep learning curve, but will reward you with a rich working environment and editor. Start your exploration by using it's built in tutorial, which you can invoke with:

ctrl-h t

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .