Я создаю свою собственную программу на основе Java, и она прекрасно работает с соединениями SSH и Telnet.Но теперь я хочу открыть локальное прямое соединение, например, xterm или gnome-terminal do.Я запускаю "bash -i -l" с ProcessBuilder и использую getInputStream () / getOutputStream (), и это похоже на работу.(Мне нужно вызвать redirectErrorStream (true)) Моя единственная проблема заключается в том, что bash, похоже, игнорирует переменную среды TERM и не генерирует никаких кодов ANSI.Я получаю подсказку, но при запуске 'ls -la' отсутствуют CR и цвет.Кроме того, он не отражает входные данные (как это происходит через соединение SSH).
Я использую библиотеку JCraft JCraft и вызываю setPtyType ("vt100") для соединений SSH.Как бы я это сделал при непосредственном запуске bash?
Я не использую pty, это нужно?Я думаю, что для распределения pty потребуется собственный код.Если да, то как работает pty.
Я пытался взглянуть на исходный код xterm, но это беспорядок.Теперь я помню, почему я никогда не вернусь к коду C.
Есть ли простое решение?
Спасибо.