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

Signaler
Messages postés
2
Date d'inscription
mardi 29 octobre 2019
Statut
Membre
Dernière intervention
29 octobre 2019
-
Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
-
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

3 réponses

Messages postés
35915
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 691
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…

Messages postés
2
Date d'inscription
mardi 29 octobre 2019
Statut
Membre
Dernière intervention
29 octobre 2019

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,
Messages postés
2083
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2020
234
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
.

;-) Flachy Joe ;-)
"Qui ne se plante jamais n'a aucune chance de pousser !" Graf anonyme