Текст ssh не синхронизирован, когда OS X> ubuntu> amazon linux через iterm2

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

Как вы можете видеть здесь, и здесь, , когда я нажимаю Backspace, он думает, что это (левый) конец строки, но если я Ctrl + C , он вернется к нормальному состоянию и будет рассматривать закрывающую скобку как конец строки. Это может произойти при вставке, при нажатии стрелки вверх для перехода к предыдущим командам, Ctrl + r и т. Д.

В дополнение к этому иногда это заходит так далеко, как где команда, которую я набираю, похожа на целые 10 символов, скажем, если она нажмет стрелку вверх, чтобы просмотреть историю и попытаться отредактировать ее в строке. Текст, который он отображает на экране, отличается от того, где находится мой курсор или где я вставляю символы.

Я пробовал изменить некоторые кодировки символов, тип терминала отчетов и многое другое, но не смог это исправить.

Кто-нибудь знает, что я могу даже попытаться изменить?

0
задан 29 March 2018 в 10:56
1 ответ

Сначала я бы проверил настройки эмуляции вашего терминала. На данный момент у меня нет под рукой Mac, но попробуйте echo $ TERM и посмотрите, что это такое. Обычно для ssh я использовал vt100 или xterm или иногда ansi . Возможно, вы захотите попробовать все вместе другое терминальное приложение, оно существует.

Вы можете установить это (для каждого сеанса bash / sh), используя export TERM = vt100 , а затем снова попробовать свое ssh-соединение.

Другая причина, которая может вызвать проблему, - это просто очистить терминал. В Linux это можно сделать с помощью clear или CTRL + L (Mac, вероятно, разные). Это очистит всю прокрутку, иногда исправляя проблему с курсором.

Другая команда (в Linux, опять же, возможно, в Mac-эквиваленте), которая иногда исправляет это, - команда reset . Это сбрасывает различные настройки терминала, не знаю какие.

В старых версиях Solaris 7 мне приходилось использовать управляющие символы для сброса терминала. Не уверен, что это работает на Mac, но вы можете попробовать: эхо ^ [c . Это достигается одновременным нажатием CTRL + V, затем отпусканием CTRL + V и однократным нажатием клавиши ESC (чтобы получить карат). а затем просто букву C . Нажмите Enter, и терминал перезагрузится.

Если ничего из этого не изменит, я бы проверил конфигурацию sshd на стороне сервера на наличие чего-то необычного. Обычно это не так. Оттуда я бы проверил ненадежное соединение, кабель, коммутатор или сетевой адаптер. Раньше у меня были неприятные вещи на уровне 1 в сеансе ssh, когда иным образом не было очевидно, что что-то не так.

PS: здесь есть "более простой" CTRL + V ESC C ( echo -e ' \ 033c '): https://unix.stackexchange.com/questions/79684/fix-terminal-after-displaying-a-binary-file

0
ответ дан 5 December 2019 в 06:21

Теги

Похожие вопросы