Many fellow Ubuntu users have been protesting the recent developments in user interface design, call it Unity/Gnome 3/whatever. But what can a user do? Of course one could migrate [back] to Debian. But I happen to really like the way Ubuntu has done many other things. And I've found a way to restore its usability. I'll also share a few extra tips that I've found useful with Ubuntu.
Moving to Xfce
First, I replaced the default desktop environment with Xfce. It's a full-fledged, light-weight, easy-to-use desktop environment that by default has kind of an OSX-style look but is extremely customizable. It also comes with a simple compositor. Installing Xfce is simple:
$ sudo apt-get install xubuntu-desktop
$ sudo apt-get --purge remove ubuntu-desktop
$ █
This will also rebrand your distro as Xubuntu. Despite this superficial change, it will use the same repositories and, for the most part, will work exactly the same way as you're used to.
No more PulseAudio
Secondly, and less importantly, I eradicated PulseAudio which is another common source of mischief:
$ sudo apt-get --purge remove pulseaudio
Scan finger on UPEK TouchStrip Sensor-only
█
One of the most satisfying biometric sudo moments!
Cool little terminal
My terminal emulator of choice is rxvt-unicode, also known as urxvt. Living up to its name, it has great support for Unicode in addition to being fast and lightweight. It can be daemonized, which shortens the startup time of new windows even more. Needless to say, it's very customizable via Xresources. It also comes with a bunch of optional Perl extensions.
Keyboard tips
These keyboard tips work in Xubuntu and Xfce, but could be applied to other environments, too.
Some shortcuts
Keyboard shortcuts can be added in Application Menu → Settings → Keyboard → Application Shortcuts. For example, I've set the command urxvtcd to be executed when the section (§) key is pressed. This way you can map a seldom-used key to do something more useful, in this case open a new terminal window.
I've also made it easy to copy text from XA_PRIMARY (the "mouse cursor" clipboard) to XA_CLIPBOARD (the "Ctrl+C Ctrl+V" clipboard) by adding a shortcut key to launch the command /bin/sh -c "xclip -f -out | xclip -selection clipboard".
Compose key
The Compose key can also be useful. It lets you quickly input many special characters not directly present on the keymap, using simple mnemonics.
To map the Windows key to work as a Compose key, add keycode 133 = Multi_key to your ~/.Xmodmap:
$ echo keycode 133 = Multi_key >> ~/.Xmodmap
$ █
Also, make Xfce read the config at startup by adding xmodmap /home/username/.Xmodmap to your Settings → Session and Startup → Application Autostart:
Some compose key sequences and the characters they produce:
Cmp + S + O | § |
Cmp + O + C | © |
Cmp + A + E | æ |
Cmp + – + > | → |
Unicode input
To input an arbitrary Unicode character that you know the code point of, press Ctrl+Shift+U, then the code point in hexadecimal, and commit it with Enter or Space. Like so:
Ctrl + Shift + U |
21D2 space | ⇒ |
221B space | ∛ |
5B97 space | 宗 |
2620 space | ☠ |
Over-enthusiastic Sticky keys
You can disable gdm's Sticky Keys and Slow Keys accessibility helpers by adding xkbset -a to the aforementioned Autostart list.
Done!
There you go! Make sure to choose Xfce or Xubuntu session from the greeter when you log in. And here's a screenshot of my Xubuntu session with root-tail, conky, rxvt-unicode, vim, and Firefox: