Saturday, May 16, 2009

Turn Ubuntu Jaunty into Mac OSX.

That post was written six months ago and many things have changed during this period of time: release of Ubuntu Intrepid, newer Mac4Lin theme, better globalmenu applet etc. As such, I have decided to rewrite this tutorial for the Intrepid platform.

Disclaimer: This tutorial was based on Ubuntu Intrepid and Mac4Lin RC1 themes. I don’t guarantee that it will work on other distro or other version of Ubuntu.

Download the Mac4Lin themes and extract it to your Home folder. You should see a Mac4Lin_v1.0_RC1 folder that contains all the configuration files in your Home directory.

Preparing the installation path

Next, in your Home directory, press Ctrl + H to reveal all the hidden files. Check if any of the three folders .themes, .fonts, .emerald exist. If not, create three folders and name them .themes, .fonts, .emerald. Create another folder within .emerald folder and name it themes.

Installing the Mac4Lin themes

Open a terminal, type in:

cd Mac4Lin_v1.0_RC1
sh Mac4Lin_Install_v1.0_RC.sh

This will install the Gnome themes (window border and icons), change the wallpaper and the panel background.

During the installation process, the installer will ask you for root access in order to install certain components (refer to the image below). Type y to continue.

Mac4Lin installer

After the installation, your desktop should look something like this:

mac4lin initial desktop

Installing the AWN dock

(The AWN dock may/may not work in all machine. If you find that it does not work after following the instructions below, you may want to try out Cairo dock that is less demanding on the machine.)

The AWN dock requires a compositing manager to work. If your system supports Compiz, it will be able to run AWN as well. if not, we have to install the X compositing manager.

Go to System -> Preferences -> Appearance, click on the Visual Effects tab. Click on the Extra radio button. If you see the following image, then your computer does not support Compiz. (If you don’t see the image below, proceed directly to install AWN.)

compiz not supported

You have to install the alternative X composition manager

sudo apt-get install xcompmgr

Add it to your auto-start list. Go to System -> Preferences -> Session. Add the following:

xcompmgr-autostart

Install AWN

The AWN dock is already included in the Intrepid repository, so you can easily install it by clicking this link. Alternatively, you can also type the following command in the terminal:

sudo apt-get install avant-window-navigator

Once the installation is done, go to Preferences -> AWN Manager. On the left pane, click on the Themes. On the right, click Add. Navigate to the Mac4Lin_v1.0_RC1 folder. Open up the AWN folder and select Mac4Lin_AWN_v1.0_RC.tar.gz. Click Open. The AWN theme should be installed now. Check the radio button beside the theme and click Apply. Click Close.

Applying Mac4lin AWN theme

Before we launch the AWN, we need to remove the bottom panel so that there won’t be an overlap. At the bottom panel, right-click the mouse and select Delete This Panel. Activate AWN by going to Applications -> Accessories -> Avant Window Navigator. You should see the AWN loading up in the bottom of the screen. To add applications to the dock, click on the Applications at the top panel and navigate to the particular application you want to add. Drag the application icon to the dock. That’s it. You should see something like the image below:

mac desktop with awn

To start AWN everytime you log in, go to System -> Preferences -> Sessions. Click Add. Fill up the following:

add AWN to startup

Click Add, follow by Close. AWN will now automatically load when you login to your computer.

Installing OSX font

Go to System -> Preferences -> Appearance. Click on the Fonts tab Change the following field to the same as the image below:

Mac4lin font setup

Make sure the Subpixel smoothing (LCDs) button is checked. Click Close.

Installing Global menu

There is a repository for Ubuntu Intrepid that you can add to the sources.list, but it is not the updated version (0.6) and it is buggy. Instead, we will download the latest version (0.7.1) from the code homepage. In the future when the repository is updated to the newer and more stable version, I will update this post again.

For 32-bit machine

Download gnome-globalmenu-0.7.1-1.fc10.i386.rpm to your Home folder from the Globalmenu Google code site.

Note that the file is of rpm format. We need to use alien to convert it to deb format.

In the terminal, type:

sudo apt-get install alien
sudo alien --scripts gnome-globalmenu-0.7.1-1.fc10.i386.rpm

This will create a gnome-globalmenu-0.7.1-1.fc10.i386.deb file in your Home folder. Double-click on the deb file to activate the installer. Click Install Package to install Globalmenu.

install globalmenu

For 64-bit machine

Open your text-editor (Applications -> Accessories -> Text Editor).

Copy and paste the following:

# Uncomment to load the GTK module
export GTK_MODULES=globalmenu-gnome
# Uncomment to tell the GTK module to open a Gtk
# TreeView for all menus in the application you start.
# export GNOMENU_FUN=1
# Uncomment to disable global menu.
# export GNOMENU_DISABLED=1
# Uncomment to print a lot of debugging messages
# export GNOMENU_VERBOSE=1
# Uncomment to save the debugging messages to the given file.
# export GNOMENU_LOG_FILE=/tmp/gnomenu.log
# uncomment to disable the plugin for specific programs.
# export GTK_MENUBAR_NO_MAC="fast-user-switch-applet"

Save the file as .gnomerc in the Home folder.

In your terminal,

gksu gedit /etc/apt/sources.list

Add the following line to the end of the file. Save and close.

deb http://ppa.launchpad.net/globalmenu-team/ubuntu intrepid main

Back in your terminal,

sudo apt-get update
sudo apt-get install gnome2-globalmenu


Now, on the top panel, remove all the icons and menu from the left side of the panel. Right-click on the icon and select “Remove from panel”.

On the right of the top panel, remove the logout icon. Still on the right hand side of the top panel, right click and select ‘Add to panel‘. Scroll down the list and add ‘Search for files‘. This will add the spotlight icon to the panel.

add spotlight search to panel

On the left of the top panel, right click and select ‘Add to panel‘. Scroll down the list and add Main Menu and Global Menu Panel Applet.

add globalmenu to panel

The Globalmenu might not appear or work well after you have added it. Logout and login again and you should see the globalmenu working perfectly on the top panel.

Right click on the globalmenu and select Preferences. Check “Enable Global Menu” and unchecked “Icon”.

globalmenu preferences

globalmenu

The globalmenu is compatible with most of the GTK application. However, some programs, such as Firefox will not work with it.

Creating Dashboard effect

We will use a combination of screenlets and Compiz widget plugin to achieve the dashboard effect.

If you have not installed Screenlets, click here to install.

If you have not installed Compiz Configuration Settings Manager, click here to install.

Alternatively, you can also type the following command in terminal to install:

sudo apt-get install screenlets compizconfig-settings-manager

Go to System->Preferences->CompizConfig Settings Manager. On the Left, click on Desktop. On the right, put a check beside ‘Widget layer

Go to Applications –>Accessories->Screenlets. Activate the widgets that you want to display. Right click on the widget and select ‘Properties’. Go to Options tab and select ‘Treat as widget’. Do this for all the widgets that you have activated.

You can now see your dashboard in action by pressing F9.

Fixing up some small detail

Until now, your desktop should be very close to a Mac desktop, but there are still some small details such as the Gnome icon at the top panel, mouse cursor etc. Let’s fix them up now.

Replace the apple logo

1. Download the apple icon (Right-click and select “save link as”).

2. Go to Places –> Home Folder. Press Ctrl + H to reveal the hidden files.

3. Navigate to /.icons/Mac4Lin_Icons_v1.0_RC/scalable/places. Scroll down to find the images distributor-logo.png, gnome-main-menu.png, main-menu.png and start-here.png. Note that all of them are the same image. Rename them to distributor-logo.png.old, gnome-main-menu.png.old, main-menu.png.old and start-here.png.old respectively.

4. Now, with the apple icon that you have downloaded, make four copies and rename them to distributor-logo.png, gnome-main-menu.png, main-menu.png and start-here.png. Copy and paste all of them to the folder.

5. Logout and login again. The logo at the top panel should change to the apple icon now.

Changing mouse cursor

Go to System –> Preferences –> Appearance. Select Customize. Click on the Pointer tab. Select Mac4Lin_Cursors_v1.0_RC. Click Close.

Configuring usplash screen

Until now, you have done up the interior, it’s time to fix the exterior: usplash screen and grub screen.

Install startupmanager by clicking here or type the following command in the terminal:

sudo apt-get install startupmanager

Go to System -> Administration -> Startup-Manager. Click on the Appearance tab.

startup-manager

Press the Manage bootloader themes button. This will pop up a window allowing you to select the background image for the GRUB.

Click on the Add button and navigate to File System –> Home –> Username –> Mac4Lin_v1.0_RC1 –> GRUB. You should see three files. Refer to the below screenshots on how each file looks like. Pick the one that you like best.

Back to the main window, select the image from the drop down bar. Remember to check the box “Use background image for bootloader menu”.

There is a bug in Ubuntu Intrepid that prevent the user from changing the usplash screen. We have to do a workaround using splashy. Here’s the hack for it:

Remove the default usplash

sudo apt-get autoremove usplash

Download these two files to your desktop:

libsplashy1_0.3.10-1_i386.deb
splashy_0.3.10-1_i386.deb

Double-click the downloaded files to install.

Download the osx-splash splashy theme file to your Home folder.

In your terminal,

sudo splashy_config –i ~/osx-splash.tar.gz
sudo mv /etc/splashy/config.xml /etc/splashy/config.xml.old
sudo cp /etc/splashy/themes/osx-splash/config.xml /etc/splashy/config.xml

Now, we need to edit the GRUB file

gksu gedit /boot/grub/menu.lst

Scroll down till you find the kernel entry. Append the term vga=792 to the end of the kernel line (see screenshot below). Save and close.

edit grub for splashy

That’s it.

Complete Screenshots

Grub screen

Mac4Lin_1.0_GRUB1

Login screen

intrepid osx login screen

Intrepid Mac OSX desktop

ubuntu intrepid mac osx desktop

Intrepid Mac OSX desktop with dashboard effect

Intrepid OSX desktop with dashboard effect

Uninstallation

If you want to change the theme back to the original setting, here is what you need to do:

1. Remove the globalmenu from the top panel

2. Remove all the installed files:

sudo apt-get autoremove splashy libsplashy1 gnome-globalmenu

3. Restore the usplash theme and remove the vga=792 from the GRUB file.

sudo apt-get install usplash

4. Uninstall the Mac4Lin themes

cd Mac4Lin_v1.0_RC
sh Mac4Lin_Uninstall_v1.0_RC.sh

Enjoy!

References: Ubuntu Forum, Splashy, Bauer-Power , http://maketecheasier.com

18 comments:

dizzuncan said...

AWESOME. Thanks a lot. I finally have an OS that's completely compatible with my eeepc 901, that has the interface i want!

Santo said...
This comment has been removed by the author.
Santo said...

Thanks a Million!! I will get you a treat!!!

I got the perfect Mac interface that I wanted in my Ubuntu 9.04 Notebook. The way you had explained along with screen shots made every thing like breeze. Keep up your good work.

csambajon said...

I got this error

W: GPG error: http://ppa.launchpad.net intrepid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7889D725DA6DEEAA

Greg G said...

Made good progress until I got that PGP error...please update, because this is easy even for a ubuntu noob like me

Greg G said...

Well, I had to change the ppa to reference Jaunty instead of Intrepid; figured out how to get the GPG key; installed gnome-globalmenu instead of gnome2-globalmenu...all that pretty much took care of it.

Thanks again for a pretty sweet setup. A change to the Firefox theme, and I'm mighty impressed.

thebigfatgeek said...
This comment has been removed by the author.
thebigfatgeek said...

I run 64bit Jaunty and when installing Splashy I received the following error message:

E: /var/cache/apt/archives/splashy_0.3.13-3ubuntu1_amd64.deb: trying to overwrite `/etc/lsb-base-logging.sh', which is also in package lsb-base

Salil Gupta said...

I am having a problem with it saying that your sreen is not composite and try using compviz(-fusion) upon starting the AVN. Please let me know how to correct this. this is not letting the dock work. until i tried the 64bit global menu installation it was working.

Please help.

Unknown said...

I don't want app's menu appeared in panel...how to fix this? I've been remove global menu applet, but app's menu still in top panel...plz help

icon manager said...

its a fantastic blog.

Anonymous said...

For anyone having issues when installing splashy from repos in ubuntu jaunty (see remark from BigFatGeek), take a look at post 19 in this bug report https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089

Cheers&great post!
Oliver

giove said...

Hi,Thank for your clear guide. Im a new linux user. After the installation of the Mac OSx-like desktop, I found I cant more run compiz cube animation. I cant understand why. Before this installation, I could switch on the "Extra" effects on the Visual Effect menu with no problems. Now the message "Desktop effect could not be enabled" just appears to me (never happened before). As you suggest in the guide, i tried to install Xcompmgr but after this configuration i've got problems also with the AWN applications bar which didnt display at the startup.
I have an Intel GMA 900 well supported on my Ubuntu 9.04 release. Well before the desktop changes. Can you please help me?

Unknown said...

For those with the splashy error (Karmic 9.10), try the following:

Open a terminal (Applications>Accessories>Terminal) and try
cd /var/cache/apt/archives
then
sudo dpkg --force-overwrite --install splashy_0.3.13-3ubuntu1_i386.deb. Worked for me.

Anonymous said...

This is amazing. Thank you very much!!!

Anonymous said...

Wait... This is Jaunty? But this is just the Intrepid tutorial... I don't understand.

Generic Viagra said...

It is good to learn new things everyday!
In fact, there are lots of features shown in here which I had no idea they existed. This way, I have another chance to give a try to new things such as theses.
Eventually, I will be coming back to see if there is something up.
Thanks for everything and have a nice day! just as I did when I found this wonderful site

Extended Auto Warranty said...

Thank you for this awesome tutorial!