If you’ve upgraded to Ubuntu 11.04, you may have noticed your Emerald themes for window borders are no longer working. You can still open the Emerald Theme Manager, but selecting new themes does nothing. And if you try starting Emerald via the terminal, all you will be presented with is a “segmentation fault”. This is because while Emerald may technically still be on your system, it’s actually not compatible with the latest Compiz-Fusion.

And you can forget about finding a newer version in the repos, since Emerald is unfortunately a dead project which hasn’t been maintained for a while now. So you can forgive Ubuntu for no longer supporting it, especially since Jasper, the successor to Emerald, is on its way.

But you can actually get Emerald working in 11.04, which you can do by uninstalling it, and reinstalling via git and manual compiling.

First off, we need to totally remove Emerald, which you can do by running the following command in a terminal:

sudo apt-get purge emerald

Next, we need to install git and some dependencies:

sudo apt-get install autoconf git intltool libdecoration0-dev libemeraldengine0 libtool libwnck1.0-cil-dev libwnck-dev

More dependencies will need to be installed, so just agree to those to proceed:

The following NEW packages will be installed: autoconf automake autotools-dev emacsen-common git git-man intltool libatk1.0-dev libcairo-script-interpreter2 libcairo2-dev libdecoration0-dev liberror-perl libexpat1-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libglib2.0-cil-dev libglib2.0-dev libgtk2.0-cil-dev libgtk2.0-dev libice-dev libltdl-dev libpango1.0-dev libpixman-1-dev libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libstartup-notification0-dev libtool libwnck-dev libwnck1.0-cil-dev libwnck2.20-cil libx11-dev libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev libxres-dev x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-resource-dev x11proto-xext-dev x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev zlib1g-dev 0 upgraded, 64 newly installed, 0 to remove and 0 not upgraded. Need to get 29.9 MB of archives. After this operation, 96.2 MB of additional disk space will be used. Do you want to continue [Y/n]?

Now we need to fetch Emerald via git:

git clone git://anongit.compiz.org/fusion/decorators/emerald

Cloning into emerald... remote: Counting objects: 2265, done. remote: Compressing objects: 100% (2215/2215), done. remote: Total 2265 (delta 1619), reused 0 (delta 0) Receiving objects: 100% (2265/2265), 825.06 KiB | 132 KiB/s, done. Resolving deltas: 100% (1619/1619), done.

Once done, you will have an emerald folder inside your home folder, so get the terminal to point to that:

cd emerald

Now you can start the compiling (run each command once the previous one has finished):

git checkout -b compiz++ origin/compiz++

./autogen.sh

./configure -- prefix=/usr/local

make

sudo make install

If you want to remove the emerald folder immediately, you can run the following commands:

cd ~

rm -rf emerald

However, you can always manually delete it later, once you’re sure you no longer need it (you will need it if you want to uninstall it later; read below for more info on that).

To enable your Emerald theme, hit Alt+F2 and run emerald -- replace. You should now see your window borders change to an Emerald-themed one, and you can now open the theme manager to choose another.

If the Emerald Theme Manager is not in System > Preferences yet, you can try update-menus (or even update-menus && killall gnome-panel) in a terminal or via Alt+F2, but in my case it only appeared there after I ran Applications > System Tools > Compiz Fusion Icon and tried running the theme manager from there. For me, that only made the launcher appear, and I could only get the Emerald Theme Manager to open by running emerald-theme-manager -- replace in the terminal (it probably won’t work in the Run Application dialog via Alt+F2, and you’ll need to keep the terminal window open until you’re finished using it).

You’ll see all your old themes are still there, as they weren’t uninstalled when Emerald was purged. Just click on another theme, and it should change instantly.

Can’t Move Windows After Initiating Emerald?

After that, you may find you can’t move your windows, but don’t worry, as you can change a Compiz setting to rectify this. Open System > Preferences > CompizConfig Settings Manager (if it isn’t installed, just run sudo apt-get install compizconfig-settings-manager in a terminal) and go to the Window Management section.

You will see that Move Window is unchecked, so click in the box to the left of it and you should now be able to move your programs and windows around. If Resize Windows is also unchecked, you may as well activate that too while you’re there.

Want to Uninstall Emerald?

If you look in Synaptic Package Manager, you’ll see that Emerald is apparently not installed. That’s because you didn’t install the version in the repositories, since it wouldn’t work. You will need to manually uninstall it, which you can do by going the the ~/emerald folder you compiled from, so open a terminal there and run the following: sudo make uninstall

Can I Use Emerald With Gnome 3?

You can forget about trying to run Emerald in Gnome-Shell, as Gnome 3 uses Clutter instead of Compiz-Fusion.



☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻☻

Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!