Category Archives: Tutorial


Unlock your Nexus device and install 4.4.3 [Tutorial]

Google has published 4.4.3 update for its Nexus devices without telling us anything about it. There is no official announcement or blog about it. The reports are coming in that OTA updates are also being pushed. If you can’t wait for OTA, then you can upgarde your Nexus device manually. Just take back-up of data such as images or downloaded files. Once done, follow these steps (courtesy: Ubuntu Wiki)

First download the appropriate image for your device from this link.

How to update?

If you are using any Ubuntu-based system install fastboot by running this command:

sudo add-apt-repository ppa:phablet-team/tools


sudo apt-get update
sudo apt-get install ubuntu-device-flash

If your Nexus device is unlocked then you can skip this step and move to next one, if not then continue:
1. Boot into the bootloader (power off the device and then power it on by holding the power button + volume up + volume down)
2. When you see the bootloader, connect the device to the PC
3. Open the terminal and run

sudo fastboot oem unlock

Now Nexus screen will show whether you want to unlock or now and also tell you which hardware keys to use to select ‘yes’. Use volume key to select the option you want and power key to select it.

Note: If unlocking fails, you may have to enable the USB debugging. Reboot the Nexus in Android. Enable the developer mode of your device by tapping seven times on the ‘Build number’. Then go to Developer option and select USB debugging. Now repeat the above steps.

Once you have unlocked the device, Nexus will take some time to reboot into unlocked system. In my case I had to once again enable the developer mode, and USB debugging so if that be the case you can checn under settings if the USB debugging is still enabled.

Insatll new Android updates

Now extract the Nexus image that you have downloaded on your PC, cd to the extracted folder and as run the following command:

run adb reboot-bootloader

Once your Nexus boots in to the boot loader, run the following command:

sudo ./

Wait for it to complete and once done your Nexus will boot into the brand new Android.

Please keep in mind, don’t disconnect the USB during any of the above opearations.


Ubuntu on Surface Pro 3 – not smooth yet but promising

Microsoft has made Surface Pro 3 tablet PC available for pre-order from May 21 and it didn’t take long for Linux enthusiasts to try Ubuntu 14.04 on it. And the results are quite promising! Surface pro 3 flaunts a decent hardware spec and it will definitely be a delight for any Linux user to run Ubuntu on it when all the components are supported.

The first sensible step is to take a system image backup of the Surface pro 3. The image size will vary depending on what is installed on the device but the process is reasonably fast. A separate drive with Windows 8.1 is also required to restore the image because once Linux is installed, the repair and restore function will be lost.

To install, connect a bootable pen drive with Ubuntu, press the Volume Down and Power keys till the Surface logo shows up, then release both. Once the USB boots up, you can reach the familiar Ubuntu install screen (with live and install options). The Ubuntu installation procedure remains the same.

Post installation most of the components work out of the box. WiFi works but detects only 2.4GHz networks. The touchpad on the Type Cover works, but not the keyboard. The virtual keyboard in the accessibility setting can be used for typing but it is still lacking in features on Ubuntu. The best option is to connect a USB keyboard. The pen works as a pointer and pressing it down works as a left-click, but as Bluetooth is not working out of the box the buttons on the pen do not work. There might be some issues with the pressure-sensitivity of Ubuntu’s pen implementation. While it is fast and smooth, the experience without type cover is not optimal. Just like the keyboard, the dock might also not work out of the box. As touch and WiFi work out of the box, KDE’s Plasma Active would be a better choice compared to Ubuntu on this device. However, the latest stable Kubuntu installation has issues on Surface Pro 3.

By the time the Surface Pro 3 is available at the outlets most of the issues might get fixed if the device grabs enough attention from developers. Here’s a short video of Ubuntu running on Surface Pro 3 recorded during the experiment.



Here is the first preview of KDE’s Plasma Next

The KDE community is working hard on the next major release of KDE software, most notably Framework 5 and Plasma Next. While Arch users can already play with KDE Framework 5 packages via extra repository and also run some components of Plasma Next via kde-unstable repo (which already has KWin), rest of those who can’t get Arch to work (though we have a very user-friendly tutorial), they can get a preview of Plasma Next using the live image of Fedora.

Daniel Vrátil, a Red Hat developer, says
, “First, our Copr repository with KDE Frameworks has been updated to 4.99.0 release, so go get it! All frameworks are co-installable with KDE 4, so you can develop against KF5 without needing any special setup. Also KDE Frameworks 5 were approved as feature for Fedora 21, which means that in next Fedora release, we will ship all Frameworks in the Fedora repositories! There are already some packages imported into rawhide, the rest will follow in next weeks.”

So what all will you get to see? Daniel says they “packaged as much as we could (but still not everything!), including Rekonq, Dolphin, System Settings, Baloo, Milou and more – all built against Qt 5 and KDE Frameworks 5 of course.”

He are some screenshots of Plasma Next running in VM on my system:

[gss ids=”27602,27603,27604,27605,27606″]

If you want to test Plasma Next, download the live iso of Fedora from the link below.

[epiclink link = ‘’ color = ‘btn’ target = ‘_blank’ shorticon = ‘left’ itype = ‘ icon-download-alt’ icol = ‘black’ ]Fedora Plasma Next Preview[/epiclink]

[Tutorial] Install new Spotify on Linux systems

Popular music streaming service Spotify has updated its native Linux client. The Spotify Linux client now stands at version 0.9.10 . The new client includes “a darker theme, refreshed typography and rounded iconography“.

The visual improvements bring the streaming service’s Linux desktop client on par with other platforms. Updated native clients for other popular platforms were released a few weeks earlier. The Spotify official blog says that it’s their best looking client ever and will make it easier to search music than before.

Our new design makes accessing your favourite music smoother than ever before. The new dark theme and refined interface lets the content come forward and ‘pop’, just like in a cinema when you dim the lights

The new design and the dark theme goes well with the default Ubuntu theme, Ambiance. The play queue and the track change notification now uses the Ubuntu notifications properly and shortcut to the client sits integrated in the sound indicator on the top panel nicely. Apart from the visual niceties, Spotify Linux client also comes with improvements under the hood. Notable changes are

  • OpenSSL is now version 1.0.x
  • Local files playback works with libavprec54

64 bit only

The Linux client however, is available only for 64 bit at the moment. 32 bit builds are being tested currently and will be released once stable. While most of you may be using 64bit builds, there are many out there who still run 32 bit builds and for them its going to be a test of patience.

Installation: Debian based systems

In Ubuntu, you can install Spotify via ppa repository. To add the ppa repository use the following command in the terminal

sudo sh -c 'echo "deb stable non-free" > /etc/apt/sources.list.d/spotify.list'
sudo apt-key adv --keyserver --recv-keys 94558F59
sudo apt-get update && sudo apt-get install spotify-client

If you do not like to use the command line, you can always do it the GUI way. Open Ubuntu Software Centre , then go to Edit -> Software Sources -> Other Software -> Add.


deb stable non-free

Click Add Source and Reload. Once completed, go back to Ubuntu Software Centre, search for Spotify and install.

Rpm based systems

There are no rpms available for Spofity however, you can convert the .deb installer to rpm using alien. Those who want to get their hands dirty, there is a detailed instruction available from Spotify devs which you can find below:

# 1. Get the right filename

SPOTIFY_DEB=`uname -m | sed s/x86_64/amd64/ | sed s/i686/i386/`.deb

# 2. Download the package


# 3. Extract the required parts

ar p $SPOTIFY_DEB data.tar.gz | tar -zx --strip-components=3 ./opt/spotify/spotify-client

# 4. Go in to the extracted folder

cd spotify-client

# 5. Setup symlinks to libs (NOTE: this script assumes Fedora 17, edit to suit your needs)


# 6. Optionally register icons and menu item
Note: for the menu item to work, you need to ensure spotify is in your $PATH, either by symlinking it from /usr/bin or /usr/local/bin, or by adding the spotify-client folder to your $PATH ./

Note: Spotfiy still says the Linux desktop client is a preview version and you can expect some problems. For full details and workarounds please visit


Android X86 4.4 Release Candidate 2 released

Yesterday the Android x86 project released a new RC version of Android 4.4. This second release candidate follows the last release in February and it is based on the KitKat-MR1 release. Since then there have been many fixes including many x86 architecture optimizations that make the system run better on netbooks and tablets.

Some of the most notable new features according to the announcement:

  • Update to stable kernel 3.10.40 with more bugfixes.
  • Automatically mount ntfs/exfat/ext4 in the external storages (usbdisk/sdcard).
  • Enhance the sensors support including Intel sensor-hub and Pegatron Lucid Tablet Accelerometer.
  • Add launcher and file manager from CyanogenMod.
  • Add 5-point touch calibration app from 0xdroid.
  • Improve suspend and resume functions.
  • Add rtl8723au wifi driver.

This version was released as a single experimental universal iso that should work for most x86 platforms( the iso can be downloaded from HERE and HERE ) . The iso file is in hybrid format, meaning you can dump the iso to an USB drive using dd:

dd if=android-x86-4.4-RC2.iso of=/dev/sdX, where /dev/sdX is your usb drive.

Known issues:

  • Suspend and resume may not work on some systems.
  • The installer can’t format ext3 filesystem.

From my personal experience the first RC release was very stable and it ran smoothly on my Intel Celeron 1007u netbook from Acer and many applications from the Play store were compatible. The only problem I encountered was that some application would change the orientation to portrait when launched.


A tutorial on how to to openSUSEfy Gnome 3

So, you’re running a superbly stable and yet flashy new openSUSE 13.1 with GNOME 3.10. There’s only one problem – the Blue Eyes Blue, as Clapton would say. Blue, as we all know, is the default color for selected backgrounds, borders etc. in GNOME’s default Adwaita theme.

If you have a slight OCD as yours truly, you might want your icons and themes to play nicely with your green geeko. We like geeko, and we like green, so why not make it all conform with the default color scheme? No reason whatsoever to hold back. So, I went on an endeavor to find the most comprehensive and yet green icon theme for your GNOME desktop environment.

After hours of meticulous searching through the www, I bumped into Moka Project ( Moka project started out as an icon-only theme by Sam Hewitt, a Canadian designer, photographer, and apparently (considering the photos published on his site a gourmand of some sort. He contributed to different projects, such as Unity Tweak Tool for Ubuntu, Ubuntu, GNOME, and last but not least – the Moka Project itself. Moka soon gained quite a media following, and the project expanded to include three GTK and one GNOME Shell theme. Though the ‘default’ and most widely used icon color seems to be purple (himself using Ubuntu GNOME, if I’m not mistaken, so the choice of color makes sense), Sam created different variations of the theme, including the one we’re aiming at today – green. The theme is more than comprehensive, tailor-made for GNOME and looks sleek and modern, as you can see here:

One of the best things about this theme is that Sam made openSUSE repositories, from which you can install the theme with the one-click install method. So, let’s get down to business.

Step 1:
Go to the Moka Project website: Click on the ‘get moka’ button and you’ll be directed to the product menu. Choose Moka Icon Theme, Faba Icon Theme and Faba Colors (all three are necessary – Moka is the apps icon set, which complements Faba and Faba-Colors – or is it the other way around, I’m not entirely sure).


Next, click the download button and choose your distribution. Pick the correct one-click install button for your distribution and let geeko do its magic.


Step 2:
Run nautilus as sudo, or just gedit within the terminal, and navigate to /usr/share/icons/Moka and open the index.theme file within this folder. Immediately in the fourth row, you have a line that reads: “Inherits=Faba,gnome,hicolor”. What you need to do here, is change the ‘Faba‘ value to ‘Faba-Verd‘ (don’t forget the capital V in Verd). Save and exit.


Step 3:
Go to Advanced Settings, choose ‘Appearance’ and in the icon dropdown menu, select Moka and voila – your GNOME openSUSE system is now running a very modern green icon theme.

Now, we’re not finished yet. What comes next is my personal recommendation for a GTK theme to fit your geeko install.

Step 1:
Click on this link: – to visit the download page for the Moka GTK theme. Once again, pick the one-click button accordingly, enter your password and such, and let your system do the hard work.

Step 2:
Once again, as sudo, navigate to /usr/share/themes/Moka. Here, we’ll edit two .css files. What you need to do, is first enter the gtk-2.0 folder, and open the file called ‘gtkrc‘ with your text editor. Right there at the top there’s a value called “selected_bg_color” and some numbers after it. After the hashtag, enter the number 93D284. That’s the hex color code for a shade of green which will play perfectly with your folders when you select them in nautilus.

Next, a few rows lower, you have a value “link_color”. Enter the same hex color value you entered previously. That’s 93D284 after the hashtag. Save and exit.

Step 3:
Navigate out of the gtk-2.0 folder, and enter the gtk-3.0 folder. With your text editor, open the gtk.css file. Search for the value called “@define-color selection_color” and after the hashtag, enter the same values as before. Save and exit.


Step 4:
Everything seems to be in order with the Moka GTK theme, the last thing you need to fix is the metacity icons. You can find them in the folder /usr/share/themes/Moka/metacity-1, and simply GIMP everything you see in purple into green. But I’ve taken the liberty of doing it for you. You can download the folder here: – and simply overwrite the existing metacity-1 folder. And you’re good to go.

To customize your GNOME Shell, you can follow a detailed tutorial by Stefan Grasse, also here on Muktware.

Step 5:
We strongly suggest you support the artist, Sam Hewitt, and his Moka Project with a little donation. You can do it by purchasing the icon and gtk themes instead of downloading them for free.
[epiclink link = ‘’ color = ‘btn’ target = ‘_blank’ shorticon = ‘left’ itype = ‘icon-heart’]Purchase Moka icon/theme[/epiclink]


15 Useful commands in Linux

“Why should one bother learning the command line? The Graphical User Interface is much easier.” To a certain extent you would be right, but thing is that Some tasks are best suited to a GUI, at the same time, some tasks are more suited to the command line.

Command line is one of the powerful tool by which you can do the tedious jobs with the help of one or two commands. Like all other OS’s, Linux command line programs generally come with their own documentation too; manual pages or man pages for short. Linux has origins in the command line, and there can be many times when you will not be running a GUI. On some systems, such as a dedicated server, you may not have a GUI installed at all.

To simplify the things at beginning, I am introducing you to some basic but very useful commands.

1.Command: uname
The “uname” command stands for (Unix Name), print detailed information about the machine name, Operating System and Kernel.

sahil@bodhi:~$ uname 
sahil@bodhi:~$ uname -a 
Linux bodhi 3.11.0-19-generic #33-Ubuntu SMP Tue Mar 11 18:48:32 UTC 2014 i686 i686 i686 GNU/Linux

Note: uname shows type of kernel. uname -a output detailed information.
“Linux“: The machine’s kernel name.
“bodhi“: The machine’s node name.
“3.11.0-19-generic “: The kernel release.
“33-Ubuntu SMP“: The kernel version.
“i686“: The architecture of the processor.
“GNU/Linux“: The operating system name.

2.Command: ls
The command “ls” stands for (List Directory Contents), List the contents of the folder, be it file or folder, from which it runs.
The command “ls -l” list the content of folder, in long listing fashion.

sahil@bodhi:~$ ls 
Desktop  Documents  Downloads  examples.desktop  Music  Pictures  Public  Templates  Untitled 1.odt  Videos 
sahil@bodhi:~$ ls -l 
total 80 
drwxr-xr-x 2 sahil sahil  4096 Apr 23 11:06 Desktop 
drwxr-xr-x 3 sahil sahil  4096 Apr 14 12:54 Documents 
drwxr-xr-x 4 sahil sahil  4096 May 15 18:55 Downloads 
-rw-r--r-- 1 sahil sahil  8980 Feb 13 23:28 example

3.Command: mkdir

The “mkdir” (Make directory) command create a new directory with name path. However is the directory already exists, it will return an error message “cannot create folder, folder already exists”.

sahil@bodhi:~$ mkdir /root/newdir
mkdir: cannot create directory ‘/root/newdir’: Permission denied
sahil@bodhi:~$ mkdir /
mkdir: cannot create directory ‘/’: File exists
sahil@bodhi:~$ mkdir /home/sahil/Documents/newdir
sahil@bodhi:~$ ls -l /home/sahil/Documents/newdir
total 0
sahil@bodhi:~$ ls -l /home/sahil/Documents/
total 8
drwxr-xr-x 3 sahil sahil 4096 Apr 14 14:15 C_Prog
drwxr-xr-x 2 sahil sahil 4096 May 19 13:52 newdir

Directory can only be created inside the folder, in which the user has write permission. In Linux every file, folder, drive, command, scripts are treated as file.

4.Command: touch
The “touch” command stands for Update the access and modification times of FILE to the current time. touch command creates the file, only if it doesn’t exist. If the file already exists it will update the timestamp and not the contents of the file.

sahil@bodhi:~/Downloads$ touch newfile_1
sahil@bodhi:~/Downloads$ ls -l

-rw-r--r--  1 sahil sahil          0 May 19 14:01 newfile_1
-rw-r--r--  1 sahil sahil     132233 May 15 18:55 PCLinuxOS-2014-05.jpg
-rw-r--r--  1 sahil sahil 1010827264 Apr 23 09:29 ubuntu-14.04-desktop-amd64.iso

5.Command: chmod
The Linux “chmod” command stands for (change file mode bits). chmod changes the file mode / permission of each given file, folder, script, etc.. according to mode asked for. There exist 3 types of permission on a file (folder or anything but to keep things simple we will be using file). Read (r)=4, Write(w)=2, Execute(x)=1
So if you want to give only read permission on a file it will be assigned a value of ‘4‘, for write permission only, a value of ‘2‘ and for execute permission only, a value of ‘1‘ is to be given. For read and write permission 4+2 = ‘6‘ is to be given, ans so on.
Now permission need to be set for 3 kinds of user and usergroup. The first is owner, then group and finally others.

-rw-r--r-- 1 sahil sahil 0 May 19 14:01 newfile

Here the,  user has rw (read and write) permission, group  has r (read only) and for others is r (read only ).
To change its permission and provide read, write and execute permission to owner, group and others. We can give following command,

sahil@bodhi:~/Downloads$ chmod 777 newfile_1 
rwxrwxrwx  1 sahil sahil          0 May 19 14:01 newfile_1

To give only read and write permission to all three (owner, group and others)

sahil@bodhi:~/Downloads$ chmod 666 newfile_1 
rw-rw-rw-  1 sahil sahil          0 May 19 14:02 newfile_1

And to give read, write and execute to owner and only execute to group and others.

sahil@bodhi:~/Downloads$ chmod 711 newfile_1 
rwx--x--x  1 sahil sahil          0 May 19 14:03 newfile_1

Tutorial: How to configure KMail

If you are a Plasma user, Kmail is the default email client. Kmail is a great KDE Application, however when compared to other email clients like Evolution (for GNOM) or platform agnostic Thunderbird. Setting up emails accounts with Kmail can be a bit challenging and this tutorial aims to make it easier for you to use Kmail on your Plasma system.

How to configure KMail

In order to add a new email account to KMail, go to ‘Tools > Account Wizard’. The first window will ask you to enter personal details.

Here you have to enter the ougoing name, email ID and password.
Here you have to enter the ougoing name, email ID and password.

If you are using Gmail then it will offer imap or pop3 settings and you can simply hit the ‘create’ account button and then hit Finish.

If using Gmail, KMail will offer to use IMAP or POP3 email.
If using Gmail, KMail will offer to use IMAP or POP3 email.

That’s it, the account is added to KMail, but we are not done yet. KMail needs something it calls “Identity” which will be associated with that email account. If you don’t create an identity, you won’t be able to send any emails as the ‘from’ field will not show any email ID and KMail will throw error at you.

How to create an Identity

Go to Settings > Configure KMail and you will see ‘Manage Identities’ option. First option is that of ‘Identities.’ Click on ‘Add’ button from the right panel.

In the “New Identity” window give a name to that idenity (it’s not the name that will appear in reciever’s inbox). Since it will show up in the ‘from’ field, make ensure that it’s unique (in case you are going to configure more than one email ID). Click Next.


You will now wee the ‘General’ field, enter Your Name, Organization and email address.

Now go to the ‘Advanced’ tab and check the ‘Outgoing Email’ box. Here you can select the email account you want to use to send out emails.

Click on OK and you are done. Now when you will send an email you will see the newly created ‘Identity’ in the ‘from’ option.

Setting up second email account

In the previous example we set-up an account which was on gmail. Now we are going to set up an email account which has a custom domain, such as Go to Tools > Account Wizard as explained above.
– Enter account details
– Select Generic IMAP Email server (IMG2)
– It doesn’t take the server configs (as it does when you use a ‘gmail’ account, even if I am using Google Apps for this account). Enter the incoming and outgoing server names – in this case since I am using Google Apps I enterd and
– It will set-up the account.
– Hit Finish when done.

A little bit of kleaning

The newly added account will start appearing on the left panel of KMail but it won’t be called Swapnil Bhartiya, instead it will have some crazy name like “IMAP Account 1″ name. I don’t know why KMail does it but we can fix that.

While you can rename it by right clicking on it and selecting properties, but since we have to configure ‘Identity’ either way, let’s do properly. I would like to repeat – keep in mind that even if you have added an account you won’t be able to send out any emails unless you create the identity for that account.

Let’s create identity for this account. Go to Settings > Configure KMail. Here you will see an identity already created for you (I noticed it happens only if you are using a custom domain, no identity gets created if you are using This identity, for some reason, is being set as the ‘default’ account.

If you click on ‘Modify’ to see which outgoing account is associated with this Identity you will notice ‘generic’ ‘’ showing up there, instead of the email ID for that account. This can be confusing (and often harmful if you are using multiple email accounts. I once ended up sending out professional emails from my extremely private account because the identity was not configured properly). So let’s fix that.

Go to Accounts where you will see two tabs – Receiving and Sending. Select the account in question and click on ‘Modify’ in the Receiving option and change the name to what you want.

Now go to the ‘Sending’ tab and select the ‘’ account and hit ‘Modify’.

Unlike ‘Receiving’ option, here there is no option to ‘rename’ it. But there is more than just renaming. Click on the ‘Advanced’ tab and you will notice wrong port, even if encryption is SSL. It’s interesting that if you select None and then again change it to SSL, the port with change to 465, (IMG 10)which is correct. Click OK, now you are back to the old window. Since there was no option to rename the account name in ‘Modify’ window, you have to select the account in ‘Sending’ tab and then choose ‘rename’ option.

Your account is configured and you are good to go. You can add as many accounts as you want.

It can be better

KMail makes it look like configuring email client is rocket science, which is not true if you have used Thunderbird, Evolution of Apple Mail client. KMail’s extremely complicated configuration makes it hard for advocates like me to suggest it to users.

I have some suggestions for KMail developers. I think KMail developers should bring core tools under one menu items instead of splitting them between ‘Tools’ and ‘Settings. It will be much easier if the option to create new account is moved under “File > New > Email account. When one creates an account there should be the option identity should be created then and there. It could simply be the email ID itself as there seems to be no other purpose of the identity. Then instead of ‘IMAP Account X’, the email ID (as it will be unique if you are using multiple accounts) can be used to show that account in the left side panel of KMail. When one configures an account, the wizard should also create an entry in KAddressbook or Kontact so contacts, Notes, Calendar and other such components are automatically configured for that account. Currently you have to add accounts to each component manually which is quite painful and intimidating for a new user.

I hope KDE Application developers will pay attention to this article and make it easier to use KMail. It’s a perfect companion to the beautiful Plasma Desktop.

Special thanks to the vibrant KDE community 


How to customize Gnome Shell

The Linux operating system means freedom of choice. You can basically choose anything in the Linux environment. You can choose which kernel to use, whether to use open source or third-party drivers for your graphical adapter and so forth, but you can also choose which DE (Desktop Environment) you want to use. There are several DEs out there and, surely, they all have their pros and cons, yet all of them share the potential of customization into something entirely beautiful. GNOME is one such DE and this article focuses on how the GNOME shell can be customized to look really beautiful, maybe even prettier than Mac OSX.

For the sake of simplicity, this article focuses on an installation of GNOME on the most recent Ubuntu 14.04 LTS (Long Term Support) version, but the gnome packages are available in all major Linux distributions. Ubuntu 14.04 comes with official support for Gnome 3.10, even though 3.12 has been released a little less than two months prior to the release of Ubuntu 14.04, it is not stable enough to be installed through the Gnome Team PPA.

GNOME Customization on Two Levels

Generally, there are two levels of customizing your GNOME experience – appearance and functionality. Appearance can be changed by installing themes of the GNOME environment. You can, potentially, go very deep into the system to change every aspect of GNOME’s UI (User Interface). But the most fundamental and important changes can be applied to the shell (the general environment, such as panel, dash etc.), Windows and GTK+ (the window decorations), icon and cursor themes.

The functionality can be customized by installing additional GNOME extensions. There are numerous extensions out there that add more application indicators, weather panel, screenlets and many many more features to your GNOME.

On both levels, the number of available themes and extensions is beyond counting, so it may be wise to take some time and look through the available extensions and themes until you pick your favourites. I will always recommend some themes or extensions, but you do not have to follow my suggestions, the choice is yours. But if you do follow my recommendations, this is what your Desktop will look like, once we’re finished.


1 Customizing GNOME’s Appearance

Before you can start installing themes, you need to install a very important GNOME Extension, the user-themes extensions. This extensions allows you to install and load custom themes into ~/.themes and/or /usr/share/themes.

1. Head over to to find the required extension
2. You’ll see the “Off” button, click on it to install the extension, so the button turns to “On”

We will also need the most important application that usually comes with the installation of GNOME is the GNOME Tweak Tool which allows us to change the general look and feel of the GNOME UI, that includes the user themes. Should you be running an older Ubuntu version, i.e. 12.04 LTS until 13.10, you have to install gnome-tweak-tool manually from the standard repositories:

sudo apt-get install gnome-tweak-tool

GNOME Tweak Tools is a very powerful tool and will enable you to change every important aspect of GNOME DE. The first page offers the ability to change the used themes, but we will come back to that in the later steps. On the left panel you can switch between groups of options (appearance, desktop, extensions, fonts, keyboard and mouse, power, startuo applications, top bar, typing, windows and workplaces). It is advisable to go through the settings and play around with them a bit so you become familiar with the configurable options. These are some suggestions of mine for a handy GNOME experience:

Fonts: Scaling Factor: 0,8
This option can increase or decrease the scale of the GNOME shell. A value of 0,8 decreases the entire GNOME shell to a level that I find appropriate. But that’s only my subjective opinion.

Power: When Laptop Lid is Closed
Sometimes the configured options under the usual Ubuntu Settings: Enegery get overwritten or ignored. I have thus applied my settings here, as well.

Workspaces: Workspace Creation: Dynamics
This option lets you configure how many workspaces you have available in your dash (right panel). I usually let GNOME dynamically add more once I need them.

Most of the themes we are going to install are coming from It represents the most exhaustive repository of themes for virtually everything in the GNOME environment. Usually, the themers offer a PPA to install their gnome shell, GTK+ and window themes. But another way to install the themes is to download the archive and copy its contents to one of the following directories:

(installation of shell, GTK+ and window themes for the current user)

(installation of shell, GTK+ and window themes for all users; root priviledges needed)

(installation of icon and cursor themes for all users; root priviledges needed)

Before wildly copying themes and icons into these directories, please make sure to always read the instructions of the chosen theme on its respective info page. Also, make sure to check whether the theme is available for your GNOME version (12.04 LTS ships with GNOME 3.4, while 14.04 LTS ships with GNOME 3.10).

After copying the theme or icon set into one of the above folders or adding the PPA to your sources, updating them and installing the theme or icon set, it should be available to choose in GNOME Tweak Tool. Whenever you have applied a new theme or set of icons, it makes sense to clear GNOME’s cache to actually see the new theme. For that, you can simply reload the entire GNOME shell by pressing ALT + F2 and running “r” (without “”) in the dialog.

1.1 The Shell
It is time to check out to find your favorite GNOME shell theme. My personal recommendation for the shell is the elegance-colors theme, because it has a mode to automagically adapt to your desktop’s background colors. To install elegance-colors theme, follow these steps:

1. Add the PPA to the system

sudo add-apt-repository ppa:satyajit-happy/themes
sudo apt-get update

2. Install Elegance Colors package

sudo apt-get install gnome-shell-theme-elegance-colors

3. Run the following command to set elegance-colors as shell theme (for some reason it cannot be set by GNOME Tweak Tool after initial install. But after running this command it works flawlessly)

gsettings set name 'elegance-colors

You can now open “Elegance Colors Preferences” from dash to start the packages’ own preference tool.

With this, you can change the behavior of the entire shell to fit your needs and even add nice transparency effects. You can change the color of every single aspect of the shell yourself, or let the application decide which colors fit best to the rest of your environment by choosing “Derive color from: Wallpaper / GTK theme”. I have also uploaded my personal settings for you to import.

1.2 GTK+
Again, has the most extensive collection of GTK+ and Window themes available. GTK+ and Window themes are also installed by either adding the PPA, if available, or copying the archive’s contents into ~/.themes/ or /usr/share/themes/. For my personal taste, the Evolve theme is the prettiest and most compatible with Ubuntu GNOME version 3.10.

1. Add the PPA to the system

sudo add-apt-repository ppa:satyajit-happy/themes
sudo apt-get update

2. Install the Evolve Package

sudo apt-get install evolve-gtk-theme

3. Open up Gnome Tweak Tool and set Evolve as Window and GTK+ theme.


Now that we have covered the sections with the most impact to GNOME’s appearance, it’s time for some fine tuning.

1.3 Icons
As with the other secions of customizing GNOME, it is a sheer matter of taste which icon pack to choose. Once more, the best repository of icons can be found on The Faneza icon pack has gained huge popularity over the last years, there is also a blue Mac-like version called Faenza-Cupertino. If your after a desktop that looks at least similar to MacOS, I can highly recommend Faenza-Cupertino. But make sure to have both Faenza and Faenza-Cupertino installed, as Faenza-Cupertino requires the normal Faenza package to be installed, as well. Generally, icons are NOT installed in ~/.themes, but instead copied into /usr/share/icons/. To copy content into that directory, you’ll need root priviledges.

To install my recommended icon theme, please follow these instructions.

1. Download Faenza icon pack and unpack its contents to ~/Downloads/
2. Unpack ~/Downloads/Faenza.tar.gz to ~/Downloads
(we’re only interested in the main Faenza icon set, so we’ll only be using the Faenza folder to install)
3. Download Faenza-Cupertino icon pack and unpack its contents to ~/Downloads/
4. Open Nautilus with root priviledges by opening up a terminal and running

sudo nautilus

5. Now search for your extracted “Faenza” and “Faenza-Cupertino” folders in ~/Downloads and copy them into /usr/share/icons/
6. Open up GNOME Tweak Tool and change Icons to “Faenza-Cupertino”

1.4 Cursors
You might have guessed where to find a decent collection of cursor icon packs: Cursor themes also belong into /usr/share/icons/ so you can apply the same steps as in 1.3. In my example, I haven’t changed the cursor theme, but Shere Khan X seems like a good choice.

2 Customizing GNOME’s Functionality

As I have mentioned earlier when installing the user-themes extension, most of the extensions for GNOME are available at You can install all extensions by clicking on the “Off” Botton to the left of the extension’s name. Sometimes, an extension does not (fully) work with your GNOME version, so it is wise to check the comments before installing any extension. Here is a list of my favourite extensions:

Removable Drive Menu
Adds an app indicator to the left side of the GNOME panel to access any mounted devices with a simple click.

Places Status Indicator
Adds a “Places” Applet to the left side of the GNOME panel to quickly access directories in the system.

This is my favourite extension, as it adds a weather forecast applet next to the clock in the panel. Unfortunately, this application couldn’t successfully be installed through the webpage. But it is possible to install it through a PPA:

1. Add the PPA to your sources

sudo add-apt-repository ppa:gnome-shell-extensions
sudo apt-get update

2. Install the weather application

sudo apt-get install gnome-shell-extension-weather

3. Reload GNOME shell (ALT + F2, running “r”, see above)
4. Activate Weather Extensions from GNOME Tweak Tool under “Extensions”

There are many many more extensions, so please browse through to make the most of GNOME! Please also comment on the article to post your favorite extensions and themes.

My Ubunyu Unity desktop after customization.

How to customize your Ubuntu desktop in 6 steps

Ubuntu is a great Linux distribution for users who want an easy-to-use interface and is arguably the best distribution for a user new to the Linux world. Some side effects of this is that, in terms of interface and appearance, many arbitrary choices have been made for the user by Canonical, particularly in the form of the Unity desktop environment.

These are not set in stone, however. Below are a few tips on how to feel more at home in Ubuntu. For a glimpse of some of the things you can customize in Ubuntu, you can see above what my desktop looks like using Unity in Ubuntu 14.04, compared to the default setup.

Let’s break down what is needed to do this.

1. Install the Unity Tweak Tool

Before you can make any significant changes to the appearance of Ubuntu, you will have to install the Unity Tweak Tool, This is a special settings manager for the Unity desktop environment, and allows you to implement things like alternate icon sets and themes. It can be downloaded from the Ubuntu software center, or if you prefer, from the terminal with the following commands:

sudo apt-get install unity-tweak-tool

If you are using Gnome desktop environment, then you might want to try the Gnome Tweak Tool, which can also can be installed from the Ubuntu software center or with the command

sudo apt-get install gnome-tweak-tool

2. Install a GTK theme
There are many custom themes for Ubuntu, which affect the way applications and windows look. The theme I use is the Numix GTK+ theme. You can find out more about the Numix themes and icons at . You can install the the Numix theme by opening the terminal and entering:

sudo add-apt-repository ppa:numix/ppa
sudo apt-get update && sudo apt-get install numix-gtk-theme

To enable the theme, open the Unity Tweak Tool and select “Theme”, located under the “Appearance” header and select the theme, which should now be an option listed under “Available Themes”. This process can be repeated for any other theme, provided the repository package name is known. Many themes are available for perusal at One very similar set of themes to Numix are available is Moka at

3. Install an icon set

The icons used in the screenshot are also from Numix, the Numix Circle icons. These icons can be installed by entering into the terminal the commands:

sudo apt-add-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-icon-theme-circle

To enable the icons, select “Icons” in the Unity Tweak Tool and highlight the icon set. Once again, this is possible for any of the multitudes of icon sets available. Moka also offers very nice icon sets that bring colorful, consistent design to your desktop.

4. Install Conky system monitor
Conky is a lightweight desktop system monitor. By itself, it is quite plain, but it is completely hackable, which opens the door to complete customization of the application, which can be used to display a variety of useful information. You can install Conky by with these commands

sudo apt-get install conky conky-all

You will also need to install Curl with the command

sudo apt-get install curl

The Conky theme shown in the screenshot is Harmattan, which displays time, weather and system processes in 15 different themes. To install this theme, you can download the .zip file from deviantART, then extract its contents. Move the .conky-weather folder (you may have to hit Ctrl + H to view these files) into the home folder, as well as the .conkyrc file from the folder containing the theme of your choice (the Harmattan theme is nicely organized into folders for different types of themes). There are hundreds of themes of Conky, and all you need to try them is to replace the .conkyrc file in the home folder with the .conkyrc file for that theme.

5. Install some indicator applets

There are many third-party indicator applets that you can use to monitor information on your desktop. There are applets for weather, system performance, and more. The ones I use are quite simple. Because weather and performance are already in Conky, I haven’t installed these, but you can install them by entering the following commands in the terminal:

sudo apt-get install indicator-weather
sudo apt-get install indicator-multiload

The two applets I use are the Keys Lock applet and the Touchpad controller, because my laptop does not have an indicator light for caps lock or the touchpad disable hotkey. You can install these with the commands

sudo add-apt-repository ppa:tsbarnes/indicator-keylock
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install indicator-keylock
sudo apt-get install touchpad-indicator

You may have to re-login to your user in order to launch these applets.

6. Get advanced with CompizConfig Settings Manager

If Unity Tweak Tool is not powerful enough for you, you can try installing the CompizConfig Settings Manager.


CompizConfig may damage your system if the wrong settings are applied. Use with caution. You can enable settings hidden in all corners of Ubuntu, and you can install in from the Ubuntu Software Center or from the terminal with these commands:

sudo apt-get install compiz compizconfig-settings-manager compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-plugins

Your Ubuntu desktop is now supercharged! All of these steps have thousands of other options attached to them, so customizability is endless. Now go out and try them!