Mi nombre es Fernando Briano y soy programador.

Agregar aplicaciones al lanzador de GNOME Shell, KDE o Unity

La mayoría de las aplicaciones en sistemas como Debian se encuentran en los repositorios y las podemos instalar con el gestor de paquetes correspondiente. Sin embargo en muchos casos instalamos aplicaciones “por fuera” o simplemente descargamos los ejecutables y los usamos a la par con el resto del sistema.

Esta modalidad de “instalación” tiene algunas desventajas:

  • Las actualizaciones del software quedan -en general- a cargo del usuario.
  • No hay integración con el sistema como cuando instalamos algo desde el gestor del paquete.

En mi caso me encontré con esta situación con Firefox Developer Edition. Lo descargué a un directorio en mi computadora y vive a la par con Iceweasel. Lo bueno de esta aplicación en particular es que cuenta con actualizaciones automáticas, así que no hay problema con eso.

Pero para abrir Firefox DE tenía que ir hasta el directorio donde lo descargué desde la terminal y ejecutarlo. También podía generar un ejecutable que se encargue de ese paso y ejecutarlo desde la terminal. Pero la verdad es que con Gnome Shell vengo bastante acostumbrado a apretar una tecla para cargar el lanzador de aplicaciones, escribir las primeras letras de la aplicación que quiero usar, y apretar enter cuando aparece el ícono en cuestión.

Buscando resolver este tema, encontré la respuesta en enseguida en StackExchange:

En GNOME y otros ambientes de escritorio compatibles con freedesktop.org, como KDE y Unity, las aplicaciones se agregan a los menúes de los escritorios o shell de escritorio mediante entradas desktop, definidas en archivos de texto con la extensión .desktop (archivos desktop). Los ambientes de escritorio construyen los menúes para el usuario a partir de la información combinada extraída de las entradas desktop disponibles.

Los archivos desktop pueden ser creado en cualquiera de estos dos lugares:

/usr/share/applications/ para entradas disponibles para todos los usuarios del sistema
~/.local/share/applications/ para entradas disponibles para un solo usuario

Por convención, los archivos desktop no debería incluir espacios o caracteres internacionales en su nombre.

Hay más información al respecto en la respuesta de Unix StackExchange (por ejemplo si se necesita ejecutar un script para mayor personalización de una aplicación). En mi caso fue suficiente con agregar lo siguiente a ~/.local/share/applications/firefox-developer.desktop:

fernando@endor ~/.local/share/applications 16:00:23
$ cat firefox-developer.desktop
[Desktop Entry]
Name=Firefox Developer Edition
Exec=/home/fernando/downloads/firefox-dev/firefox
StartupNotify=true
Terminal=false
Type=Application
Icon=/home/fernando/downloads/firefox-dev/browser/icons/mozicon128.png

Y el resultado final es que Firefox Developer edition se encuentra disponible desde el Shell de Gnome y convive amigablemente con Iceweasel:

Firefox Gnome Shell

Feed de comentarios | Url para Trackbacks | Suscribirse a los posts por correo electrónico

4 comentarios en este post

  1. Avatar Javier Rizzo 19 diciembre. 2014 - 11:12 pm Google Chrome 39.0.2171.95 GNU/Linux 64 bits

    Muy buen post. Siempre se me olvida cómo se hace y tengo que googlearlo cada vez que lo necesito.

    Una pregunta, Fernando, ¿qué es eso de Toasty que sale de repente? jaja. Me sacó de onda cuando me apareció.

    Saludos!

    • Avatar Fernando 22 diciembre. 2014 - 9:28 pm Firefox 36.0 GNU/Linux 64 bits

      Genial que sirvió 😀

      Jeje, lo de Toasty es un huevo de pascua del blog. Está programado para aparecer muy al azar. Viene de Mortal Kombat, donde aparecía la foto de Dan Forden diciendo “Toasty!” en algunos de los juegos al dar uppercuts. Hay alguna cosa más escondida por ahí…

      ¡Saludos!

  1. WordPress “Instalar” programas en GNU/Linux | Código, versos y tazas de café | 19 diciembre. 2014 - 10:46 pm

    […] entrada fue inspirada por la de Picando Código, pero quise ampliar aún más su publicación. Siempre se me olvidan este tipo de […]

Dejar un comentario

Toasty!