Эмулятор веб-терминала с контролем ввода / вывода
Мы смотрим на создание веб-ssh для обучения Linux для новичков.
Однако мы хотим иметь возможность читать ввод перед тем, как он будет выполнен на внутреннем терминале, и читать вывод до того, как он отобразится в браузере, чтобы принимать решения в веб-приложении на их основе.
Я посмотрел в xterm.js, но не знаю, как включить этот вид управления с любым из существующих эмуляторов терминалов с открытым исходным кодом.
Любая идея, как начать?
1 ответ
Решение
Вам нужно создать надстройку xterm.js, аналогичную attach
аддон, но немного более интервенционный.
Через несколько пунктов вам придется:
- Подключите xterm.js и ваш бэкэнд через WebSocket
- Слушайте xterm.js
data
событие и после его обработки отправьте данные в сокет - Слушать
message
WebSocket событие и обработать сообщение, прежде чем записать его в терминал, используя#write
Быстрый взгляд на attach
Исходный код аддона также может быть полезным