/usr/share/icons/ typically contains pre-installed themes (shared by all users)
~/.icons/ typically contains folders with the themes installed by the user.
Also, many applications have their icons in /usr/share/pixmaps/ or in the folder with the same name as the application under /usr/share/...
~/.local/share/icons/ ( soffice.png java-lang-thread.png org-jabref-jabrefmain.png) one of the places where Ubuntu searches for icons, if you use relative path
/usr/share/icons/... and subfolders ( matlab.png .../hicolor/scalable/apps/chromium-browser.svg .../hicolor/scalable/apps/geany.svg .../hicolor/scalable/apps/okular.svgz .../default.kde4/48x48/apps/acroread.png)
/usr/share/... just subfolders ( .../vlc/vlc.ico .../gimp/2.0/images/gimp-logo.png ) but this one is more for icons used in the program that the logo of the program
/snap/... just subfolders ( .../inkscape/3080/meta/gui/inkscape.svg .../languagetool/10/snap/gui/icon.png )
As a supplementary for the accepted answer: If you don't find the ~/.icons directory, there may be a ~/.local/share/icons directory instead (PS: My distro is Ubuntu 16.10).
$XDG_DATA_DIRS/icons, which typically just means ~/.local/share/icons.
/usr/share/pixmaps
So if you want a custom icon, your best bet is to find the icon name in /usr/share/pixmaps, and then create an image with that same file name in ~/.local/share/icons.
Globally:
/usr/share/icons/
or in your home folder :~/.local/share/icons
/usr/share/icons/
typically contains pre-installed themes (shared by all users)~/.icons/
typically contains folders with the themes installed by the user.Also, many applications have their icons in
/usr/share/pixmaps/
or in the folder with the same name as the application under/usr/share/...
There are several places: (in bracets some examples)
/usr/share/pixmaps/
( chromium-browser.png display-im6.q16.xpm firefox.png flash-player-properties.png gimp.xpm gvim.svg texstudio.xpm )/usr/share/app-install/icons/
( adobeflashplugin.png julia.svg texmaker.png thunderbird.png vim.svg vlc.png wine.svg grace.svg)~/.local/share/icons/
( soffice.png java-lang-thread.png org-jabref-jabrefmain.png) one of the places where Ubuntu searches for icons, if you use relative path/usr/share/icons/...
and subfolders ( matlab.png .../hicolor/scalable/apps/chromium-browser.svg .../hicolor/scalable/apps/geany.svg .../hicolor/scalable/apps/okular.svgz .../default.kde4/48x48/apps/acroread.png)/usr/share/...
just subfolders ( .../vlc/vlc.ico .../gimp/2.0/images/gimp-logo.png ) but this one is more for icons used in the program that the logo of the program/snap/...
just subfolders ( .../inkscape/3080/meta/gui/inkscape.svg .../languagetool/10/snap/gui/icon.png )~/.icons
related to freedesktop.org (source1, source2 )Most of the folders are already announced here, all sources I used:
As a supplementary for the accepted answer: If you don't find the
~/.icons
directory, there may be a~/.local/share/icons
directory instead (PS: My distro is Ubuntu 16.10).To add to some of the answers here:
The freedesktop.org standard requires programs to look for icons in multiple folders in this order:
$HOME/.icons
(for backwards compatibility)$XDG_DATA_DIRS/icons
, which typically just means~/.local/share/icons
./usr/share/pixmaps
So if you want a custom icon, your best bet is to find the icon name in
/usr/share/pixmaps
, and then create an image with that same file name in~/.local/share/icons
.