Je dois ouvrir un navigateur et accéder à mon serveur avec l'adresse IP 1.2.3.4. Tout d’abord, j’envoie une requête ping à mon serveur et, si la requête n’échoue pas, je lance la page d’accueil dans un navigateur. Pour cela, j'ai écrit un fichier bash comme suit:
# add ip / hostname separated by white space
myHost=1.2.3.4
# no ping request
COUNT=1
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
# 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
else
firefox $myHost
fi
Mais je reçois un message d'erreur Error: no display specified
. Firefox ne se lance pas. Qu'est-ce que je fais mal.
Ce fichier est appelé toutes les 5 minutes à l’aide de cronjob
name__. cronjob
semble fonctionner correctement.
Vous devez spécifier l'affichage.
Ajoutez ceci à votre script avant d'exécuter Firefox
export DISPLAY=:0
votre script serait comme:
#add ip / hostname separated by white space
myHost=1.2.3.4
export DISPLAY=:0
# no ping request
COUNT=1
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
# 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
else
firefox $myHost
fi