C'est un peu à mi-chemin entre la programmation et l'administration du serveur, mais cela semble finalement l'endroit le plus pertinent pour cela.
Je cherche un moyen de déterminer si la variable ' $DISPLAY
' annonce un XServer auquel nous pouvons réellement nous connecter, c'est-à-dire si toute l'authentification et tout le reste est en place pour permettre à d'autres choses de s'exécuter.
Je suis idéalement à la recherche d'un outil shell-end qui renvoie true / false, qui peut être utilisé dans un script de build pour déterminer si les autres tests qu'il contient (que je ne contrôle pas) doivent être exécutés ou non.
À l'heure actuelle, les tests vérifient simplement la env
variable " $DISPLAY
", et si elle est là, ils essaieront de se connecter, et lorsque la connexion ne fonctionne pas, les tests supposent l'échec du test, et non simplement l'affichage n'est pas connectable.
J'ai juste besoin de pouvoir faire
if [[ ! can_connect_to_X ]] ; then
unset DISPLAY
fi
Afin d'arrêter ces tests ayant de graves problèmes mentaux.
Dans une situation idéale, l'outil requis pour ce faire devrait être fourni avec les bibliothèques X Client lui-même, afin de ne pas encourir de dépendances spéciales et de pouvoir supposer que si l'utilitaire n'est pas là, nous ne pouvons pas nous connecter à aucun affichage.
Je suppose qu'il y a une meilleure solution. Mais vous pouvez toujours simplement utiliser un petit outil comme xclock et vérifier l'état de sortie.
Mais l' homme, qui est laid :-)
Moins Hacky, mettez ce qui suit dans checkX.c:
Alors:
Enfin:
la source
Voici un possible WayToDoIt, je ne sais pas à quel point c'est bon.
Cela semble fonctionner.
la source