Comment lancer un terminal avec un script shell exécuté dedans à partir de PHP ?

mediabos Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tou.te.s,

J'aimerais, à partir d'une page PHP lancer un terminal sur ubuntu avec un script qui s'exécute dedans.

Je ne veux pas que le script me renvoie le résultat dans la page php mais plutôt le voir tourner dans le terminal.

Je viens de tester avec la commande exec(), shell_exec() sans succès, au mieux j'ai un affichage sur ma page mais je n'arrive pas à lancer mon terminal avec le script qui tourne dedans.

Exemple 1 : si je veux à partir d'une page PHP lancer la commande linux (TOP) et que cela lance le terminal afin de voir le résultat

Exemple 2 : on lance à partir d'une page PHP un script "ping" qui lance le terminal à l'écran et on voit le ping tourner dedans.

Merci d'avance pour votre aide.

Cemal
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Je ne connais pratiquement rien à PHP, par contre j'utilise Yunohost qui a un application nommé Shell In A Box dont tu pourrais t'inspirer à défaut de la mettre en œuvre…

0
mediabos Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

C'est pas mal mais pas exactement ce dont j'ai besoin.

Je connaissais Yuno Host mais jamais checké du côté de Shell in a Box. Merci pour le conseil.

Si quelqu'un avait la solution avec le shell classique ?

Merci zipe31 ;)

Bonne semaine,
0
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Salut,
si je comprends bien, tu veux que le script PHP affiche un terminal sur le bureau et pas sur la page web ?

Il faut que ton script PHP lance la commande
sudo USER -c 'DISPLAY=:0 x-terminal-emulator -e "top" '

où USER est l'utilisateur dont la session est ouverte.
Il faut éditer le fichier sudoer avec
sudo visudo
pour que ça passe sans demander le mot de passe de l'utilisateur. Se référer à
man sudo.conf
.

0