Como mostrar o diálogo Java quando o cron executa o programa Java?

1

Eu fiz um pequeno programa em java que termina mostrando uma caixa de diálogo depois de fazer outras tarefas, como ler de uma web e escrever em um arquivo. Meu objetivo é fazer com que ele seja executado toda vez que meu sistema começar com 90 segundos de atraso. (@reboot sleep 90; ...). Ele já faz todo o trabalho bem (cria o arquivo que eu quero corretamente), mas o problema é que ele não mostra o diálogo. Se eu executar o script manualmente, funciona como eu quero.

Este é o script:

#!/bin/bash
javac /home/eneko/workspace/Comprobación\ página/src/Main.java
java -classpath /home/eneko/workspace/Comprobación\ página/src/ Main
exit 0

E é isso que eu escrevi no crontab (configurei para rodar a cada minuto só para tentar se funciona sem reiniciar):

* * * * * export DISPLAY=:0 && /home/eneko/Documentos/scriptComprobacionPagina.sh

Eu achei que o problema estava com export DISPLAY=:0 , como explicado aqui . Mas depois de tentar, estou com medo de perder alguma coisa. Eu não posso nem executar o amarok como no exemplo.

Obrigado antecipadamente!

    
por Eneko de la Torre 26.08.2015 / 16:58

1 resposta

1

Assumi que o cron era a única maneira de atingir meu objetivo, mas estava errado porque o cron é para iniciar trabalhos em segundo plano. Então eu tentei criar um arquivo .desktop e adicioná-lo ao Startup Applications e funcionou. O arquivo está em ~/.config/autostart e é isso que ele contém:

[Desktop Entry]
Type=Application
Name=Comprobacion
Exec=/home/eneko/Documentos/scriptComprobacionPagina.sh
Icon=
Comment=Sin comentario
X-GNOME-Autostart-enabled=true
    
por 01.09.2015 / 11:56

Tags