Как предотвратить искажение вывода консоли UNIX в Windows?

Как предотвратить искажение вывода консоли UNIX в Windows?

Я обнаружил, что при подключении по SSH к виртуальным машинам UNIX из Windows консоль практически бесполезна.

По-видимому, существуют две основные проблемы:

  1. Экранирование символов (из цветов и клавиш курсора)
  2. Перезапись текста (в основном в Nano, но также и в терминале)

Первую проблему, похоже, можно решить с помощью чего-то вроде ConEmu.

Но вторую я просто не могу решить. Использование клавиши Delete в любом месте, истории команд в терминале или вверх/вниз или page-up/down в Nano просто перезаписывает полосы текста, в результате чего получается просто искажённая мешанина старых и новых символов.

Единственный способ обновить экран, который я нашел, — это использовать сочетание клавиш CTRL+L для переключения длинных строк, но это не совсем решение.

Это происходит в cmd.exe, Git bash и нескольких других, которые я пробовал. Как нормальные, здравомыслящие люди справляются с этим (кроме пользователей OSX/Linux!) ?

Привет, Дэйв.

решение1

Используйте Putty или NoMachine, никогда не было описанных проблем ни с одним из них.

решение2

Благодаря остальным комментариям я пошел по пути Putty и добился успеха.

Несмотря на то, что вход в систему требует больше усилий, это решает все проблемы, которые я описал выше.

Я отвечаю на свой собственный вопрос, поскольку мой вариант использования был связан с Laravel's Homestead, поэтому я подумал, что будет полезно поделиться тем, как я это сделал.

РЕДАКТИРОВАТЬ:Я собрал всю эту информацию и еще кое-что в одном сообщении в блоге, в котором описал, как использовать ConEmu и OpenSSH для решения обеих проблем, предоставляя при этом больше функциональности, чем PuTTY в одиночку:http://davestewart.io/blog/fix-windows-broken-ssh-console

Homestead основан на Vagrant, и информацию о том, как использовать Putty с Vagrant, я нашел здесь:

https://github.com/Varying-Vagrant-Vagrants/VVV/wiki/Подключение-к-вашей-виртуальной-машине-Vagrant-с-PuTTY

От тестирования внутриCmderэто дало мне подсказку, что ssh.exeпроблема была в самой Windows, поэтому я просто добавил Putty как новую консоль (хотя вы можете запустить ее отдельно) и, получив доступ к виртуальной машине, провел тестирование с помощью Nano, и это «просто заработало»:

введите описание изображения здесь

Я также обнаружил, что могу использовать SSH-клиент Git OpenSSH из командной строки.

cd <open ssh folder> ssh [email protected] -p 2222

Введите «yes», а затем «vagrant» в качестве пароля. Вуаля! Рабочий Nano.

Если вы хотите сохранить хост, то сначала запустите командную строку от имени администратора.

(Извините, если это все совершенно очевидно для всех вас, системных администраторов!)

Связанный контент