10 votes

Ouvrir firefox à partir du fichier bash "Erreur : aucun affichage spécifié"

Je dois ouvrir un navigateur et accéder à mon serveur avec l'adresse IP 1.2.3.4. D'abord je fais un ping de mon serveur et si le ping n'a pas échoué 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 de mal ?

Ce fichier est appelé toutes les 5 minutes à l'aide d'une fonction cronjob . Le site cronjob semble fonctionner correctement.

5voto

Maythux Points 77506

Vous devez spécifier l'affichage.

Ajoutez ceci à votre script avant de lancer 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X