I've run into this a few times when installing apps from source, and during the occasional hack with update-alternatives
. So far, it's only been a minor annoyance (ie, not got in the way of the end-goal) but it's now a frustration as it's pointing to a hole in my knowledge-base... so when I get a message that 'foo' is "not a registered application" (or I can't use foo's default icon cuz Ubuntu has no knowledge of 'foo'):
What defines a "registered application"?
How can I define an application installed from source (and likely residing in $HOME/bin/app-name) such that it packs the same functionality as a package installed from a .deb? (if the solution is not self-evident from answer 1)
Example:
I download and unpack daily dev builds of sublime-text-2
to /home/tom/bin/sublime-text-2
. I've created a *.desktop file with appropriate shortcuts, etc. But the icon for sublime cannot be display in any launcher even if I provide a full pathname to the option. The solution is to install a 2nd instance of sublime from a deb package.
When I install sublime-text-2 from a .deb package, it installs under /usr/bin && /usr/lib
, the installed .desktop file is stored under /usr/share/applications
, and the relevant line reads: icon=sublime_text
.
Where's the linkage I'm missing? Somehow Ubuntu knows how to exact the icon from sublime_text
in the latter, but not in the former (again, even with a full path provided).
/.local/share/applications
. The most notable place I can remember the "registered app" message was when trying to wedge a compiled-from-source version of vim into theupdate-alternatives
list so it would come up instead of the 'default' install. Helpful? Guess what I'm looking for is the mechanism that provides Ubuntu with knowledge of where to find (for example) the correct icon for app A -- as it does with *.desktop files under/usr/share/applications/
.~/.local/share/applications
launcher to justsublime_text
(not the full path, does that work?