Lancer un programme graphique en .sh
index
Messages postés
1861
Date d'inscription
Statut
Membre
Dernière intervention
-
ryko1820 Messages postés 1677 Date d'inscription Statut Membre Dernière intervention -
ryko1820 Messages postés 1677 Date d'inscription Statut Membre Dernière intervention -
Bonsoir.
Je souhaite lancer un script .sh depuis un fichier .php sur ma machine.
Dans ce .sh il y'a un programme, appelons le ... "firefox".
Je souhaite lancer firefox via un ce script, mais ce dernier ne peut pas s'ouvrir car il n'y a pas d'interface graphique (logique) alors comment faire en sorte d'ouvrir firefox qui demande une interface graphique à partir de mon script shell ?
Comprenez-vous ?
Quelqu'un aurait une idée ?
Je vous remercie.
Je souhaite lancer un script .sh depuis un fichier .php sur ma machine.
Dans ce .sh il y'a un programme, appelons le ... "firefox".
Je souhaite lancer firefox via un ce script, mais ce dernier ne peut pas s'ouvrir car il n'y a pas d'interface graphique (logique) alors comment faire en sorte d'ouvrir firefox qui demande une interface graphique à partir de mon script shell ?
Comprenez-vous ?
Quelqu'un aurait une idée ?
Je vous remercie.
A voir également:
- Lancer un programme graphique en .sh
- Lancer un programme au démarrage windows 10 - Guide
- Changer carte graphique - Guide
- Mettre en veille un programme - Guide
- Programme demarrage windows - Guide
- Fichier batch pour lancer un programme - Guide
3 réponses
Sans être indiscret, quel est le but de ta manip ?
Ton fichier PHP est-il lancé en dehors d'un serveur HTTP ?
Je suppute que tu es sur un OS Unix-like.
Si tu dois chercher des informations sur une page web, utilise plutôt l'interface PHP à la bibliothèque cURL.
La doc PHP: Client URL Library
Des exemples: PHP/CURL -- using libcurl with PHP Il vaut mieux éviter les nullissimes exemples de la documentation PHP officielle!!!
Utilise ensuite les fonctions/bibliothèques nécessaires: XML Parse, outils fichiers, chaînes etc.
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
Ton fichier PHP est-il lancé en dehors d'un serveur HTTP ?
Je suppute que tu es sur un OS Unix-like.
Si tu dois chercher des informations sur une page web, utilise plutôt l'interface PHP à la bibliothèque cURL.
La doc PHP: Client URL Library
Des exemples: PHP/CURL -- using libcurl with PHP Il vaut mieux éviter les nullissimes exemples de la documentation PHP officielle!!!
Utilise ensuite les fonctions/bibliothèques nécessaires: XML Parse, outils fichiers, chaînes etc.
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
Pour tout dire, je souhaite lancer un fichier .sh (à savoir que c'est le logiciel Teamspeak client), hors ce dernier à besoin d'un affichage graphique quand il s'ouvre, hors, lorsque je donne l'ordre d'ouverture sur le serveur, il me dit qu'il n'y a pas d'affichage ... Du coup j'aurais aimé savoir s'il y'avait un moyen de pouvoir ouvrir mon programme en "émulant" un affichage sur la machine.
Le programme que je veux lancer se trouve sur le serveur.
Le programme que je veux lancer se trouve sur le serveur.
Salut,
en gros :
si tu autorises les connections entrante de ton afficheur X sur le client
alors tu peux utiliser
Pour sécuriser ça il faut utiliser la redirection de port à travers ssh, à démêler...
en gros :
si tu autorises les connections entrante de ton afficheur X sur le client
xhost +ip_du_serveur
alors tu peux utiliser
DISPLAY=ip_du_client:0.0 Teamspeak.shsur le serveur.
Pour sécuriser ça il faut utiliser la redirection de port à travers ssh, à démêler...
Dans ce cas je ne vois pas le rapport avec PHP. ! Lance plutôt un serveur vnc et lance y le client graphique.ou je ne sais quoi.
Connecte-toi au serveur vnc selon les besoins.depuis le/les clients autorisés. (configure iptables sous Linux par exemple)
Cette méthode sera bien plus robuste que de lancer le client graphique par Xforwarding ou l'antédiluvien xhost.
Connecte-toi au serveur vnc selon les besoins.depuis le/les clients autorisés. (configure iptables sous Linux par exemple)
Cette méthode sera bien plus robuste que de lancer le client graphique par Xforwarding ou l'antédiluvien xhost.
jisisv : Le souci dans son cas c'est que l'interface graphique est lancée par le serveur, pas par le client...
Mais, index, as-tu besoin de l'affichage ou tu as juste besoin que le prog se lance ?
Si tu as juste besoin du prog mais pas de l'affichage, tu peux utiliser xvfb.
Mais, index, as-tu besoin de l'affichage ou tu as juste besoin que le prog se lance ?
Si tu as juste besoin du prog mais pas de l'affichage, tu peux utiliser xvfb.
En fait je m'exprime mal.
- J'ai un .php qui exécute un fichier .sh dans le .php il y'a simplement une fonction qui exécute le script.
- Le .sh ouvre un logiciel nommé "ts3 CLIENT" => sur le serveur même.
HORS
ts3client a besoin d'une interface graphique pour s'ouvrir ... Et je ne sais pas comment on peut autoriser l'ouverture de l’exécutable vu qu'il devra être autorisé à utiliser un serveur X (d'affichage)
C'est plus clair ? :s
- J'ai un .php qui exécute un fichier .sh dans le .php il y'a simplement une fonction qui exécute le script.
- Le .sh ouvre un logiciel nommé "ts3 CLIENT" => sur le serveur même.
HORS
ts3client a besoin d'une interface graphique pour s'ouvrir ... Et je ne sais pas comment on peut autoriser l'ouverture de l’exécutable vu qu'il devra être autorisé à utiliser un serveur X (d'affichage)
C'est plus clair ? :s
Si un exécutable n'a pas d'option pour fonctionner sans X il lui faut X !
Après X peut être sur le client (même si l'exécutable est sur le serveur) en faisant du X forwarding et en utilisant par exemple "ssh -X" (ou du xdmcp mais il faut X d'installé et de configuré pour l'autoriser) pour se connecter sur le serveur.
Cela implique toutefois que le client qui lance l’exécutable sur le serveur ait un serveur X et que la configuration du démon sshd du serveur l'autorise.
Sur Windows je connais Cygwin qui propose un serveur X gratuit, sur Linux la question ne se pose généralement pas car la plupart utilisent déjà un environnement X qui lance alors l'application distante forwardée comme une application locale ... Normalement on se retrouve avec un $DISPLAY différent de null et pointant vers le client (si tout est bien configuré).
Après X peut être sur le client (même si l'exécutable est sur le serveur) en faisant du X forwarding et en utilisant par exemple "ssh -X" (ou du xdmcp mais il faut X d'installé et de configuré pour l'autoriser) pour se connecter sur le serveur.
Cela implique toutefois que le client qui lance l’exécutable sur le serveur ait un serveur X et que la configuration du démon sshd du serveur l'autorise.
Sur Windows je connais Cygwin qui propose un serveur X gratuit, sur Linux la question ne se pose généralement pas car la plupart utilisent déjà un environnement X qui lance alors l'application distante forwardée comme une application locale ... Normalement on se retrouve avec un $DISPLAY différent de null et pointant vers le client (si tout est bien configuré).