Je suis intéressé par l'écriture d'un terminal basé sur le Web qui peut exécuter et compléter automatiquement les commandes dans le terminal ubuntu.Ecriture d'un pseudo terminal en python pour un terminal ubuntu basé sur le web
J'ai bidouillé avec Anyterm http://www.anyterm.org qui utilise ROTE: "une simple bibliothèque C pour l'émulation de terminal VT102" sur le serveur backend et javascript/html pour le terminal ui. Le problème était que je ne pouvais pas l'ouvrir deux terminaux dans la même fenêtre.
Après avoir fait quelques recherches, j'ai décidé d'écrire un serveur terminal/pseudo-terminal (selon la valeur la bonne terminologie) en python qui peut:
- exécuter des commandes dans le terminal ubuntu (comme ls, grep, etc. ...
- compléter automatiquement les commandes (comme $ gedi (onglet pressé) $ gedit)
- et avoir plusieurs instances de terminal ouvertes en même temps (quand ls est entré dans un, l'autre terminal ne reconnaîtra pas ls en tant que dernière commande depuis son autre session de terminal)
J'ai trouvé qu'avec pty python module je peux écrire un pseudo terminal cependant je suis nouveau sur python et je ne pourrais même pas obtenir l'exemple sur cette page pour fonctionner.
Je prévois que le script python servira un serveur http avec le terminal javascript/html que j'écrirais (c'était la principale raison pour laquelle je voulais choisir python pour ce projet). Ensuite, je veux laisser le web ui parler au terminal serveur "backend" et ramener les résultats à l'interface web.
Si vous pouviez me pointer dans la bonne direction, peut-être me dire quel module je devrais utiliser -si pas pty- et me donner quelques idées sur la façon d'écrire le serveur python pseudo terminal je l'apprécierais.
Je connais javascript/php et je suis familier avec les scripts bash - A ce stade, je pourrais opter pour un serveur backend basé sur C ou python, python est-il adapté à ce projet?
Remarque: Je prévois d'écrire une interface utilisateur qui utilise ajax post ou des méthodes pour extraire la sortie du terminal du serveur principal.
Vous confondez [ « terminal » et « shell »] (http : //superuser.com/questions/144666/what-is-the-difference-between-shell-console-and-terminal). –
@Ignacio Vazquez-Abrams vous êtes plus que bienvenu pour éditer et corriger la terminologie. – Logan
Mais alors ce que vous voulez va se diluer. Je vous recommande de regarder le but et les responsabilités de chacun et de décider où votre projet doit être divisé. –