J'ai rencontré cela plusieurs fois lors de l'installation d'applications à partir de la source et lors de piratages occasionnels avec update-alternatives
. Jusqu'à présent, cela n'a été qu'un ennui mineur (c'est-à-dire qu'il n'a pas gêné l'objectif final) mais c'est maintenant une frustration car il pointe vers un trou dans ma base de connaissances ... alors quand je reçois un message qui ' foo 'n'est "pas une application enregistrée" (ou je ne peux pas utiliser l'icône par défaut de foo car Ubuntu n'a aucune connaissance de' foo '):
Qu'est-ce qui définit une «demande enregistrée»?
Comment puis-je définir une application installée à partir de la source (et résidant probablement dans $ HOME / bin / app-name) de telle sorte qu'elle intègre les mêmes fonctionnalités qu'un package installé à partir d'un .deb? (si la solution ne va pas de soi dans la réponse 1)
Exemple:
Je télécharge et décompresse les versions de développement quotidiennes de sublime-text-2
to /home/tom/bin/sublime-text-2
. J'ai créé un fichier * .desktop avec les raccourcis appropriés, etc. Mais l'icône de sublime ne peut être affichée dans aucun lanceur même si je fournis un chemin d'accès complet à l'option. La solution consiste à installer une 2e instance de sublime à partir d'un paquet deb.
Lors de l' installation d'un paquet .deb sublime texte-2, il installe sous /usr/bin && /usr/lib
le installé .desktop fichier est stocké sous /usr/share/applications
et la ligne correspondante se lit comme suit: icon=sublime_text
.
Où est le lien qui me manque? D'une certaine manière, Ubuntu sait comment exiger l'icône à partir sublime_text
de ce dernier, mais pas dans le premier (encore une fois, même avec un chemin d'accès complet fourni).
/.local/share/applications
. L'endroit le plus notable dont je me souvienne du message «application enregistrée» était lorsque j'essayais de caler une version compilée à partir de la source de vim dans laupdate-alternatives
liste afin qu'elle apparaisse à la place de l'installation «par défaut». Utile? Je suppose que ce que je recherche, c'est le mécanisme qui permet à Ubuntu de savoir où trouver (par exemple) l'icône correcte pour l'application A - comme c'est le cas avec les fichiers * .desktop sous/usr/share/applications/
.~/.local/share/applications
lanceur sur justesublime_text
( pas le chemin complet, cela fonctionne-tRéponses:
Je pense que vous rencontrez plusieurs problèmes à la fois avec les installations sources.
update-alternatives
ne vous permettra pas de définir n'importe quel programme comme application préférée pour un nom donné. Le programme devra d'abord être enregistré avec l'--install
option. Par exemple:Si vous voulez voir comment l'enregistrement se fait, vérifiez par exemple
/var/lib/dpkg/info/nano.postinst
.Notez, cependant, qu'il serait assez faux de définir une alternative à l'échelle du système qui pointe vers le répertoire personnel de certains utilisateurs. Il existe généralement des variables d'environnement ou d'autres paramètres pour définir une préférence pour un seul utilisateur.
Le problème avec le fichier de bureau est probablement complètement séparé, mais vous devrez fournir plus de détails sur les chemins exacts que vous avez utilisés.
En général, l'installation d'une application à partir de la source peut être assez difficile à bien intégrer au reste du système, selon l'application particulière.
la source
sublime-text
postinst
vérifications comme vous l'avez suggéré, donc je peux maintenant pointer l'installation alternative (dans mon $ HOME) vers un fichier spécifique plutôt que de le laisser `` automatiquement '' chercher dans l'exécutable. Je marque ceci comme fermé / résolu car je crois avoir ce dont j'ai besoin maintenant.--install
?