Siguiendo un poco las temáticas de Java investigué como distribuir una aplicación pero empaquetandola como un .deb, es decir, un paquete Debian; encontré este artículo en inglés que quiero compartirlo con ustedes y tratar de hacerlo un poco más gráfico.
Quiero mencionar antes de empezar que esto solo tiene lógica si la aplicación trabaja por si sola sin utilizar recursos externos, y por externos me refiero a por ejemplo un servidor de base de datos como MySQL, Oracle, PostgreSQL, etc, si utiliza base de datos lo mejor es que sea embebida porque sino carece del sentido de empaquetarlo de esta manera, según mi punto de vista, a no ser que ya este preparada para conectarse a un servidor central.
Primero un poco de la nomenclatura que vamos a utilizar, en GNU/Linux los ejecutables sh de la mayoría de aplicaciones van dentro de /usr/bin , luego la aplicación en sí y sus librerías deben estar en /usr/lib y el icono para integrar el menú en /usr/share/carpeta-de-aplicacion como se muestra a continuación:
/usr/bin/mi_aplicacion [Ejecutable sh]
/usr/lib/mi_aplicacion/mi_aplicacion.jar [jar principal]
/usr/lib/mi_aplicacion/librerias_de_mi_aplicacion.jar [librerías]
/usr/share/doc/mi_aplicacion/icon.gif
Si no tienen una aplicación Java a la mano, les dejo un hola mundo que podemos utilizar para el ejemplo, descargar--> AQUI .
Abrimos un navegador de archivos como nautilus y vamos a nuesta carpeta personal y creamos un arbol de carpetas como este:
hola-mundo/DEBIAN
hola-mundo/usr/lib/hola-mundo
hola-mundo/usr/bin
hola-mundo/usr/share/hola-mundo
hola-mundo/usr/share/applications
Dentro de hola-mundo/DEBIAN creamos un archivo de nombre "control" con la información básica de nuestra aplicación:
Package: hola-mundo
Version: 1.0
Section: web
Priority: optional
Architecture: all
Maintainer: hug0tux
Installed-Size: 171
Description: Esta es la descripción del paquete.
Si necesitan más lineas para escribir
la descripción deben asegurarse que cada línea
comience con un espacio como se ve aqui
para que no se interprete como un campo.
.
Las lineas vacias se representan por un punto.
NOTA: Por el editor de texto de taringa no se notan los espacios, pero en Description cada linea adicional debe comenzar con un espacio.
Dentro de hola-mundo/usr/lib/hola-mundo arrojamos los archivos de nuestra aplicación, en el caso de la aplicación java que les di de ejemplo son estos:

En hola-mundo/usr/bin creamos un archivo de texto llamado "hola-mundo" con este contenido:
#!/bin/bash
java -jar /usr/lib/hola-mundo/hola-mundo.jar
Este va a servir para ejecutar el jar en la ubicación dada. Debemos recordar otorgarle permisos de ejecución ya sea haciendo clic derecho y luego en propiedades>>permisos.

O por consola con el comando:
chmod +x hola-mundo
En hola-mundo/usr/share/hola-mundo arrojamos el icono que utilizaremos para la aplicación.
Hoy creamos un lanzador para poder agregarlo al menú principal del nuestra distribución, esto lo he probado en Cinnamon por lo que probablemente funcione en Gnome y derivados como Xfce. En hola-mundo/usr/share/applications creamos un archivo de texto llamado "hola-mundo" con el siguiente contenido:
[Desktop Entry]
Encoding=UTF-8
Name=Hola Mundo
Comment=Aplicación de ejemplo
Exec=/usr/bin/hola-mundo
Icon=/usr/share/hola-mundo/icon.png
Terminal=false
Type=Application
Categories=GNOME;Application;Other
StartupNotify=true
- Name: Es el nombre de la aplicación
- Comment: Un comentario que aparecerá junto con el nombre de la aplicación.
- Exec: Ruta del ejecutable.
- Icon: Ruta del icono.
- Terminal: Si se ejecuta mediante terminal.
- Categories: Ruta que seguirá en el menú.
Después de guardado lo renombrados a "hola mundo.desktop".
Con esto creo que ya hicimos lo necesario en como debe quedar la "nomenclatura" para construir el paquete. Abrimos una terminal y nos posicionamos en donde tenemos la carpeta principal de todo el proyecto, en este caso nuestra carpeta personal y digitamos este comando:
[email protected] ~ $ dpkg --build hola-mundo
En su carpeta personal se habrá creado un paquete llamado hola-mundo.deb. Si lo abrimos con el instalador de aplicaciones (GDebi) podremos ver la información sobre el.
Lo instalas como harías con cualquier otro programa, para probarlo lo primero es revisar el menú.

También lo podemos ver en Synaptic después de haber recargado los repositorios.

Podes digitar "hola-mundo" en una terminal e igual la aplicación debe abrir. Y si lo queres desinstalar tambien funciona en terminal con:
sudo apt-get remove hola-mundo
Espero que les sea de mucha ayuda, intenté hacerlo lo más "paso a paso" que puede, si en algo me he equivocado o le puedo mejorar estoy abierto a los comentarios.
Hasta luego amigos.
Más info sobre el archivo control--> Debian Policy Manual .
Descargar proyecto
-
Ver más tutoriales de Java
