Искаженный вывод из текстового редактора оболочки с использованием SSH (putty) из windows в mac

1

Я использую putty для SSH в Mac, если я пытаюсь отредактировать файл с помощью pico, nano или vi, я получаю вывод, похожий на этот:

[username]$ pico textEdit.txt

←)0←7←[?47h←[1;24r←[m←[4l←[?1h←=←[?1h←=←[?1h←=←[?1h←=←[H←[2J←[22B←[7m^G←[m Get Help  ←[7m^O←[m Write
←[1B←[7m^X←[m Exit←[6C←[7m^J←[m Justify   ←[7m^W←[m Where Is  ←[7m^V←[m Next Page ←[7m^U←[m UnCut Tx
t ←[7m^T←[m To Spell  ←[22;35H←[7m[ New File ]←[m←[H←[7m  GNU nano 1.2.4                 File: textEdit.txt ←[1;52H←[m

Есть ли какие-либо настройки, которые я могу изменить для putty или моей командной строки, чтобы обеспечить правильное отображение результатов? (Я не нашел ни одного)

РЕДАКТИРОВАТЬ: я использую plink, чтобы открыть туннель, если я открываю замазку обычным способом, он работает просто отлично

Я видел много решений использования графических редакторов поверх замазки, но я бы предпочел использовать редактор на основе оболочки для быстрого редактирования.

Йоаким
источник
Похоже, ваша TERMпеременная окружения установлена ​​неправильно.
Скотт

Ответы:

1

Вы не используете PuTTY. Вы используете plink. Есть разница

В Windows консоль по умолчанию работает несколько иначе, чем терминалы в Unixes, то есть она вообще не понимает escape-последовательности ANSI (а различные консольные программы используют специальные функции API для позиционирования курсора или изменения цветов).

Таким образом, PuTTY.exe - это не только SSH-клиент, но и полноценный эмулятор терминала. Точно так же, если вы используете sshкоманду Cygwin , она использует некоторый слой эмуляции терминала внутри cygwin1.dll.

Между тем plink.exeничего подобного не имеет, это только SSH-клиент. Это означает, что если вы запустите его в консоли Windows, вы всегда будете видеть необработанные управляющие коды в том виде, в котором они были отправлены, без какой-либо интерпретации.

Есть три возможных решения:

  • запустить plinkвнутри эмулятора терминала, такого как MinTTY;

  • установить sshиз Cygwin;

  • использовать PuTTY.exe- это действительно подключить вас к оболочке; это программа с графическим интерфейсом только для того, чтобы иметь возможность использовать расширенные функции терминала.

grawity
источник
Спасибо за разъяснения, я подумал, что plink - это просто версия putty для командной строки, и они имеют те же функции. Я предполагаю, что использование терминала замазки не слишком большая проблема, по крайней мере теперь я знаю, в чем была проблема.
Иоаким