Эмулятор цветного терминала на основе SSH.NET

Я использую SSH.NET для создания терминального приложения для UWP.

На данный момент я могу отправлять/получать данные с помощью библиотеки, но я хотел бы сделать что-то вроде приложения PuTTY, которое показывает текст разными цветами или даже иметь возможность редактировать файлы с помощью редактора Linux vi.

Есть ли способ получить информацию о цвете/положении с помощью этой библиотеки?


person SuperJMN    schedule 14.06.2017    source источник


Ответы (1)


При реализации эмуляции терминала вам в первую очередь необходимо обрабатывать экран-коды ANSI, отправленные сервером.

В SSH.NET или .NET Framework такой поддержки нет.

Внедрить его самостоятельно — огромная задача. Реализация эмуляции терминала PuTTY, terminal.c< /a> содержит более 7000 строк кода. И это только часть обработки, рисунок отдельно.

Быстрый поиск в Google по запросу эмуляция терминала c# дает следующее:
https://github.com/munificent/malison-dotnet
(хотя у меня нет опыта работы с этой библиотекой)


Единственная часть этого на стороне SSH.NET — запросить эмуляцию терминала с помощью перегрузки SshClient.CreateShell, которая принимает аргумент terminalName (и его компаньоны).

person Martin Prikryl    schedule 14.06.2017