Я сталкивался с этим несколько раз при установке приложений из исходного кода и во время случайного взлома update-alternatives
. До сих пор это было лишь незначительное раздражение (то есть, не мешало достижению конечной цели), но теперь это разочарование, поскольку оно указывает на дыру в моей базе знаний ... поэтому, когда я получаю сообщение, что ' foo 'не является "зарегистрированным приложением" (или я не могу использовать значок по умолчанию для foo, потому что Ubuntu не знает о' foo '):
Что определяет «зарегистрированное приложение»?
Как определить приложение, установленное из исходного кода (и, вероятно, находящееся в $ HOME / bin / app-name), чтобы оно упаковывало те же функции, что и пакет, установленный из .deb? (если решение не очевидно из ответа 1)
Пример:
Я загружаю и распаковываю ежедневные сборки dev sublime-text-2
для /home/tom/bin/sublime-text-2
. Я создал файл * .desktop с соответствующими ярлыками и т. Д. Но значок для возвышенного не может отображаться ни в одном из средств запуска, даже если я укажу полный путь к опции. Решение состоит в том, чтобы установить второй экземпляр sublime из пакета deb.
Когда я устанавливаю возвышенный-текст-2 из пакета .deb, он устанавливается под /usr/bin && /usr/lib
, установленный .desktop файл хранится под /usr/share/applications
, и соответствующая строка: icon=sublime_text
.
Где связь, которую мне не хватает? Каким-то образом Ubuntu знает, как получить значок sublime_text
в последнем, но не в первом (опять же, даже с указанием полного пути).
/.local/share/applications
. Самое заметное место, которое я могу вспомнить, это сообщение «зарегистрированное приложение», когда я пытался втиснуть в update-alternatives
список версию vim, скомпилированную из источника, чтобы она появилась вместо установки «по умолчанию». Полезно? Угадайте, что я ищу, так это механизм, который дает Ubuntu знания о том, где найти (например) правильный значок для приложения A - как это происходит с файлами * .desktop в /usr/share/applications/
.
~/.local/share/applications
панели запуска просто sublime_text
( не полный путь, это работает?