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

Web Perl Discussion :

[CGI] Lancement applications


Sujet :

Web Perl

  1. #1
    Invité
    Invité(e)
    Par défaut [CGI] Lancement applications
    Hello ! Comment lancer une application depuis un script Perl (sur le serveur). Par exemple si je veux lancer VLC ?
    Juste un test bidon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    use strict;
    use warnings;
    use CGI::Carp qw (fatalsToBrowser);
    use CGI;
    print "Content-type: text/html\n\n";
    my $buffer =  new CGI;
    my $name  = $buffer->param("name");
    if ($name eq ""){
    	system `vlc`;
    }
    else{
    	print $name;
    }

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    bonjour,


    Tu peux regarder dans les FAQs de Perl où sont décrites les méthodes principales d'appel à une commande/programme externe.

    Dans ton exemple, tu utilises "system" avec les backquotes ce qui n'est pas bon. Utilises soit l'un soit l'autre soit une des autres méthodes suivant tes besoins (récupérer sortie, fork pour créer un autre process etc.)

  3. #3
    Invité
    Invité(e)
    Par défaut
    D'accord donc pas de problème, ça se lance bien, mais par contre, comme c'est une application graphique, j'aimerai utiliser X pour l'afficher, et là je ne vois vraiment pas comment faire.

  4. #4
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Veux-tu simplement lancer une application graphique ? auquel cas je ne vois pas trop le problème ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Oui je veux utiliser une appli graphique, mais elle ne se lance pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use strict;
    use warnings;
    use utf8;
    use CGI::Carp qw (fatalsToBrowser);
    use CGI;
    print "Content-type: text/html\n\n";
    my $buffer =  new CGI;
    my $photo  = $buffer->param("donnees");
    my $path = "../images/".$photo;
    my $sortie;
    $sortie = `gpicview $path`;
    print $sortie;
    option parsing failed: Impossible d'ouvrir l'affichage*:

  6. #6
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Cette erreur ne vient pas de Perl mais de ton programme gpicview.

    Tu pourrais essayer de rajouter l'option "--display" à ta ligne de commande pour voir si cela change quelque chose.

    Exemple à adapter en fonction de ton affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sortie = `gpicview --display=":0.0" $path`;
    Cela fonctionne chez moi avec l'affichage :0.0 que j'ai obtenu en notant le résultat de la commande :
    A toi de voir quoi mettre pour ton cas

  7. #7
    Invité
    Invité(e)
    Par défaut
    le echo $DISPLAY me renvoie seulement :0 et ça ne marche pas.

  8. #8
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Là pour l'instant je ne vois pas mais voici peut être quelques pistes :

    Est-ce que tu essayes de lancer le programme en local ou à distance ?

    Est-ce que tu as essayé en mettant du style "hostname:0" où hostname est le nom de ton ordinateur en local ou à distance suivant les cas.

    Est-ce que tu as plusieurs écrans/display ? (Auquel cas ce n'est pas forcément "0" qu'il faut mettre)

    As-tu fais un test avec une autre application graphique ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    finalement mon script doit envoyer vers tty1. Donc j'utilise une appli qui afficher des images dans le framebuffer. J'utilise donc mais là aussi, rien.

    EDIT : j'ajoute que si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "bonjour" > /dev/tty1
    le .pl ça ne marche pas et ça marche depuis le tty2.


    En fait avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "bonjour" > /dev/tty
    ça marche depuis le script perl. Mais toujours pas avec l'application fbi. J'ai testé :

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    `fbi $path > /dev/tty1`
    sans résultats
    Dernière modification par Invité ; 21/02/2011 à 20h01.

  10. #10
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Question : est-ce que la commande suivante fonctionne en dehors de Perl si tu la lances directement depuis un shell ? Pas de problème de droits ??
    fbi -T 1 ton_image

Discussions similaires

  1. Lancement application à partir Browser
    Par MALAGASY dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/10/2005, 10h47
  2. Pb lancement application extérieure
    Par christellel198 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/10/2005, 15h01
  3. [vb][excel][MSPROJECT] lancement application
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/09/2005, 11h18
  4. Fermeture et delay de lancement application sur dos
    Par jason59 dans le forum Windows
    Réponses: 5
    Dernier message: 18/09/2005, 20h01
  5. [NetBeans] [4.1] lancement application
    Par hutchuck dans le forum NetBeans
    Réponses: 11
    Dernier message: 31/08/2005, 22h59

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