2012-05-24 2 views
-2

Я хочу реализовать клиент ssh-терминала в веб-браузере. Мне нужно реализовать сервер для ssh-соединений в ruby. Существует библиотека net/ssh, но я не знаю, как обращаться с полноэкранными программами, такими как vim или midnight commander.SSH терминал в браузере

+0

И в чем ваш вопрос? –

+0

Извините за путаницу. Нет точного вопроса, который я хочу задать, мне просто нужно найти направление для googling для реализации моего приложения. – Ondra

ответ

3

Позвольте мне попытаться повторить ваши вопросы: вы пытаетесь эмулировать сеанс консоли SSH в веб-браузере. Кажется, что для большинства команд был реализован простой консольный ввод/вывод, но, похоже, появляется мусор, когда вы запускаете полноэкранные команды, такие как «vim» или «midnight commander».

Проблема, которую вы видите, связана с тем, как компьютеры UN * X обрабатывают полноэкранный вывод консоли на терминалах. Полноэкранные консольные приложения обращаются к библиотеке terminfo/termcap, чтобы определить escape-последовательности, необходимые для очистки экрана, удаления строки, вставки строки, установки курсора в определенную точку и т. Д. То, что вы видите, - это исходный вывод этих escape-последовательности, появляющиеся для терминального типа по умолчанию, который, скорее всего, основан на ANSI.

Чтобы решить вашу проблему, вы должны:

  1. определить тип терминала вашей консоли приложение Эмуляция - или вы можете заставить его что-то детерминированной.
  2. декодирует escape-последовательности для терминального типа, консультируя базу данных termcap/terminfo.
  3. Внедрение возможностей терминала в приложении веб-браузера.

В зависимости от технологического стека, который вы используете для реализации своего браузера, вы можете найти библиотеки, которые могли быть разработаны другими людьми для решения этой проблемы.

+0

Спасибо за репарацию моих вопросов, ключевые слова «terminfo» и «termcap» были точной вещью, которую я искал :) – Ondra

Смежные вопросы