IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Ouverture de page Firefox depuis crontab


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 12
    Par défaut Ouverture de page Firefox depuis crontab
    Bonjour,

    J'ai essaye un script en bash pour me deconnecter automatiquement d'un site web a partir de 18h et eteindre automatiquement mon pc. Le probleme c'est que mon script passe dans le terminal et pas avec crontab...
    Voici mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/firefox
    firefox http://lesite/disconnection.php
    #sleep 1m
    #sudo poweroff
    Je sais aue c'est l'ouverture de page web qui ne fonctionne pas par crontab car j'ai fais un script de creation de fichier via crontab et ca fonctionne parfaitement.
    Avec quelques recherches internet j'ai vu qu'il fallait mettre un display=:0 mais j'ai un message d'erreur, lorsque je l'enleve et que j'execute dans le terminal il m'ouvre tout de meme la page donc je mets pas de display, d'autres disent que c'est la variable d'environnement PATH mais je ne sais pas quoi rajouter de plus... Sur les autres forum sois c'est resolu et ce n'est pas mon cas, sois il n' y pas de solutions...
    Ce qui est bizarre aussi c'est qu'un ami a exactement le meme script et ca fonctionne pour lui avec crontab.La difference est la version d'os, ubuntu 12.04 pour lui et 16.04 pour moi.

    Si quelqu'un a une idee ou a deja rencontre ce probleme, je suis preneur. Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Quand tu fais which firefox dans un terminal, que te répond-il?

    Il est plus simple de mettre le chemin complet dans le crontab, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/firefox http://lesite/disconnection.php
    C'est bizarre comme manière de procéder, car le cron s'exécute hors contexte utilisateur.

    Que doit-il se passer si plusieurs personnes avec des comptes différents sont simultanément connectées sur ton ordinateur?

    Chacune doit voir un "firefox" s'ouvrir sur son display?

    Cela dit, il faudrait au minimum savoir sur quel écran doit s'afficher le firefox, c'est-à-dire positionner la variable DISPLAY (en majuscules et exportée). Par exemple, chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export DISPLAY=/private/tmp/com.apple.launchd.UCHFrmhuuB/org.macosforge.xquartz:0
    Le problème est le même avec "at", mais au moins on pourrait le lancer depuis le login, ce qui répond à ma question précédente.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Bonjour,

    l'emploi de firefox est-il indispensable pour valider la page php ?
    quand bien même, wget, ou curl, doit pouvoir le faire aussi.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 12
    Par défaut
    Merci beaucoup pour votre aide
    Citation Envoyé par jack-ft Voir le message
    Quand tu fais which firefox dans un terminal, que te répond-il?

    Il est plus simple de mettre le chemin complet dans le crontab, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/bin/firefox http://lesite/disconnection.php
    C'est bizarre comme manière de procéder, car le cron s'exécute hors contexte utilisateur.

    Que doit-il se passer si plusieurs personnes avec des comptes différents sont simultanément connectées sur ton ordinateur?

    Chacune doit voir un "firefox" s'ouvrir sur son display?

    Cela dit, il faudrait au minimum savoir sur quel écran doit s'afficher le firefox, c'est-à-dire positionner la variable DISPLAY (en majuscules et exportée). Par exemple, chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export DISPLAY=/private/tmp/com.apple.launchd.UCHFrmhuuB/org.macosforge.xquartz:0
    Le problème est le même avec "at", mais au moins on pourrait le lancer depuis le login, ce qui répond à ma question précédente.

    Donc pour toi il faudrait quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 18 * * * /usr/bin/firefox http://blablbla
    dans crontab? Il me semble avoir déjà essayé mais je le referai pour en être sûr.

    Pour le DISPLAY il faut que j'effectue quelques recherches car je ne comprend pas du tout le "/private/tmp/com.apple.launchd.UCHFrmhuuB/org.macosforge.xquartz:0", pourquoi ca et pas autre chose? Je vais faire quelques recherches pour un peu plus comprendre a quoi sert le display. Par contre "at" quoi? Je n'ai pas compris non plus^^ En tout cas merci pour les pistes!


    Bonjour,

    l'emploi de firefox est-il indispensable pour valider la page php ?
    quand bien même, wget, ou curl, doit pouvoir le faire aussi.

    L'emploi de firefox n'est absolument pas indispensable, le but d'y arriver n'est pas en sois indispensable non plus. C'est juste que j'aimerai comprendre pourquoi firefox ne se lance pas avec crontab Ceci dit j'y avais pensé tout de m^me avec wget et même elinks mais aucun ne fonctionne. Et ca ne me dit pas pourquoi firefox ne se lance pas même si ca fonctionnait ^^ Mais merci aussi pour tes idées


    Malheureusement tout ce que je peux faire ce week end ce sont des recherches (ex sur display) car je n'ai pas acces a ma machine pour le moment...

  5. #5
    Membre éprouvé Avatar de RaphaelG
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2016
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2016
    Messages : 94
    Par défaut
    Je ne crois pas qu'une appli graphique peut se lancer depuis le cron.
    Elle s'afficherait où si l'utilisateur n'a pas de session ouverte ?

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par RaphaelG Voir le message
    Je ne crois pas qu'une appli graphique peut se lancer depuis le cron.
    Elle s'afficherait où si l'utilisateur n'a pas de session ouverte ?
    dans le DISPLAY spécifié explicitement, il suffit de préfixer pour qu'elle soit prise en compte dans l’environnement du processus lancé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    * * * * * user DISPLAY=:0 macommandeX

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Une application graphique peut être lancée par cron sous certaines conditions:

    - L'utilisateur associé à cette crontab dispose d'une session graphique X11 ouverte (le bureau est affiché) au moment où la commande doit s'exécuter. Sinon, on peut en créer une virtuelle avec Xvfb ou Xvnc.
    - La variable d'environnement DISPLAY passée au programme lancé par cron pointe vers le terminal graphique affichant cet environnement, en général DISPLAY=:0 mais pas toujours, ca peut être :1 ou autre chose. Certains programmes acceptent aussi l'option "-display :0".
    - L'écran n'est pas bloqué (pas de screen saver)
    - Le window manager ne demande pas un placement interactif des fenètres

    Un autre problème est qu'une fois lancé, ton firefox va ouvrir l'URL que tu lui passe mais va rester dessus, les commandes suivantes ne seront pas exécutées saus si tu met firefox en tâche de fond, mais alors il faudra mettre une temporisation et vérifier que l'URL a bien été accédée.

    Conclusion: une solution s'appuyant sur wget est bien plus adaptée ici !

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 12
    Par défaut
    Bonjour merci pour votre aide encore une fois,


    Which me retourne "/usr/bin/firefox"
    J'ai essaye plusieurs fois display mais rien ne passe que ce soit 0 ou 1...
    L'application peut fonctionner en mode graphique, la preuve c'est que mon ami y arrive et pas moi. C'est ca qui est curieux, nous avons exactement le meme code et ca ne marche que pour lui Mais j'aimerai bien comprendre pourquoi ou que faut il faire en plus pour que ca fonctionne avec mon ordinateur.




    Citation Envoyé par jlliagre Voir le message
    Une application graphique peut être lancée par cron sous certaines conditions:

    - L'utilisateur associé à cette crontab dispose d'une session graphique X11 ouverte (le bureau est affiché) au moment où la commande doit s'exécuter. Sinon, on peut en créer une virtuelle avec Xvfb ou Xvnc.
    - La variable d'environnement DISPLAY passée au programme lancé par cron pointe vers le terminal graphique affichant cet environnement, en général DISPLAY=:0 mais pas toujours, ca peut être :1 ou autre chose. Certains programmes acceptent aussi l'option "-display :0".
    - L'écran n'est pas bloqué (pas de screen saver)
    - Le window manager ne demande pas un placement interactif des fenètres

    Un autre problème est qu'une fois lancé, ton firefox va ouvrir l'URL que tu lui passe mais va rester dessus, les commandes suivantes ne seront pas exécutées saus si tu met firefox en tâche de fond, mais alors il faudra mettre une temporisation et vérifier que l'URL a bien été accédée.

    Conclusion: une solution s'appuyant sur wget est bien plus adaptée ici !
    Je n'ai pas tout compris il va falloir faire des recherches aussi. Et Comment mettre firefox en tache de fond? Est ce que c'est possible de faire ca en ligne de commande, rajouter une instruction en gros...
    Et wget ne fonctionne pas... Ou plutot devrais je dire la deconnexion ne se lance pas, peut etre que c'est le meme probleme que tu as souligne : il pointe sur l'URL mais n'execute pas les commandes. En tout cas merci pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Ouverture d'un userform depuis une page HTML
    Par Lucky062 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/05/2011, 07h42
  2. ouverture de pages impossible sous firefox
    Par decksroy dans le forum Windows Vista
    Réponses: 5
    Dernier message: 05/03/2007, 10h24
  3. [Forms9i]Ouvrir une page HTML depuis forms
    Par benjamin50 dans le forum Forms
    Réponses: 13
    Dernier message: 17/03/2005, 16h54
  4. [JAR]ouverture de fichier texte depuis executables jar
    Par julien31 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/03/2005, 15h53
  5. [web] lancer page HTML depuis un script perl
    Par lilou0210 dans le forum Web
    Réponses: 7
    Dernier message: 05/11/2004, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo