Natknąłem się na to kilka razy podczas instalowania aplikacji ze źródła i od czasu do czasu hack z update-alternatives
. Do tej pory była to tylko niewielka irytacja (tj. Nie przeszkadzała w osiągnięciu celu końcowego), ale teraz jest to frustracja, ponieważ wskazuje na dziurę w mojej bazie wiedzy ... więc kiedy dostaję wiadomość, że „ foo ”nie jest zarejestrowaną aplikacją (lub nie mogę użyć domyślnej ikony foo, ponieważ Ubuntu nie ma wiedzy o„ foo ”):
Co definiuje „zarejestrowaną aplikację”?
Jak mogę zdefiniować aplikację zainstalowaną ze źródła (i prawdopodobnie rezydującą w $ HOME / bin / app-name) tak, aby zawierała taką samą funkcjonalność jak pakiet zainstalowany z .deb? (jeśli rozwiązanie nie jest oczywiste z odpowiedzi 1)
Przykład:
Pobieram i rozpakowuję codzienne wersje deweloperskie sublime-text-2
do /home/tom/bin/sublime-text-2
. Utworzyłem plik * .desktop z odpowiednimi skrótami itp. Ale ikona wzniosłości nie może być wyświetlana w żadnym programie uruchamiającym, nawet jeśli podam pełną nazwę ścieżki do opcji. Rozwiązaniem jest zainstalowanie drugiej instancji wzniosłej z pakietu deb.
Po zainstalowaniu wysublimowane-text-2 z pakietu .deb, instaluje pod /usr/bin && /usr/lib
zainstalowana .desktop plik jest przechowywany pod /usr/share/applications
, a odpowiedni wiersz brzmi: icon=sublime_text
.
Gdzie brakuje mi powiązania? W jakiś sposób Ubuntu wie, jak wyodrębnić ikonę sublime_text
w drugim, ale nie w pierwszym (znowu, nawet z pełną ścieżką).
/.local/share/applications
. Najbardziej godnym zapamiętania miejscem, w którym pamiętam komunikat „zarejestrowana aplikacja” była próba zaklinowania skompilowanej ze źródła wersji vima na update-alternatives
listę, aby pojawiła się zamiast instalacji „domyślnej”. Pomocny? Zgadnij, czego szukam to mechanizm, który zapewnia Ubuntu wiedzę o tym, gdzie znaleźć (na przykład) poprawną ikonę aplikacji A - podobnie jak w przypadku plików * .desktop pod /usr/share/applications/
.
~/.local/share/applications
uruchamiającym tylko na sublime_text
( nie pełną ścieżkę, czy to działa?