73

I'm trying to change the icon of a specific application (Pidgin) in my Ubuntu 11.10 Unity launcher. I have tried searching in the options and in the Compiz settings but could locate no option for changing individual icons.

I can change the theme but that's not what I want.

I am willing to edit configuration files to get this change. It doesn't have to be a UI solution.

1

8 Answers 8

70

For Ubuntu 11.10


The first thing you would need to do is take a .png icon file that you would like to use and copy it to the respective ~/.local/share/icons/hicolor/ directory. This will contain the following directories (which are the dimensions of the icons) : 16x16/apps/ 32x32/apps/ 48x48/apps/

I downloaded a free 16x16 free icon sampler and picked a 16x16 icon called Alien.png

I took the Alien.png file and copied it to ~/.local/share/icons/hicolor/16x16/apps, When you copy yours, you can do that through either the GUI or terminal.

From there you would need do the following in a terminal (you may need sudo to copy this over):

cp /usr/share/applications/pidgin.desktop ~/.local/share/applications/

Next edit the pidgin.desktop file:

vi ~/.local/share/applications/pidgin.desktop

Look for the line that says:

Icon=pidgin

This will need to change to the new icon name without the .png prefix...

Icon=Alien

Save your changes... Then logout and log back in.

Please let me know if this helps or if you need more assistance.

6
  • 1
    ~/ is the same thing as entering /home/<your-username>, just for clarification
    – itnet7
    Nov 19, 2011 at 3:58
  • 1
    Awesome. Great instructions. Just one thing. I had to sudo to copy the file from /usr/share to my local directory.
    – recluze
    Nov 19, 2011 at 4:01
  • 1
    Also consider to add a 128x128 icon (in the 128x128/apps/ folder) if you want a nice resolution during alt-tab (which uses slighly larger icons than the dock). Otherwise, excellent tip, thanks a lot !
    – Anto
    Jan 19, 2012 at 13:38
  • 3
    I love Ubuntu, but I'm sorry to say that some simple things like this one really suck... This is definitely not user friendly... Thanks for the detailed description anyway.
    – takeshin
    Feb 25, 2013 at 10:01
  • Great, very helpfull - especially the part about logging out and then back in again :)
    – Isaac
    Sep 23, 2015 at 7:23
18

The way that I did it was go to /usr/share/applications/<whatever app your looking for> then right click to properties click on the icon on the left and select the image that you want to be the icon.

You will have to sudo nautilus to edit the icon. Then just exit and search the program in Unity and it will show up with the selected icon.

2
  • 3
    I think you should rather do 'gksudo nautilus' instead of 'sudo nautilus' (but as I'm not an expert I could be mistaking)
    – user138784
    Mar 27, 2013 at 10:30
  • You could also use sudo -H nautilus
    – kiri
    Oct 16, 2013 at 11:42
7

For Ubuntu 12.04


In addition to the excellent answer given by itnet7, I would like to add that in Ubuntu 12.04 I had to also add ~/.local/usr/applications/icons/hicolor/64x64/apps in order for Unity to see the icon.

To resize your custom icon, you can use the excellent imagemagick package.

sudo apt-get install imagemagick

Then run the command mogrify -resize 64x64! myImage.png in order to get your custom icons nicely scaled down to the desired resolutions.

If you run the command below after creating the desktop icon and locked the application to your launcher, it will update unity without a need for a reboot.

unity --replace & 

as described here: application locked to launcher without icon

6
  1. Install Main Menu (AKA Alacarte) alacarte Install alacarte
  2. Open Main Menu
  3. Click on a program and select Properties in the right menu.
  4. Click on the icon
  5. Browse for your new icon and click Open
  6. Close your programs properties
  7. Close Main Menu

No logging out or reboot required ;)

1
  • Just to update; This method is working as for version 15.04, I just tried.
    – trinaldi
    May 1, 2015 at 2:09
6

For Ubuntu 14.04

In order to link an icon with a certain application that could be placed on the launcher, do the following on the command line:

Take e.g. an application called alpha_app with its icon alpha_app.png:

  1. execute:

     sudo cp alpha_app.png /usr/share/pixmaps/
    

    The above command copies your icon with file name alpha_app.png to the appropriate folder.

  2. Execute:

     sudo gedit /usr/local/share/applications/alpha_app.desktop
    
  3. In gedit, change the name of the icon as follows:

     Icon=alpha_app.png
    

    If the file alpha_app.desktop doesn't exist in /usr/local/share/applications/ or /usr/share/applications, execute locate alpha_app.desktop and copy it there. In the unlikely event that this is unsuccessful, it means that there is no alpha_app.desktop file anywhere in the disk and that you would need to create it yourself.

  4. Go to the dash and type the name of your application, in our example alpha_app.

  5. Pick the icon from Dash and move in onto Launcher.

Τέλος! The end!

2
  • Welcome to Ask Ubuntu! ;-) Could you please review my edits and also review the editing help to improve the readability of your answers in the future... ;-)
    – Fabby
    Feb 23, 2016 at 22:25
  • This works just perfect also in 16.04. You may need to restart/logout-login first so that Unity reads the new .desktop file.
    – MakisH
    Dec 6, 2016 at 13:09
2

I did this in Ubuntu 14.04.

I wanted to give a decent launcher icon to the "Dolphin" file manager (I wanted a dolphin for Dolphin).

I dread using complicated program and system file edits, because it is easy to mess up things. I like to keep it simple. So, instead of all these programming acrobatics ...

  1. I prepared my dolphin picture.

    Best to use a picture with a transparent background (typically a png), because the desktop background will show through it nicely (it won't be in its isolated own rectangle). As for size, my picture's file size is about 200 kB with a dimension of about 560x640 pixels. This size matches the other icons nicely. So, I had this picture ready in the normal "Pictures" folder.

  2. Then I typed into Terminal:

    sudo nautilus /usr/share/applications
    

    enter, and the panel with your applications comes up (represented by the current icons)

  3. Find the application you want to change the launch icon for, right click on its icon, then click on its "properties"

  4. At the top left of the properties panel you will see the current launch icon that you want to change to your own choice

  5. Now just left-click on that icon in the top left corner of the properties panel, and a new panel opens that asks you to select a custom icon to replace the old one with

  6. Find your prepared picture (it is like in a file manager), and select it

  7. Your selected new icon appears in the properties panel

  8. For the new icon to start showing among the launch icons, you need to restart your PC, and lo behold, there's your custom icon!

0

For Ubuntu 12.10


The directory that contains the following directories (which are the dimensions of the icons) has been changed to:

~/.local/share/icons/unity-webapps/apps

and if you do ls :

128  16  192  22  24  32  48  64  96
-1

In 13.04 I installed Nemo to get rid of nautilus-for-armless-toy.

I wanted the icon folder-house in the launcher.

I opened ~/.local/share/applications/nemo.desktop with gedit to have a look, and found a line

icon=folder 

(no path, no extension ???)

I tried searching in /usr/share/ for the usual default icon of nautilus which appeared to be called folder_home.png or .svg, I couldn't decide which. There were a bunch a files with the same name in various folders, so in the end I just changed the line to

icon=folder_home

and after logging out and back in the icon was changed.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .