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

Fermé
mediabos Messages postés 2 Date d'inscription mardi 29 octobre 2019 Statut Membre Dernière intervention 29 octobre 2019 - 29 oct. 2019 à 08:31
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 4 nov. 2019 à 22:36
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
29 oct. 2019 à 08:37
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 mardi 29 octobre 2019 Statut Membre Dernière intervention 29 octobre 2019
29 oct. 2019 à 09:05
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 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
Modifié le 4 nov. 2019 à 22:43
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