Эмулятор веб-терминала с контролем ввода / вывода

Мы смотрим на создание веб-ssh для обучения Linux для новичков.

Однако мы хотим иметь возможность читать ввод перед тем, как он будет выполнен на внутреннем терминале, и читать вывод до того, как он отобразится в браузере, чтобы принимать решения в веб-приложении на их основе.

Я посмотрел в xterm.js, но не знаю, как включить этот вид управления с любым из существующих эмуляторов терминалов с открытым исходным кодом.

Любая идея, как начать?

1 ответ

Решение

Вам нужно создать надстройку xterm.js, аналогичную attach аддон, но немного более интервенционный.

Через несколько пунктов вам придется:

  1. Подключите xterm.js и ваш бэкэнд через WebSocket
  2. Слушайте xterm.js data событие и после его обработки отправьте данные в сокет
  3. Слушать message WebSocket событие и обработать сообщение, прежде чем записать его в терминал, используя #write

Быстрый взгляд на attach Исходный код аддона также может быть полезным

Другие вопросы по тегам