El menú de aplicaciones es algo que se puede personalizar en todas las distribuciones GNU/Linux. En cada entorno de escritorio se hace gráficamente de una manera distinta, con una aplicación distinta... Pero, al menos en los entornos basados en GNOME, todos tienen un modo común: mediante la edición de archivos .desktop se pueden agregar entradas al menú de aplicaciones. Así que en este post enseñaré cómo agregar entradas al menú en entornos basados en GNOME mediante creación de archivos .desktop.
Pues bien, como ya digo más arriba, esta solución sirve, al menos que yo sepa, en entornos basados en GNOME. ¿Cuáles? GNOME, GNOME Shell, Pantheon (entorno de elementary OS), Cinnamon, MATE, Unity... y seguro que la lista es más larga. También sé que hay un modo parecido (si no el mismo) para KDE, y aunque es muy parecido al sistema que utilizan en GNOME, desconozco cómo se hace. Así que de momento este post es aplicable a los usuarios de los entornos antes mencionados en negrita.
Este método es muy útil para programas y apliaciones que descargamos y que no precisan instalación, sino que son portables (como los programas que vienen comprimidos en tar.gz listos para usar).
Vamos a ver un ejemplo de cómo se haría este archivo y qué hacer con él, en concreto con para la aplicación eclipse (un IDE de programación) descargada directamente desde la web con un tar.gz. Si queréis seguir el ejemplo con el mismo programa, podéis descargar eclipse desde este enlace (64 bits).
Comencemos con el programa ya descargado y descomprimido. Accedemos a la carpeta de instalación del programa al que queremos agregar al menú (en este caso, la carpeta descomprimida de eclipse), y creamos un archivo, al que daremos un nombre como "nombre-de-la-apliacion.desktop", teniendo en cuenta que no debemos poner espacios en el nombre del archivo, ni carácteres que no sean UTF-8. Por ejemplo, yo voy a llamar al archivo eclipse.desktop, ya que es para esa aplicación. En el interior del archivo, seguimos la siguiente plantilla:
[Desktop Entry]
Name=nombre-de-aplicación
Type="Application" para que sea una aplicación
Exec=ejecutable-de-apliación
Terminal="false" para que no se ejecute en terminal
Icon=nombre-del-archivo-del-icono
Comment=descripción de aplicación (podemos poner espacios)
NoDisplay="false" si queremos que se muestre en el menú
Categories=categorias de apliación, separadas por ";"
Por lo que para esta apliación, eclipse, el archivo sería el siguiente:
[Desktop Entry]
Name=eclipse
Type=Application
Exec=eclipse
Terminal=false
Icon=eclipse
Comment=IDE Eclipse para desarrollo
NoDisplay=false
Categories=Development;IDE;
Con el archivo ya creado y guardado, abrimos un terminal, navegamos hasta la carpeta donde se encuentra el archivo y escribimos:
sudo cp ARCHIVO-ICONO /usr/share/pixmaps/ARCHIVO-ICONO
En el caso del ejemplo:
sudo cp icon.xpm /usr/share/pixmaps/eclipse.xpm
Ahora toca crear un enlace simbólico del ejecutable en la carpeta de ejecutables del sistema (la ruta, la de la carpeta anterior, donde tengáis la carpeta "eclipse" o de la apliación en concreto que queráis la entrada en el menú):
sudo ln -s /RUTA/HASTA/CARPETA/eclipse/eclipse
Y listo, con esto, se habrá añadido a nuestro menú una entrada con la aplicación que queremos y su correspondiente icono, nombre y descripción.
Vamos esta vez a crear directamente un archivo de acceso directo en el directorio de accesos directos del sistema. Creamos uno de estos archivos y lo editamos con nuestro editor favorito (yo usaré nano):
El contenido de este archivo será el mismo que el de el anterior (lo explicaré nuevamente con el ejemplo de eclipse), solo que esta vez habrá que especificar la ruta absoluta hasta el icono y el lanzador (Exec) de la aplicación:
[Desktop Entry](Especificar que el icono puede estar en formato png, xpm, o el que traiga).Guardamos y salimos (CTRL+X). Y listo! Ya tenemos el icono en nuestro menú, sin tener que instarlo con desktop-file-install ni nada!
Name=eclipse
Type=Application
Exec=/ruta/hasta/lanzador/eclipse
Terminal=false
Icon=/ruta/hasta/icono/eclipse.png
Comment=IDE Eclipse para desarrollo
NoDisplay=false
Categories=Development;IDE;
Muy bueno este "truco" Raúl, no lo conocía. Creo que en la propiedad
ResponderEliminar"Exec" también puedes poner la ruta absoluta del fichero ejecutable y
de esa forma te ahorras el enlace simbólico.
También
hay un paquete llamado "alacarte" que proporciona la funcionalidad
básica para crear menús y entradas de menús para GNOME y es muy fácil de
usar. Eso sí, para hacer cosas más sofisticadas pienso que hay que
recurrir al método que comentas.
Exacto, como comentas, también se puede hacer con "alacarte". La pega es que, para usuarios que como yo utilizan elementary OS, alacarte no es una solución viable, ya que al instalarlo instala además el entorno GNOME entero... así que, como esta sí es una solución más general para todos, ha sido la que he decidido publicar. Aún así, gracias por aportar la idea, para que otros lectores puedan verlo :)
ResponderEliminarUn saludo!
Pues la verdad es que tampoco conocía esta distribución basada en Ubuntu, en fin, parece que a Ubuntu "le crecen los enanos". Cambiando de tema y como veo que te defiendes muy bien con las distribuciones de GNU/Linux quería hacerte una propuesta para colaborar en un proyecto de software libre, a través de tu dirección de contacto. No hay que escribir ninguna línea de código, las tareas a realizar consisten en la configuración y administración de una distribución basada en Ubuntu autóctona y hacer un poquitín de "troubleshooting".
ResponderEliminar¿Te interesa saber más sobre este proyecto?
NOTA: Lo esencial y la parte más difícil ya está hecho.
Pues ahora mismo así a bote pronto... no sé que decir xD La verdad es que con esto de estar en la universidad no sé si tendría mucho tiempo, pero sí, dame más información y ya veo qué habría que hacer más concretamente y en ese caso me lo pienso. Gracias por la propuesta :)
ResponderEliminarUn saludo!