Monit - problema para executar o programa que exibe a imagem

0

Estou trabalhando em uma máquina com Windows 7, com uma VM para o Ubuntu (disco de imagem: 12.04-desktop-i386.iso).

Na VM, instalei o Monit 5.3.2 e configurei alguns processos e aplicativos. Então criei um script para executar meu aplicativo. Este aplicativo deve exibir algum conteúdo na tela (estou basicamente exibindo duas imagens, usando Feh).

O problema é: se eu chamar meu script pela linha de comando, ele rodará ok e exibirá as imagens. Mas se eu passar por monit, parece estar funcionando ok, mas ele não exibe as imagens.No caso eu tente depurá-lo (depuração remota), então eu posso ver as imagens. Então eu estava supondo que isso poderia ser algum tipo de configuração, mas não descobri o que (mesmo usando a opção - eu não iria trabalhar).

Eu estou mostrando abaixo mais detalhes:

- Peça do script em Monit ----

check program runMediaHandler with path "/usr/bin/runMediaHandler.sh"
 if status == 1 then alert

-runMediaHandler.sh ----

#!/bin/bash
java -jar /home/thais/Desktop/MediaHandler_RC2.jar

Resumindo:

1.O que funciona:

  • se eu executar java diretamente: java -jar /home/thais/Desktop/MediaHandler_RC2.jar

  • se eu executar o script diretamente: runMediaHandler.sh

  • se eu depurar remotamente colocando um ponto de interrupção onde a imagem deve ser exibida

2.O que não funciona:

  • colocando essa informação no Monit para "verificar programa", escrito acima (mesmo se chamar monit -I start runMediaHandler)

Acredito strongmente que está relacionado a algum problema de segundo plano; caso contrário, por que ele exibiria a imagem usando a depuração remota?

Obrigado antecipadamente,

Thaís

    
por Thais M K Manfrin 29.06.2012 / 06:04

1 resposta

1

Estou apenas postando como resolvi, caso algum dia alguém precise de ajuda semelhante ...

No final, tentei algumas etapas que fizeram meu programa funcionar

  1. Não tenho certeza se necessário, mas eu executei a linha de comando (de acordo com o manual do monit) para fazer o monit rodar em primeiro plano:

    /usr/bin/monit -Ic /etc/monit/monitrc
    
  2. Eu mudei meu script para definir uma exibição e para executar com o meu usuário. Veja como está agora:

    #!/bin/bash    
    export DISPLAY=:0.0
    su -c "java -jar /home/thais/Desktop/MediaHandler_RC2.jar" thais
    
por Thais M K Manfrin 02.07.2012 / 09:18