Я заинтересован в написании веб-терминала, который может выполнять и автозаполнять команды в терминале Ubuntu.
Я возился с Anyterm http://www.anyterm.org, который использует ROTE: "простую C-библиотеку для«Эмуляция терминала VT102» на бэкэнд-сервере и javascript / html для пользовательского интерфейса терминала.Проблема заключалась в том, что я не мог открыть два терминала в одном и том же окне.
После некоторых исследований я решил написать терминальный сервер / псевдотерминал (в зависимости от того, какая терминология правильная) в Python, которыйможет:
- выполнять команды в терминале Ubuntu (например, ls, grep и т. д.)
- автозаполнять команды (например, $ gedi (нажатая вкладка) $ gedit)
- и имеют несколько экземпляров терминала, открытых одновременно (при вводе ls в одном, другой терминал не распознает ls как последнюю команду после своего другого сеанса терминала)
У меня естьобнаружил, что с модулем pty python я могу написать псевдотерминал, однако я новичок в python и даже не смог заставить пример на этой странице работать.
Я планирую, чтобы скрипт Python обслуживал http-сервер с терминалом javascript / html, который я бы написал (это было основной причиной, по которой я хотел выбрать python для этого проекта).Затем я хочу позволить веб-интерфейсу общаться с «сервером» внутреннего терминала и получать результаты обратно в веб-интерфейс.
Если бы вы могли указать мне правильное направление, возможно, скажите мне, какой модуль мне следует использовать -if not pty-, и дайте мне несколько идей о том, как написать сервер псевдотерминала python, я был бы признателен.
Я знаю javascript / php и знаком с сценариями bash. На этом этапе я мог бы использовать бэкэнд-сервер на основе C или Python, подходит ли python для этого проекта?
Примечание: я планируюнаписать пользовательский интерфейс, который использует ajax post или методы get для получения вывода терминала с внутреннего сервера.