I recently decided to revive an old EeePC. Originally it ran Xandros, an Asus-devised Linux designed to mimic Windows XP (an epic fail, no need to say it). Later it ran Leeenux ver. 3, which was a dedicated EeePC distro based on Ubuntu 10.04. Its best feature was the Ubuntu Netbook Remix UI (UNR) on top of Enlightenment Foundation Libraries (EFL) – the most excellent netbook interface I’ve ever seen (don’t mix it with the older Netbook Launcher which is based on Clutter library – heavy, slow and buggy). Leeenux had some glitches though, among which was a corrupted packaged database which made updates impossible (due to a crash at the end of the installation) and having to force the Wi-Fi at 802.11b due to a driver bug (won’t connect to 802.11g even if the chip is capable of it) – so when Leeenux 4 (based on Ubuntu 12.04) came out, I made a clean install. To my surprise, UNR was gone and replaced by Gnome 3 and Unity. That was too much for the poor 900 MHz Celeron incide the eeePC, so after struggling with it for some time, I decided it was time for a change.
As I wanted a lightweight and sleek interface, I first tried to revive UNR on Ubuntu 12.04; that proved to be a no-go, because ELF libraries have changed and there was no decent build available.
Then I decided to give Bodhi Linux a shot, because it is entirely EFL based. Although Bodhi features a number of UI profiles (some named ‘tablet’ and ‘netbook’), none of them was even close to UNR. If fact, they look rather amateurish if not ugly. So, Bodhi was dropped.
My last resort seemed to install back the original Ubuntu 10.04 Netbook Edition. However, it is EOL since mid-2013 and I did not want to be stuck with software without system updates.
Then, an interesting idea came to my mind. UNR was built around the same time as RHEL6 (and Fedora 12). This meant building UNR on CentOS was (in theory) possible – and would give me a supported stable OS with the UI I wanted. So, I went for it – if you want to do the same, here are the steps:
First, get the CentOS 6.4 live CD from any mirror you like. Boot it and run quick test to verify all hardware works (to my pleasure the Wi-Fi and the camera – the two usually most problematic pieces – worked out of the box). Install from the live CD and boot your new system.
You’ll need a compiler and development tools: yum groupinstall ‘Development Tools’.
You’ll need two more repositories – the one from Fedora 12 and the one with with a suitable build of EFL.
For F12, just find a working mirror from and link to its Everything directory.
For EFL, we’ll use the repository, provided by Prof. Kriehn from California State University. There are at least two other wrong builds around – the SUSE guys have a repo, but their versions are way too recent for UNR; also, there are some parts of the ELF in Fedora 12 official repo, but this is a limited set and some requried pieces for UNR are missing. So, get the repo and the key, then install the required libraries (if you get an error for some of them, add –skip-broken to the yum command):
yum install easytag ecore ecore-devel e_dbus e_dbus-devel edje edje-devel eet eet-devel efreet efreet-devel elementary elementary-alarm elementary-devel elementary-sms elementary-sms-devel elicit embryo embryo-devel e_modules-alarm e_modules-bling e_modules-calendar e_modules-configmenu e_modules-cpu e_modules-deskshow e_modules-diskio e_modules-drawer e_modules-drawer-devel e_modules-efm_nav e_modules-efm_path e_modules-efm_pathbar e_modules-emu e_modules-execwatch e_modules-flame e_modules-forecasts e_modules-iiirk e_modules-language e_modules-mail e_modules-mem e_modules-moon e_modules-mpdule e_modules-net e_modules-news e_modules-notification e_modules-penguins e_modules-photo e_modules-places e_modules-rain e_modules-screenshot e_modules-slideshow e_modules-snow e_modules-taskbar e_modules-tclock e_modules-tiling e_modules-uptime e_modules-weather e_modules-winselector e_modules-wlan emotion emotion-devel emprint enlightenment enlightenment-devel entrance entrance-devel epdf epdf-devel ephoto esmart esmart-devel estickies ethumb ethumb-devel evas evas-devel ewl ewl-devel exchange exchange-devel exml exml-devel expedite exquisite eyesight imlib2 imlib2-devel libeina libeina-devel notecase rage waker
Next, install maximus (it is in the Fedora 12 repo). It will automatically maximize each window you open and will remove the title bar. Add maximus to your Gnome session (press Alt+F2, type ‘gnome-session-properties’ and add it to the start-up, if it is not already there).
Now to the GUI part. Some eye-candy and cool stuff:
- enable subpixel rendering in System -> Preferences -> Appearence.
- add the Nodoka components (yum install *nodoka* – if you get an error regarding fedora icon theme, then just download the packages and install them with rpm –force – this issing icon theme is not requred anyway) and set them as default. In System -> Preferences -> Appearence chose Nodoka rounded for controls. For notification area, yum install gconf-editor and run it, then search for notification and replace the ugly slider theme with nodoka. With the same editor, set top panel and systray padding to 0. To save few CPU cycles at start-up, disable the show desktop property of Nautilus in /apps/nautilus.
Remove the bottom panel. From the top panel, remove the menu. Only leave the system tray (and add the language switcher applet, if you change layouts). Also, add the shutown and show desktop applets.
Next, install gnome-globalmenu applet (it is in the Fedora 12 repo). It will put the menu bar in the panel (only for apps which support it, e.g., gnome-terminal). Also, it will show the current program mane and will act as window switcher. Add it to the panel and move it to the left end.
Next, instead of tabs with window names, we need to only have icons for each open app. Install taskdock-0.0.2 and add it to the panel – to the right side, just before the systray.
Next, we need an applet to close the current window. We’ll use the fakekey library for this, so install it with you together with the development package (it’s in the repo). Then, get and install xautomation-1.03 from source; when ready, put this line is a file, chmod it executable and add it as launcher to the panel (chose a icon to your likng).
xte “keydown Alt_L” && xte “key F4” && xte “keyup Alt_L
Finally, we need the UNR. It consist of two pieces, a library and the launcher. There are different versions for both, so with some trail and error you can find the most recent versions of both that still work together and can be compiled on CentOS.
First, get and build liblauncher-0.1.8. Then, get and build netbook-launcher-elf-0.2.7. Because launcher will be installed with a prefix of /usr/local, you need to tell pkgconfig where the launcher lives: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
Finally, add /usr/local/bin/netbook-launcher-efl to your gnome session.
You can now reboot and enjoy!