Me he encontrado con esto varias veces al instalar aplicaciones desde la fuente, y durante el pirateo ocasional update-alternatives
. Hasta ahora, solo ha sido una molestia menor (es decir, no se interpuso en el objetivo final), pero ahora es una frustración, ya que apunta a un agujero en mi base de conocimiento ... así que cuando recibo un mensaje de que ' foo '"no es una aplicación registrada" (o no puedo usar el icono predeterminado de foo porque Ubuntu no tiene conocimiento de' foo '):
¿Qué define una "solicitud registrada"?
¿Cómo puedo definir una aplicación instalada desde la fuente (y que probablemente resida en $ HOME / bin / app-name) de modo que tenga la misma funcionalidad que un paquete instalado desde un .deb? (si la solución no es evidente en la respuesta 1)
Ejemplo:
Descargo y descomprimo las versiones diarias de desarrollo de sublime-text-2
to /home/tom/bin/sublime-text-2
. He creado un archivo * .desktop con accesos directos apropiados, etc. Pero el icono de sublime no se puede mostrar en ningún iniciador, incluso si proporciono una ruta completa a la opción. La solución es instalar una segunda instancia de sublime desde un paquete deb.
Cuando instalo sublime-text-2 de un paquete .deb, se instala bajo /usr/bin && /usr/lib
, el instalado .desktop archivo se almacena bajo /usr/share/applications
, y la línea en cuestión dice: icon=sublime_text
.
¿Dónde está el enlace que me falta? De alguna manera, Ubuntu sabe cómo obtener el ícono sublime_text
en el último, pero no en el primero (nuevamente, incluso con una ruta completa provista).
/.local/share/applications
. El lugar más notable que puedo recordar es el mensaje de "aplicación registrada" cuando trataba de incluir una versión compilada de vim de la fuente en laupdate-alternatives
lista para que apareciera en lugar de la instalación 'predeterminada'. ¿Servicial? Supongo que lo que estoy buscando es el mecanismo que proporciona a Ubuntu el conocimiento de dónde encontrar (por ejemplo) el icono correcto para la aplicación A, como lo hace con los archivos * .desktop debajo/usr/share/applications/
.~/.local/share/applications
lanzador a solosublime_text
( no la ruta completa, ¿funciona?)Respuestas:
Creo que te encuentras con varios problemas a la vez con las instalaciones de origen.
update-alternatives
no le permitirá configurar cualquier programa como aplicación preferida para un nombre determinado. El programa tendrá que registrarse primero con la--install
opción. Por ejemplo:Si desea ver cómo se realiza el registro, consulte, por ejemplo
/var/lib/dpkg/info/nano.postinst
.Sin embargo, tenga en cuenta que sería bastante falso definir una alternativa para todo el sistema que apunte al directorio de inicio de algún usuario. Por lo general, hay variables de entorno u otras configuraciones para establecer una preferencia para un solo usuario.
El problema con el archivo de escritorio probablemente esté completamente separado, pero deberá proporcionar más detalles sobre exactamente qué rutas utilizó.
En general, instalar una aplicación desde el origen puede ser bastante difícil de integrar bien con el resto del sistema, dependiendo de la aplicación en particular.
fuente
sublime-text
postinst
comprobaciones, como sugirió, por lo que ahora puedo apuntar la instalación alternativa (dentro de mi $ HOME) a un archivo específico en lugar de dejar que busque 'automáticamente' desde el ejecutable. Estoy marcando esto cerrado / resuelto ya que creo que tengo lo que necesito ahora.--install
?