Я пытаюсь создать SSH-клиент для веб-браузера (аналогично ajaxterm ).Я создал Python-сервер, который использует Paramiko SSHClient.invoke_shell(term='vt100')
и веб-сервер, который взаимодействует с внешним интерфейсом (HTML + AJAX).Система работает и отображает выходные данные, когда я посылаю команды через канал SSH, но выходные данные включают escape-последовательности VT100.
Если я правильно понимаю, что-либо, что я получаю из канала SSH, должно интерпретироваться как команды для окна терминала 24x80?Что означает, что escape-последовательности могут изменить цвет, очистить экран, удалить линии, изменить поведение линий ... (Я нашел хороший список здесь ) Что означает, что я не могу просто удалить их?
Я проверил источник Ajaxterm, но не смог понять, как можно использовать класс Terminal (чтобы я мог использовать его для своих целей).
Вопрос: какой самый простой способ интерпретировать поток вывода и правильно отобразить экран терминала в браузере?Другими словами, есть ли библиотека, которая анализирует вывод и сохраняет содержимое экрана для меня?
Если я неправильно понял внутреннюю работу терминалов, пожалуйста, дайте мне знать.У меня не было большого опыта с ними в прошлом.:)