Este é um meio termo entre a programação e o administrador do servidor, mas este parece ser o local mais relevante para isso.
Estou procurando uma maneira de determinar se a variável ' $DISPLAY
' está anunciando um XServer com o qual podemos realmente nos conectar, ou seja, se toda a autenticação e outros enfeites existem para permitir que outras coisas sejam executadas.
Idealmente, estou procurando por alguma ferramenta shell-end que retorne verdadeiro / falso, que pode ser usada em um script de construção para determinar se os outros testes nele (que eu não controlo) devem ser executados ou não.
No momento, os testes simplesmente verificam a env
variável " $DISPLAY
" e, se houver, tentam se conectar e, quando a conexão não funciona, os testes assumem a falha do teste, não apenas a tela não é conectável.
Eu só preciso ser capaz de fazer
if [[ ! can_connect_to_X ]] ; then
unset DISPLAY
fi
Para interromper esses testes com problemas mentais graves.
Em uma situação ideal, a ferramenta necessária para fazer isso deve ser fornecida com as próprias bibliotecas do X Client, para não incorrer em dependências especiais e poder assumir que, se o utilitário não estiver lá, não podemos conectar a nenhum monitor.
Eu estou supondo que há uma solução melhor. Mas você sempre pode usar uma ferramenta pequena como o xclock e verificar o status da saída.
Mas cara, isso é feio :-)
Menos Hacky, coloque o seguinte em checkX.c:
Então:
Por último:
fonte
Heres um WayToDoIt possível, não tenho certeza de como é bom.
Isso parece estar funcionando.
fonte