La aplicación se llama Tomighty, para lanzarlo ejecuto el siguiente comando desde terminal:
Código BASH:
Ver original
$ /usr/lib/jvm/java-7-oracle/bin/java -jar /opt/tomighty-0.7.1.jar
... y se debería ver así una vez arrancada: (es el tomate de la izquierda).
Cuando coloco la instrucción desde la opción que me da Ubuntu para arrancar el programa (botón superior derecho > Startup Applications...), simplemente no hace nada, no arranca. Ante esto, creé un script para lanzarlo y direccionar la salida a un archivo e indico la ruta de este script en el cuadro de dialogo de Ubuntu.
Código BASH:
Ver original
#!/bin/bash /usr/lib/jvm/java-7-oracle/bin/java -jar /opt/tomighty-0.7.1.jar > /tmp/tomighty 2>&1
Es entonces que tengo lo siguiente en el archivo donde mando la salida:
Código:
Estoy entendiendo, el problema será que cuando la lanza la aplicación aún no está listo la bandeja del sistema. Viendo el archivo que se encarga de lanzar el sonido cuando inicio sesión (que viene por default), veo que tiene parámetros que parecen condicionales. Copio su contenido como ilustración:Jan 12, 2012 9:58:38 PM org.tomighty.log.Log info INFO: Loading messages for locale en_US Jan 12, 2012 9:58:38 PM org.tomighty.log.Log info INFO: Messages not available for locale en_US. Exception in thread "main" java.lang.UnsupportedOperationException: The system tray is not supported on the current platform. at java.awt.SystemTray.getSystemTray(SystemTray.java:173) at org.tomighty.ui.tray.AwtTray.iconSize(AwtTray.java:28) at org.tomighty.resources.TrayIcons.tomato(TrayIcons.java:43) at org.tomighty.ui.TrayManager.initialize(TrayManager.java:63) at org.tomighty.ioc.Factory.create(Factory.java:45) at org.tomighty.ioc.Container.create(Container.java:61) at org.tomighty.ioc.Container.get(Container.java:50) at org.tomighty.ioc.Container.get(Container.java:43) at org.tomighty.Tomighty.main(Tomighty.java:58)
Código:
Comparándolo con el que crea para mi aplicación, no tiene nada de eso:# ~/.config/autostart/libcanberra-login-sound.desktop [Desktop Entry] Type=Application Name=GNOME Login Sound Comment=Plays a sound whenever you log in Exec=/usr/bin/canberra-gtk-play --id="desktop-login" --description="GNOME Login" OnlyShowIn=GNOME;Unity; AutostartCondition=GSettings org.gnome.desktop.sound event-sounds X-GNOME-Autostart-Phase=Application X-GNOME-Provides=login-sound X-GNOME-Autostart-enabled=false
Código:
He intentado jugar copiando dichas "condicionales" al archivo para mi aplicación pero sin éxito. Igual podría partir del creado y cambiar solo la instrucción, pero pregunto aquí ¿cuál es la "manera correcta" de hacerlo?. No creo Ubuntu no pueda resolver esto de manera automágica ...# ~/.config/autostart/java.desktop [Desktop Entry] Type=Application Exec=/usr/local/bin/tomighty Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=Tomighty Name=Tomighty Comment[en_US]= Comment=
Gracias de antemano