Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/05/2007, à 00:38

Strash

Cron et zenity.... incompatibles ?

Je suis en train de m'intéresser à la "programmation" de script bash, et ceci depuis que j'ai trouvé une utilité à un programme que je suis capable de faire.

J'ai donc un script qui télécharge un fichier sur internet, le compare à l'ancien, et s'il y a eu des modifications, préviens l'utilisateur et lui propose de l'ouvrir.

Voici le script :

#!/bin/bash
# Script de Réception du fichier d'emploi du temps, avec notification en cas de modification
cd ~/prog/
wget -O edt-new.pdf http://blabla.com/truc.pdf
if cmp edt-old.pdf edt-new.pdf &> /dev/null
 then
  exit
 else
  cp edt-new.pdf edt-old.pdf
  if zenity --question --title="Vérificateur d'emploi du temps" --text="Il y a eu une mise à jour de l'emploi du temps !\n Ouvrir l'EDT ?"
   then
    gnome-open edt-old.pdf
  fi
fi

Ce script fonctionne très bien (lorsqu'on y a mis une adresse valide), qu'il soit lancé en ligne de commande ou directement depuis nautilus.

Ce script n'a quasiment aucun intérêt s'il faut le lancer à la main. J'ai donc voulu utiliser cron. N'ayant jamais utilisé cette bête, c'était une bonne occasion de mettre en pratique ce que j'avais appris dessus.

J'ajoute donc la ligne à mon crontab :
5 * * * * ~/prog/edt
qui me permet de lancer le programme toutes les **H05.

J'ai testé et le programme se lance bien, le fichier est téléchargé... mais le message ne s'affiche pas lorsqu'il y a eu une modif...

D'où ma question : cron est-il allergique à zenity ? Comment le faire fonctionner ? Autre chose que zenity ?

Petite question bonus : Comment faire télécharger le fichier dans le répertoire courant du script ? (autrement dit : comment éviter d'avoir à modifier le cd ~/prog/ au début du script en cas de déplacement de ce script ?)

Dernière modification par Strash (Le 04/05/2007, à 00:38)

Hors ligne

#2 Le 04/05/2007, à 11:16

Strash

Re : Cron et zenity.... incompatibles ?

J'ai trouvé la solution (j'avais mal cherché)

il suffit de rajouter un --display=:0.0 dans les options de chaque programme qui doit afficher quelque chose de graphique (donc pour zenity et evince).

Par contre je n'ai pas trouvé pour ma deuxième question (un peu éloigné du sujet mais bon...)

Comment faire télécharger le fichier dans le répertoire courant du script ? (autrement dit : comment éviter d'avoir à modifier le cd ~/prog/ au début du script en cas de déplacement de ce script ?)

Merci

Hors ligne