¿Necesitas crear el lanzador de una app en Ubuntu?

En Linux muchas apps no requieren de instalación al uso y se instalan mediante descarga, descomprimir y listo.

Soy de la opinión de revisar en los repositorios de nuestra distro por si la app está disponible y actualizada, pero a veces esto no es así o queremos probar la última versión sólo disponible mediante descarga. En estos casos, ¿qué pasa con el lanzador para iniciarla desde menú o escritorio?

Crearlo es muy sencillo y aunque hay apps para ello, en realidad no son necesarias, vamos a ver como hacerlo desde Terminal.

¿Que es un lanzador?

Un lanzador es una llamada a una aplicación. Cada acceso del menú de inicio o escritorio es un lanzador.

La información de un lanzador se almacena en un archivo con extensión .desktop y cada lanzador tiene su propio archivo independiente.

Por ejemplo, para lanzar fritzing tenemos el archivo fritzing.desktop que contiene lo siguiente:

[Desktop Entry]
Name=fritzing
Exec=/home/nuse/Apps/fritzing/Fritzing
Terminal=false
Type=Application
Icon=/home/nuse/Apps/fritzing/icons/fritzing_icon.png
Categories=Development;IDE;Electronics;

Otro ejemplo, spyder3:

[Desktop Entry]
Version=1.0
Type=Application
Name=Spyder3
GenericName=Spyder3
Comment=Scientific PYthon Development EnviRonment - Python3
TryExec=spyder3
Exec=spyder3 %F
Categories=Development;Science;IDE;Qt;
Icon=spyder3
Terminal=false
StartupNotify=true
MimeType=text/x-python;

En este hay algunos parámetros más que en el primero, todo depende de la aplicación, el de firefox por ejemplo tiene muchas lineas, porque también es posible incluir soporte a varios idiomas.

La mayoría de las aplicaciones incluyen un lanzador .desktop pre-configurado a falta de modificar la ruta correcta y moverlo al sitio adecuado.

Pero seamos prácticos, con 6 lineas suele ser más que suficiente:

[Desktop Entry]
Name= <nombre a mostrar>
Icon= <ruta del icono a mostrar>
Exec= <ruta del binario>
Terminal= <true o false>
Type= <tipo>
Categories= <categoria1;categoria2;…>

  • Name: nombre o etiqueta del lanzador
  • Icon: ruta del icono a mostrar
  • Exec: ruta del archivo a ejecutar
  • Terminal: Si se ejecuta en un terminal o no
  • Type, aquí tenemos tres opciones:
    • Application: indica que es una aplicación, es la opción más común.
    • Directorio: Abre un directorio
    • link: si es un enlace
  • Categories, indica la categoría donde se mostrará el lanzador.
    • Las categorías principales son:
      • AudioVideo
      • Audio
      • Video
      • Development
      • Education
      • Game
      • Graphics
      • Network
      • Office
      • Science
      • Setting
      • System
      • Utility
    • No son excluyentes y podemos asociar varias categorías separando con un punto y coma «;»
    • Si omitimos este parámetro el lanzador se ubicará en la categoría «Otras»

Cómo crear un lanzador

Bien, ahora que sabemos que es un lanzador, creemos uno.

Lo primero es decidir si el acceso va a estar visible para todos los usuarios o solo para el usuario actual:

  • Si queremos que esté disponible para todos los usuarios crearemos el archivo desktop en /usr/share/applications
  • Si el lanzador solo va a estar disponible para el usuario lo creamos en ~/.local/share/applications/
  • Hay una tercera opción que hará que la aplicación se ejecute de forma automática al inicio, ubicando el archivo en /etc/xdg/autostart/

Abrimos Terminal y vamos al directorio (vamos a ver un ejemplo para todos los usuarios):

cd /usr/share/applications

Editamos un nuevo archivo de nombre <tuapplicacion>.desktop:

sudo gedit <tuapplicacion>.desktop

Incluye las siguientes lineas cambiando los datos por los de tu app.:

[Desktop Entry]
Name=/<nombre a mostrar>
Icon=<ruta del icono a mostrar>
Exec=<ruta del binario>
Terminal=<true o false>
Type=<tipo>
Categories=<categoria>

Guarda los cambios.

Y por último indicamos al sistema que actualiza la base de datos desktop para que aparezca nuestro lanzador

sudo update-desktop-database

¡Ya tienes el acceso a tu aplicación desde el menú!!

Saludos!!

Referencias:


Deja tu comentario