Ubuntu is undoubtedly one of the most popular Linux-based distros out there (yes, I know LinuxMint is creating quite a buzz out there, kudos to the hard working LinuxMint team.)
The reason of Ubuntu's (and LinuxMint's) success is partly in its ease of use. Unfortunately, Ubuntu's move to Unity has changed that. Unity while offers new features, has also taken away what people were used to, and they are complaining.
I don't think Unity is good or bad. It just lacks the customization that was needed or was desired – and Ubuntu team needs to pay heed to user's feedback instead of calling them Unity haters ;-)
Looking at LinuxMint (which has done an amazing job with Gnome 3 Shell, they have showed what can be done with it) we now know that there is great potential behind Gnome 3 Shell. There is something for everyone. You can now customize Ubuntu 11.10 and get the same level of customization that LinuxMint offers. Unfortunately, it can't be done with Unity, it can be very easily done with Gnome 3 Shell.
I am an average user, I am not a developer – but then just the way you don't have to be a mechanical engineer to drive a car, you don't have to be a developer to use GNU/Linux.
Install Gnome Shell Extensions
We have to install Gnome Shell and extensions on Ubuntu, in order to do so add a PPA by running this command in terminal:
sudo add-apt-repository ppa:gnome3-team/gnome3
It will ask you to hit enter for getting the key. Once done update the repository by running this command
sudo apt-get update
Then install Synaptic Package Manager by running this command:
sudo apt-get install synaptic
Now open the Synaptic Package Manager and install these packages:
- gnome tweak tool
There are more gnome-shell extensions but we are not going to use them.
Download Customized Extensions & Themes
There are two ways: easy way and hard way. I am publishing both methods in case you don't trust the random files ;-)
1. Easy Way
I have copied the needed extensions and themes and uploaded on my Ubuntu One account. If you are OK with the folder that I uploaded, just download and extract it in your Home folder [download now] . There are two hidden folder inside the 'local' folder you downloaded – .themes and .local. The .themes folder contains the Mint-z theme, which is used in LinuxMint 12 and .local folder contains 'extensions'
Copy these two folders in your home directory. The location will be /home/YOUR_USER_NAME/. It may throw a message about existence of folders with the same name, just select 'merge'.
Log out and log in
(Skip the hard way method if you are downloading the files from my Ubuntu One folder and jump to Making Gnome 3 Default Session )
2. Hard Way
You need a LiveCD/USB of LinuxMint so that you can copy needed themes and extensions.
Run LinuxMint 12 Live:
1. Create two folders 'my_extensions' and 'themes' on your local hard-drive (the drive that you can access from Ubuntu later when you boot out of LinuxMint into Ubuntu.)
2. Copy the extensions folder found here /usr/share/gnome-shell/extensions to 'my_extensions' folder that you just created.
3. Copy the 'Mint-z' theme folder from this location: /usr/share/themes/ to the 'themes' folder that you created.
Reboot your PC into Ubuntu which you want to customize. Now you have the LinuxMint extensions and the theme. We now need one more extension for the top panel. Go to this site and download the Ubuntu packages for shell extensions [download].
Extract this folder, which will be a hidden .local file. Go inside the extensions folder and copy the Panel Favorites folder to 'my_extensions' folder that we created.
So, now you have two folders – 'themes' and 'my_extensions'. Go to home and hit Ctrl+H it will show you hidden folder. Copy the themes folder here and rename it as .themes.
Now, look for .local folder in home and go inside the 'extensions' folder (the path should e /.local/usr/share/gnome-shell/extensions/). Copy the content of 'my_extensions' folder to 'extensions'.
Log out and Log in
Making Gnome 3 Default Session
Now, you have everything that we needed. Now, we need to set Gnome 3 as the default session instead of Unity (you can always choose Unity later from the log in window or rever this settings.
Open Terminal and run this command:
sudo gedit /etc/lightdm/lightdm.conf
Enter the password when asked. It will open a gedit window. Here look at the last line:
replaces it with
So, the file will now look like this:
[To read more about how to revert the changes, read this article ]
Log out and now when you log in it will be Gnome 3 Shell session. Hit the super key and look for Advanced Settings. Now, we will start taming the beast. On the Advance Settings window you will see couple of options
Desktop: Enable all the options other than Network (as shown in the image below)
Shell: Enable 'Show date in clock' and under “Arrangement of buttons on the titlebar” select 'All'. This will show the date in the clock and also show maximize, minimize and close buttons on windows. (see image below)
Shell Extensions: Enable everything other than Monitor Status Extension
Theme: Select Mint-Z from the Shell theme (image below)
Log out and log in and you will see this desktop. You can play with the extensions and enable the ones that you like.
So, now you have the bottom panel which shows the currently runnings apps and you can switch easily without having to take the cursor further to the left corner. Now you also have all the 'favorite' apps listed on the top panel for easy access. It simply shows the apps added to the 'Favorite' of Gnome 3 Shell.
We have moved the clock from center to the right corner, and you also have the 'friendly' LinuxMint menu for easy access of applications.
You can further explore the extensions and enable or disable the ones you like. I don't know if you like Unity or Gnome 3 Shell. This customization does give us an idea that Ubuntu can be customized via these extensions. If you are not comfortable with Unity, you can still use Ubuntu. I hope Unity developers will create some useful extensions to help users get the same level of comfort.
I am not asking you to stop using Unity and start using Gnome 3 Shell, use what you like or what you are used to. There are a lot of people who want these customizations, whereas there is a different set of users who are very happy with the default Unity shell.
Is Gnome 3 Shell Better Than Unity?
I am not judging whether Unity is better or Gnome 3 Shell is better – but I do believe that 'flexibility', ability to customize is always good. That's what free software/open source is all about – use what you want. If one project can't offer what you want, another will.
I don't like the unnecessary 'hostility' being bred by some fan-boys who are disregarding other projects. Don't fight over Gnome 3 Shell vs Unity vs LinuxMint. These are all Free Software projects, use what works for you.
Note: Special thanks goes to the LinuxMint team and Ron for creating such awesome extensions and themes. The extensions that LinuxMint is using are originally created by Ron Yorston, I am using LinuxMint's as they polished the code a bit, so huge thanks to Ron Yorston. As usual try it at your own risk, we won't be responsible if anything breaks of your lose any data. Be careful when you use files from external source.