Назад | Перейти на главную страницу

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

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

Кажется, есть 2 основные проблемы:

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

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

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

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

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

Привет, Дэйв

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

Благодаря остальным комментариям я пошел по пути 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/Connect-to-Your-Vagrant-Virtual-Machine-with-PuTTY

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

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

cd <open ssh folder> ssh vagrant@127.0.0.1 -p 2222

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

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

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