Forum Programmation.shell script pour lancer firefox avec CRON (2)

Posté par  .
Étiquettes :
0
16
sept.
2005
Bonjour,

J'ai écris 2 scripts de connexion internet (PPP-ON et PPP-OFF) que je lance avec CRON (pour info je possède uniquement un modem V90).
J'utilise ces scripts pour lancer une connexion internet le matin afin de récupérer des information traffic sur le site www.sytadin.tm.fr.
J'utilise CRON pour lancer le script PPP-ON à heure fixe, tout fonctionne bien. Par contre CRON refuse de lancer FIREFOX.
Syslog me montre que le CRON s'active, mais le FIREFOX ne se lance pas.
Pouvez vous m'indiquer comment lancer FIREFOX avec CRON afin de télécharger la page www.systadin.tm.fr.
Un script d'exemple me serait utile.

Merci, Philippe
  • # lis déjà les réponses :)

    Posté par  . Évalué à 4.

    à ton précédent post :
    https://linuxfr.org/forums/26/11477.html(...)

    d'ailleurs je sais pas si c'est nécessaire d'en rajouter une couche, mais wget est peut-être plus adapté que firefox dans ton cas ..
    • [^] # Re: lis déjà les réponses :)

      Posté par  . Évalué à -1.

      Je n'arive pas excecuter cette commande. Message d'erreur suivant:
      [philippe@localhost ~]$ echo 13 11 * * 1-5 mozilla-firefox -remote /a-path/index.html | crontab
      crontab: usage error: file name must be specified for replace
      usage: crontab [-u user] file
      crontab [-u user] { -e | -l | -r }
      (default operation is replace, per 1003.2)
      -e (edit user's crontab)
      -l (list user's crontab)
      -r (delete user's crontab)

      de plus la commande /usr/bin/mozilla-firefox -remote /a-path/index.html ne me lance pas le navigateur firefox mais son profil uniquement.
  • # wget

    Posté par  . Évalué à 2.

    Comme le monsieur du dessus te l'a dit,
    wget http://www.sytadin.tm.fr/tempsreel/general.gif(...)
    te permet de télécharger directement la carte. C'est à mon avis moins lourd.
    • [^] # Re: wget

      Posté par  . Évalué à 1.

      Merci ...
      La commande wget http://www.sytadin.tm.fr/tempsreel/general.gif(...) fonctionne bien.
      Par contre comment lancer le navigateur pour visualiser l'image general.gif avec cron ?
      • [^] # Re: wget

        Posté par  . Évalué à 2.

        Une fois que tu l'as sur ton disque, quel intéret de lancer un navigateur avec cron pour voir une image?. Fais le wget dans ~/Desktop (si tu utilise kde) et tu aura ton image affichée sur ton bureau.
        • [^] # Re: wget

          Posté par  . Évalué à 2.

          généralement cron n'est pas fait pour lancer des taches utilisateur genre lancer ooffice ou firefox.
          <mode caricature on>
          Un exemple criant serait que ton ordinateur reste allumé plusieurs jours et que tu ne sois pas là.
          Tous les jours, à 11h53, cron ouvre pour toi une session firefox. Or, il ne peut en y avoir qu'une. Donc il te met une petite fenêtre pour te demander sous quel profil tu veux lancer ta nouvelle session. Au bout d'une semaine tu rentres tu te retrouve avec un pc moitié bloquer, des fenêtres à cliquer partout.
          <mode caricature off>
          La solution en wget permet d'éviter ça puisque tout ce que cron fait est d'écraser tous les jours une image.

          Si tu veux à tout prix l'avoir affichée à ton réveil, regarde du coté de superkaramba ou gdesklets, ils ont des afficheurs légers qui peuvent trainer sur le bureau. Sinon, utilise l'image téléchargée comme fond d'écran :)
      • [^] # Re: wget

        Posté par  (site web personnel) . Évalué à 3.

        display(1) (de ImageMagick) ça marche bien aussi

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Mais comment faire ?

    Posté par  (site web personnel) . Évalué à 1.

    Il te suffit de positionner ta variable DISPLAY=localhost:0 (ça correspond au premier display de ta station de travail) et de faire un xhost localhost avant pour autoriser à tous les process venant de localhost de pouvoir afficher quelque chose sur ton serveur X. A prioris ça devrait fonctionner.

    Quoi ? Quelqu'un à dit pas super sécur ?
    • [^] # Re: Mais comment faire ?

      Posté par  . Évalué à 0.

      Effectivement ma commande display general.gif[0] avec CRON ne fonctionne pas.
      Par contre je ne comprend pas ton astuce avec localhost.
      • [^] # Re: Mais comment faire ?

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Le cron ne sait pas sur quel display X afficher le programme, il peut y en avoir plusieurs, ou sur une autre machine, va savoir.

        Le script à faire exécuter par ton cron utilisateur est :

        #!/bin/sh
        DISPLAY=localhost:0 # détermine l'écran d'affichage

        wget "http://...(...)" && display general.gif

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.